Answer the question
In order to leave comments, you need to log in
How to describe uneven movement in a circle as a function?
I tried to describe the movement in a circle (actually an ellipse, but it doesn't matter) using a function.
I successfully implemented uniform motion in a circle using the y = sin(t)
and functions x = cos(t)
.
But with uneven movement it does not work. I put together a function c = f(t)
whose value increases and decreases in different areas. Then I added c in the function of uniform motion in a circle y = sin(c*t)
and x = cos(c*t)
. However, the result did not meet expectations, the speed of movement increased and decreased not smoothly, but jerkily, the movement made turns, and its speed did not correlate with the value of c.
An example of a function graph can be viewed here https://www.desmos.com/calculator/jejyw9nzwi
Is there any way to describe non-uniform circular motion as a function?
Answer the question
In order to leave comments, you need to log in
We need to take the integral of the function c: C(t) = ∫c(t)dt,
and then x = cos(Ct), y = sin(Ct).
If the function is so terrible that the integral cannot be taken, then the difur C'(t) = c(t,x,y) will have to be solved.
Let even in the simplest way C(t+h) := C(t) + hc(t,x,y). There are more complex ways, google "Runge-Kutta methods".
See the Dynamics section.
To derive the equations of motion, you need to compose and solve the differential. ur.
And since you need the movement to be accelerated, then in the equation d.b. forces
that give acceleration are taken into account.
By the equation, I mean this
scask.ru/b_book_tm1.php?id=50
Here, at this link, there is an equation for the dependence of the angle on time during accelerated movement along a circular trajectory, you can try to substitute them in your equations instead of the angle. And the parameter here will no longer be the angle, but the time. And the smaller the time interval, the smoother the points will fall on the trajectory.
scask.ru/b_book_tm1.php?id=50
How about limiting t to 2pi and multiplying that value by c ?
...
t += delta_angle * с(t);
angle = mod(t, 2*pi);
...
cos(angle)
sin(angle)
...
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question