Thanks, it is interesting and helpful.
Yep, +inf is the result of dividing float values by zero. Sometimes if the steps are too small there's no difference in time1 and time2 so the difference of those two is 0. This leads to dividing by 0. It's a nice idea to add +0.0000001 to prevent displaying +inf.
yes. i'm sorry but it only does work with algodoo because of that. without lasers i disn't get it to work right otherwise this device would be phun compatible, too of course.
@KOCMOHABT
it calculates the roots with approxiamtions. because i don't want algodoo to make too much calculation steps because the more the slower it will get. it's a little problem with a multiple root. the approximation speed is slower if there is a multiple root. and because i only do 30 approximation steps (iterations) it's not exactly 0 but it's very small and nearly 0. maybe i will increase the number of iterations. thanks!
@Physicsguy
Yeah that's valid. And it's a function. But 2+2-(4^2)-3 is just a number if you simplify it.
2+2-(4^2)-3 = -15. And if your function is just a number, it's just a flat line. If you want curves and stuff you have to include a variable ( x ) to your function.
@dogwong
Way to complicated to explain in a few sentences and if you wouldn't have the maths knowledge it's even more complicated. But simply said it calculates y-values with x values from -5 to 5 in 0.1 steps. so there are a lot of points (110 to be exact). after that the points get connected with rectangles with the correct angle and length. it's called "linear interpolation".
for the derivaties it's the same but the y-values get calculated with Newton's difference quotient.
the roots are detected with an algorithm to approximate them. It's called "newton's method". sometimes the root's are detected twice or even thrice but i'm working on a better algorithm that can detect if a root has already been found. one can say it's intelligent
[EDIT]
ok, i improved the algorithm. now it reads the array of roots and detects if a root already is in it. the new root will be ignored then. the old algorithm only detected if the new root is the same one as the last one in the array.
a second advantage of the new algorithm is that it can detect more roots now (theoretically thousands). the old algorithm only detected roots if they weren't too close to each other (maximum was 21 roots).
I will update the scene today or tomorrow. when it's updated i rename the scene to "Graph Generator v1.1"
he means that it's just pointless to put sim.time into the controlleracc of the spawned circle. if you want sim.time you just can type in "sim.time" and you will get it. you also defined controlleracc as sim.time. now you have sim.time AND controlleracc for the simulation time. 2 variables for one same thing? one too much
you can make it run smoother by reposition the cylinder heads. now 2 go up, two go down. but make it different so that the first goes up, after 90 degrees the second one goes up, another 90 degrees and the third one goes up, and again after 90 degrees the fourth one has to go up. do you know what i want to say?
the problem with the bump can be solved by adding a mechanism that doesn't wiggle so much. just delete the spring and add an automatic brake to the hinge and it will be better but the mechanism can still be improved.
i also wanted to make a rocket with thrust vectoring. i have the concept in mind and tested a few things with success but until now i didn't make much with it because of problems with the thruster.
it works with bigger angles up to 720°
btw if you measure angles you can't get over 360° so there's no need for anything bigger than 360°. so there is not really a bug