Regarding "animated, smoother feel", I had totally missed the point, but now that I see it, I like it. Not that it matters much, but I suggest gluing the base circle to the background, turning off gravity, and letting users know they can adjust the hinge constant to vary the response time.
There already is key that will erase the entire pattern and start a new one. It's called the Undo button.
P.S. Changed my thinking. If an erase button saves one click and there are thousands of uploads and each person draws multiple snowflakes, then an erase button could save thousands of touches, key-presses, or mouse clicks.
I used to hear stories of kids making it all the way over the swing. I was a little disappointed to find out that can't be done on a rope or chain swing.
Regarding "rock will slowly move and tip over", Xray and The Linkage knew about that. Feel free to balance the rocks so they stay balanced indefinitely and post the scene as a response.
The general solution turned out more complex than I expected:
a := math.atan2(((w3 / 2 + c1 * w4) / ((w3 + w4) / (cos(B) + u2 * sin(B) + (sin(B) - u2 * cos(B)) / u1)) - u2 * sin(B) - cos(B)), ((w3 + w4) * (h / (2 * L)) / ((w3 + w4) / (cos(B) + u2 * sin(B) + (sin(B) - u2 * cos(B)) / u1)) - u2 * cos(B) + sin(B)));
If you know of a simpler solution, then please let me know. Actually the simplest solution may be to just draw it in Algodoo and then let Algodoo figure it out.
The problem was math.toInt(+inf). Speaking of friction, I noticed that if the horizontal and inclined boxes are glued to the background, then the friction forces differ from the forces on the same boxes when they are double hinged to the background. When the boxes are glued to the background, then the sum of the forces in the x (or y) direction do not equal to zero, which they should.
It's like automatically changing the pivot point of a see saw to accommodate the weight of the riders. I suspect that the pulley mechanism is doing some work since the change in potential energy of the right spring is greater than the force times distance on the left rope.
S: When I ... ignore the changing mechanism.
R: Don't do that.
S: The pivot point remains exactly in the center.
R: While it's true that the pulley rotates about its center, the hinge that balances the left and right forces moves horizontally with respect to the ground.
The scene employs two robot arms, one arm is attached to ground and positions the pivot hinge to balance the right and left forces. The other arm is attached to the pulley and maintains the pulley location. The two arms are connected to each other with a freely rotating hinge.
Hopefully the explanation above helps out. If not, then you might be out of luck because I'm not sure if I understand it completely.
Other users should feel free to offer an explanation.
Suggestion: Make the scene so it starts all the way zoomed out as opposed to all the way zoomed in.
Details:
I was playing with this and noticed that it generates 6X faster when zoomed all the way out vs. all the way in. My suggestion would be to zoom all the way out (zoom = 0.01) and run the scene until the boxes start to become visible and then stop and save the scene. This way the new scene will appear to generate 15X faster and then the user can zoom in as opposed to zoom out.