-
Recent Posts
Recent Comments
- R.P. Churchill on TWSL Series 07: Discovery and Data Collection
- R.P. Churchill on A Simulationist’s Framework for Business Analysis: Round Two
- LN on A Simulationist’s Framework for Business Analysis: Round Two
- R.P. Churchill on Starting to Learn About the Java Memory Model
- R.P. Churchill on Multidimensional Arrays in Javascript
Categories
Meta
October 2025 M T W T F S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Tag Archives: JavaScript
A Simple Discrete-Event Simulation: Part 1
Some months ago I discussed some internal features of a discrete-event simulation. My next series of exercises and ruminations will proceed toward building one in JavaScript, using the simple pseudo-construct I outlined in the linked post. I’ll start with the … Continue reading
Hello, Fort Nelson, BC
Couple of things to report. One, the simulations of maintenance logistics I worked on with RTR Technologies, while working on and with the Aircraft Maintenance Model, incorporated a number of concepts. Many of these were defined in the NAMP (Naval … Continue reading
Posted in Tools and methods
Tagged animation, fast animation framework, general, JavaScript
Leave a comment
Hello, Fort St. John, BC
I’m getting to spend some quality time in Fort St. John, BC, only three hours from today’s starting point in Manning, AB. It wasn’t unexpected, having spent a lot of time simulating scheduled and unscheduled maintenance procedures. The stuff that … Continue reading
Reproducing A Clever Animation Product, Part 26
I got the basics of the fountain effect working. I defined forty elements, gave them random characteristics in a loop, set a delay of 1.5 seconds from the end of the previous animation element, then set the forty elements to … Continue reading
Reproducing A Clever Animation Product, Part 25
I sat down to add in the mods that would allow me to reproduce the fountain effect I’ve described, building on yesterday’s work, and immediately identified some issues. Those will have to be sorted out before proceeding. The animation capability … Continue reading
Reproducing A Clever Animation Product, Part 24
Today I added a new effect and applied it to a top tween that makes up the latest addition to the animation. The effect is based on this equation from the first class you take in physics: x = xo … Continue reading
Reproducing A Clever Animation Product, Part 23
Today I changed the form of specifying a tween effect. It was originally specified as a string (e.g., “linear” or “vibrate_right”) but now it is defined as an object literal. The first member field of the object has to be … Continue reading
Reproducing A Clever Animation Product, Part 22
I want to make the handling of the mMethod parameter in the bcDefineWhateverTween function more flexible and modular. As you can see in the code below, the parsing of the different types of methods or applied effects has to be … Continue reading
Reproducing A Clever Animation Product, Part 21
The last subject I wanted to explore was animation effects, which is to say defining tweens that proceed from beginning to end in a fashion that is other than linear, which is the default I’ve been using to this point. … Continue reading
Reproducing A Clever Animation Product, Part 20
Today I added the capability of adding a rotation tween, which I applied to a fourth element at the end of the previous animation. The tween definition is here:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
function bcDefineRotateTween(sElement,pStart,pEnd,tBegin,tDuration,mMethod) { var s = sElement+".style.transform='rotate("+pStart+"deg)';"; var alpha = Math.round(tBegin * 60.0); var steps = Math.round(tDuration * 60.0); var omega = alpha + steps; var increment = (pEnd - pStart) / steps; var angle = pStart; var index = bcActivitiesList[0].length-1; if ((alpha > 0) && (!bcChainFlag)) { for (var i=0; i<alpha; i++) { //> bcActivitiesList[i][0] = bcActivitiesList[i].push(s); } } if (!bcChainFlag) { index++; } for (var i=alpha; i<=omega; i++) { //> s = sElement+".style.transform='rotate("+angle+"deg)';"; bcActivitiesList[i][0] = index+1; bcActivitiesList[i][index] = s; if (mMethod == "linear") { angle += increment; } } for (i=omega+1; i<=bcFinalActivity; i++) { bcActivitiesList[i][0] = index+1; bcActivitiesList[i][index] = s; } bcClearChainFlag(); } |
Here’s the code added to handle rotations in the addTransformToList … Continue reading