Sorry to hear that. On my PC everything works and the slowest thing is dragging a node, and that only takes a few seconds. In any case the simulation runs at over 90% of the simulation time when dragging nodes. How fast is it running on your PC? Select "File > Show sim-info" to display Sim-info.
Q: You allow the user to add damping to the spring, but is that something which can be done in a real life spring?
A: Yes, but not typically. Google "Coil Springs with Constrained Layer Visco-elastic Damping for Passive Isolation".
The reason I added damping is because Algodoo has spring damping and also so the spring rate display would stabilize faster.
It's interesting to note that the spring constant isn't (constant that is). It gets slightly lower with greater applied forces. This is because the spring diameter gets slightly larger as the spring is compressed.
Regarding "due to it being impossible to properly cut concave shapes", it is possible to cut concave shapes by doing the following:
1. Create a mechanism that creates the path of interest with a tracer.
2. Replace the tracer with a small circle.
3. Select the small circle and check the "follow" checkbox.
4. Glue a box, that is large enough to contain the complete path, to the background in a location away from other objects.
5. Select the eraser tool.
6. Place the eraser in the box and hold the right mouse button down.
7. Start the simulation.
8. The eraser will cut the path of interest in the box.
Q: Could it be that Algodoo uses sim frequency as a time base for calculating damping in much the same way that a time base is used for integrating the error in a PID loop?
A: I don't believe so. I would think that the "dT" value in the integral term is equal to 1/sim.frequency. That way the PID response would be independent of the time step. Maybe Kilinich can help us out here.
Thanks for looking at it. I figured that you might be the only one to go through it and was tempted to leave you a message on the last panel. Who knows, maybe there are some future engineers out there that might find it informative.
scene.my.getLn(2.0) yields 0.69335938 which is 0.003% off from the true value of 0.693147181
The way this works is it takes the square root of x 10 times in order to get it close to 1.0. Next, it subtracts 1.0 from the number since ln(1 + someSmallNumber) is approximately someSmallNumber. Next it multiplies the result by 2^10 since ln(x^n) = n * ln(x).
P.S. That's the way we used to do natural logs on a four function calculator.
Nice work on all your scenes. I was missing them because Algobox is overrun with marble races and such. I am now subscribed to your scenes. Keep up the good work.
Q: How would you calculate the maximum side force in real life, then?
A:
Ffv = u * N * Vv / (Vu^2 + Vv^2)^0.5
where
Ffv = tire sideways friction force
u = coefficient of sliding friction
N = normal force
Vv = tire sideways velocity
Vu = tire relative forward velocity
Details:
If the wheel is slipping, and has a normal force = N, and has a dynamic coefficient of friction = u, then the friction force Ff = uN, but you already knew that. The friction force vector in the forward direction of the tire Ffu, and the friction force vector opposing sideways movement of the tire Ffv must add up vectorially to the total friction force Ff which is in the direction of the relative movement between the tire and the road. So, if you know the relative velocity angle (theta) with respect to tire forward movement (u direction), then Ffu = Ff * cos(theta) and Ffv = Ff * sin(theta). Notice that if Vv = 0, then theta = 0, and Ffv = 0. In real life peeling out, Vu can be read on the speedometer or it can be calculated by wheel RPM * 2 * pi * wheel radius. Vv might be calculated by measuring the sideways tire movement per unit time on a high speed video.
So, if a car is peeling out, then it should be easy to push the car sideways if you push over the spinning wheels. This also means that if you slam on your brakes while going 60 mph, then a mild crosswind can push you sideways.
Thanks. I'm too lazy to make a road system at this time. Feel free to upload a scene with roads and this motorcycle. The motorcycle can be saved as a phunlet.
Q: How do you calculate traction between the tires and the background?
A: I assume a normal force and coefficient of friction. The max traction force is Ff = uN. For acceleration, the actual traction force is calculated from the accelerator power setting. Since power equals force times velocity (P = F * V), and the power and velocity are known, I can calculate the force, F = P / V. If F > Ff then F = Ff and the car is peeling out else F = P / V. F is the force applied to the forward thruster. For the side thruster, a side force proportional to side velocity is applied, up to a max of Ff, except when peeling out, then the side force is limited to 0.1 * Ff. Braking works in a similar (reverse) manner, except in that case the relative velocity is known and Ffu and Ffv are calculated.
Regarding "Very hard to control", is it the speed, steering, or both that is hard to control? Did you try going slower? The power and steering rate of change can be changed by changing the speed of the hinges that control them. Maybe increasing or decreasing the response time would help. Any suggestions might be welcome.
P.S. Were you going above the speed limit? Were you drinking at the time? Are you a little upset because the grass killed your car? Does this mean you won't be posting your time?