lompilomp - I agree, this scene needs a lot of work.
lololoer - In real life this could be operated in batch mode as opposed to continuous operation. Even if that were done, the scene still has a number of flaws, as lompilomp mentioned above.
Good idea. Works well. My only suggestion is to rename the scene with something that describes the end product. I opened the scene and it wasn't immediately apparent what the modified spring was for. You do a good job explaining it on this page, but few people visit this page (about 7%, if the same people aren't hitting it multiple times). Maybe the scene can be named "Oscillating Actuator" or "Swing Spring" or "Push-Pull Spring" or "Push-Pull Mover Thing".
OK, so here's an idea for another scene. Have the spring length controlled by the rotation of a circle that is hinged to a box. Hinge works like a "Gumby" hinge. Connect two small circles with the actuator spring. Connect hinge box to one spring circle using a second "communicator" spring that relays the spring length to the actuator spring without the use of scene.my variables.
If you select any object, then you can fine position it with the arrow keys. If the hinge is not selected, then it will not move up and down with the arrow keys.
Did you start the scene, then place the cursor in the center of the smaller pink circle, and then the hinge became visible, and then pressed the up or down arrow, and then the spring length changed? If this doesn't work, then please let me know where it failed.
F21 is named correctly. View factor F12 is the fraction of total radiation from surface 1 that falls on surface 2. View factor F21 is the fraction of total radiation from surface 2 that falls on surface 1. F12 * L1 = F21 * L2. If L2 = 2 * L1, then F21 will be F12/2. The method only works as long as the 4 laser beams contact the corners of the surface 1.
Hottel's method works on curved surfaces and also when a third object blocks some of the radiation. This scene doesn't handle curved surfaces or partial blockage, but it probably could if I used (6) elastic bands for strings.
Yes, it can be used for a sling shot. Also, if you make the beads frictionless, then you can use it for measuring the distance between things or around things (if no gravity). Since there are 100 equal spaces between the beads, then all you have to do is determine the spacing between two adjacent beads and multiply that distance by 100.
This scene uses a function named scene.my.makeString(numOfBeads, spacing). You can use it to make a string with any number of circles.
P.S. An easier way to make an elastic band is to create two circles and three hinges; (1) hinge at the center of each circle and one hinge stretched between the circles. Select everything and "Use as chain". After chain is created, select the chain and set hingeConstant to 100 or any value you choose.
In my opinion, programmers should not disable standard Algodoo functions or change user settings without giving the users a choice. I'm already a little pissed off because I'm using Windows 8. Don't add to the frustration.
If you want a harder game, just increase the simulation speed. You could add an easy/hard switch to the game that just changes the controllerAcc. You could also factor in the time to complete the game in the final score. My vote would be to leave it as is and let the users increase the simulation speed for a harder game. Why make an easy/hard switch when there is already one built in?
Chemist has an interesting point. Tilting a plane changes the ball acceleration. I made a model ball on a plane in case you want to try it. The one limitation that I see is that the rate of change of acceleration (jerk) is fixed when an arrow key is pressed, whereas in real life, you can change the jerk by changing the rate of tilting.
Xray - I'm with you on this one. I can't get the ball more than half way around and I think the variable gravity approach is more difficult. Count me out as far as making any "improvements".