Saya membuat sprite pada koordinat piksel yang tepat untuk menghindari efek kabur yang disebabkan oleh antialiasing (sprite adalah pixel-art dan akan terlihat mengerikan jika difilter). Namun, karena pergerakan objek melibatkan kecepatan variabel, gravitasi, dan interaksi fisik, lintasan dihitung dengan presisi subpixel.
Pada kecepatan screenspace yang cukup besar (lebih besar dari 2 atau 3 piksel) ini bekerja dengan sangat baik. Namun, ketika kecepatan kecil, efek tangga yang nyata dapat muncul, terutama di sepanjang garis diagonal. Ini bukan masalah lagi pada kecepatan screenspace yang sangat lambat (v << 1 pixel per detik) jadi saya hanya mencari solusi untuk nilai kecepatan menengah.
Di sebelah kiri adalah lintasan diplot untuk kecepatan besar, diperoleh dengan pembulatan koordinat objek yang sederhana. Di tengah Anda dapat melihat apa yang terjadi ketika kecepatan menjadi lebih kecil, dan efek tangga yang saya bicarakan. Di sebelah kanan, lokus lintasan yang ingin saya dapatkan.
Saya tertarik pada gagasan algoritme untuk memfilter lintasan untuk meminimalkan aliasing, sambil mempertahankan perilaku asli pada kecepatan besar dan kecil. Saya memiliki akses ke ,t, posisi dan kecepatan instan, serta jumlah nilai sebelumnya yang berubah-ubah, tetapi karena ini adalah simulasi waktu nyata, saya tidak tahu tentang nilai-nilai masa depan (meskipun jika perlu, estimasi dapat diekstrapolasi dengan asumsi tertentu) . Perhatikan bahwa karena simulasi fisika, perubahan arah mendadak juga dapat terjadi.
velocity.y / velocity.x
dengan faktor koreksi yang sebanding dengan kecepatannya.