Ketika saya ingin memindahkan objek di sekitar titik saya lakukan:
point.x *= cosf(timer.timeElapsed);
point.y *= sinf(timer.timeElapsed);
Bagaimana cara membuat titik bergerak pada lintasan delapan atau tak terbatas?
mathematics
movement
trajectory
Yevhen
sumber
sumber
Seperti yang dicatat Marton, ada beberapa kurva "angka delapan" yang mungkin sesuai dengan kebutuhan Anda. Mungkin yang paling sederhana adalah lemniscate Gerono , yang memiliki parametrization:
dan terlihat seperti ini:
Namun, lemniscate Bernoulli mungkin secara visual lebih menyenangkan; ia memiliki parametrization yang sangat mirip dengan lemniscate Gerono, kecuali bahwa kedua sumbu diskalakan oleh faktor
1/(sin(t)^2 + 1) = 2/(3 - cos(2*t))
:Ini terlihat seperti ini:
(Animasi dibuat dengan Maple 13, dikompres dengan GIFsicle.)
sumber
Saya secara acak menemukan yang lain menggunakan rumus ini:
Seperti yang diplot oleh Wolfram Alpha :
sumber
t
. Saya akan merekomendasikan untuk menyertakan deskripsi tentang bagaimana Anda akan menggunakan rumus ini untuk memposisikan objek bergerak dari waktu ke waktu.Produk jarak dari titik mana pun pada kurva ke (-1, 0) dan ke (1,0) adalah konstan dan sama dengan 1.
sumber