This equally belongs in the Tools thread below, but it is a story from Whoa rather than The Wild, so I'll start with what it is before getting back to animation technicalities. An original normal S bound track has been adorned by wreckage from two puffers through a process that has conspicuously started in the iteration 130,000 image linked from the parent post. While the two rakes produced by normal puffers are synchronised in this regard, it is still 50-50 whether they will produce a pair of wreckage block pairs or disappear without trace and thus could be considered a 1 in 4 chance that this configuration would produce the maximum 4 wreckage piles per 96 cell puffer cycle, except that that was in another sense fully determined by the choice of seed pattern. Yes it is computationally irreducible. The track later gained a tagalong of the gap producing variety, hence the not quite symmetric double track. Gap producing and gapless tagalong heads are almost indistinguishable and both advance along the track at 2/3 speed, ultimately reaching the always 1/2 speed engine after 6 times as many iterations as there are cells ahead of them, which will be around 260,000 for this particular track should Whoa ever run quite that far. And then the whole structure started to erode from the rear as tracks and tagalongs often do, single tracks at 3/5 speed and "2 on gap" tagalongs (in this case the original track) at 4/7 speed. (Gapless tracks adjoining a longer track erode at 1/2 speed by the same process that defines the back of all longer track laying engines, while 3 on gap never establishes a stable erosion cycle, preferring to create additional tagalongs.) As you can see from the animation, the full erosion cycle of the compound track runs for 512 iterations, in that time eroding 2 full puffer cycles or 192 cells length from the track. It thus provides a clear example of period doubling, the full cycle producing just one ship which forms the only rake at an angle of other than 45 degrees yet discovered and thus without the flow synchronisation that applies to other rakes, but the consequences of that are another story. The erosion cycle contains periods when the track halves are eroding at their natural 4/7 and 3/5 speeds, but this is always soon interrupted by the 4/7 erosion's phase dependent interaction with wreckage. (By way of comparison, 3/5 speed erosion is stopped by wreckage in 2 out of 3 phases, but that isn't applicable here.) In one phase, the 4/7 erosion hardly blinks, losing only 3 iterations before it reestablishes on the other side of the wreckage. Another phase is more chaotic, breaking the track and leaving debris. It is worth noting that the period doubling does not involve a change of the 4/7 speed phase relative to the wreckage but rather the interaction with the trailing 3 wide track. In one cycle the back track is blocked and eventually erodes backwards from the breach to the block while in the other it is eroding and the erosion reacts differently with the active breach, a difference which eventually produces a blocked rather than eroding track after the debris settles, thus doubling the cycle. But I really do need to get my priorities back on animating more of the great stories from The Wild while Whoa edges forward from now 185,000 whenever I'm away from the computer for long enough, and just leave the equally interesting stories from Whoa in the back of my mind and my ever expanding notes. So now about the jerkiness. Horizontal shake was the reason I had to refactor the pan zoom code a third time, an exercise held up by the very different distractions of consecutive weekends impacted by extreme heat. I basically decided the math would all be cleaner if it worked outwards from the centre of each frame rather than from the top left corner. I was also somewhat concerned that code which appeared to be working in the vertical dimension was clearly not working in the horizontal dimension, not realising that I had not actually tried to pan vertically, let alone diagonally. Anyway, it should be simple enough to adapt the final horizontal solution to the vertical. It is just gonna havta go back into the queue because I'm happy enough that the animation shown tells this story well enough for here and there are a few other things in and out of The Wild and Whoa crying out for more urgent attention. |