Jika saya memiliki titik yang ingin saya tekan pada akhir atau selama busur parabola, bagaimana saya menghitung kecepatan x dan y yang dibutuhkan?
20
Jika saya memiliki titik yang ingin saya tekan pada akhir atau selama busur parabola, bagaimana saya menghitung kecepatan x dan y yang dibutuhkan?
Jawaban:
Fungsi baki parabola didefinisikan sebagai:
Nilai yang dikenal:
Nilai tidak dikenal:
Untuk menghitung 'Vo', kita dapat memberikan nilai ke fungsi F:
Anda sekarang bisa mendapatkan semua nilai untuk mencapai target dari nilai asal yang memberikan nilai t ke dalam persamaan F:
sumber
Saya baru-baru ini harus menyelesaikan masalah yang sama, saya datang dengan dua solusi, berdasarkan rumus yang saya temukan di halaman wikipedia 'Dan the Man' yang telah disebutkan: Lintasan proyektil
Dalam solusi ini, Anda benar-benar memerlukan sudut peluncuran tetap atau kecepatan x. Kecepatan Y tidak diperlukan saat kami meluncurkan proyektil dalam sudut tertentu.
Solusi 1, sudut peluncuran ditetapkan, hitung kecepatan:
Solusi 2, kecepatan tetap, hitung sudut peluncuran:
Dalam kasus saya, solusi ini bekerja dengan cukup baik.
sumber
Jika Anda tidak peduli apakah itu benar secara matematis, hanya saja itu terlihat cukup benar, hitung lintasan lurus dan buat proyektil Anda mengikuti lintasan itu, tetapi "dorong ke atas" di sepanjang garis normal sebagai fungsi dari jarak ke bawah segmen garis, sehingga naik saat mendekati tengah segmen dan jatuh saat menjauh dari tengah segmen garis.
Anda bisa menggunakan gelombang sinus untuk ini, menggunakan rentang derajat dari -90 hingga +90 (di mana -90 adalah titik kiri pada segmen garis, 90 adalah titik kanan, dan Anda lerp di tengah), dan kalikan hasilnya oleh konstanta untuk meningkatkannya.
Jika Anda membutuhkan jawaban matematika / fisik yang benar-benar benar, ini tidak akan membantu. Jika tidak, ini mungkin dapat bekerja dengan baik untuk Anda!
Jangan lupa, pemrograman game adalah tentang menggunakan ilusi yang terlihat benar (dan lebih murah untuk dihitung), bukan realisme.
sumber
Jika Anda hanya memerlukan sesuatu yang benar dan memiliki kecepatan tetap, Anda dapat menggunakan metode yang sangat sederhana ini.
Jarak bisa negatif tetapi tetap bekerja karena sudutnya juga tergantung pada jarak. Jika jaraknya negatif, sudut yang perlu ditambahkan juga negatif.
Anda harus bermain-main dengan distanceFactor untuk menemukan nilai yang tepat. Itu tergantung pada gravitasi dan kekuatan proyektil. Itu harus dekat 1 dibagi melalui jarak maksimum yang dapat dijangkau oleh proyektil.
sumber