Mengapa sebuah physics engine bisa melewatkan tabrakan? Dan bagaimana teori Uniform Continuity dari Analisis Real memberikan jaminan formal bahwa algoritma collision detection pasti berhasil — untuk setiap posisi, setiap waktu, tanpa pengecualian.
δ bergantung pada x₀. Artinya, resolusi waktu yang dibutuhkan bisa berbeda-beda di setiap titik lintasan. Tidak praktis untuk fixed-timestep game loop!
δ berlaku seragam untuk SEMUA titik. Satu Δt yang sama menjamin akurasi di seluruh lintasan — persis seperti yang dibutuhkan oleh fixed-timestep game engine!
Saksikan bagaimana Δt yang terlalu besar menyebabkan peluru menembus target (tunneling)
Derivasi formal Δt minimum menggunakan teori Kekontinuan Seragam
Misalkan posisi peluru sebagai fungsi waktu. Peluru bergerak dengan kecepatan konstan $v$ dari posisi awal $p_0$:
Posisi zombie tetap (atau bergerak perlahan) di $p_z$. Fungsi jarak antara peluru dan zombie:
Fungsi $p_b(t)$ adalah Lipschitz continuous dengan konstanta $L = \|v\|$:
Karena setiap fungsi Lipschitz continuous adalah uniformly continuous, maka $p_b(t)$ uniformly continuous pada $[0, T]$.
Alternatif: Gunakan Teorema Heine-Cantor — setiap fungsi kontinu pada himpunan kompak $[0, T]$ adalah kekontinuan seragam.
Misalkan $R = r_b + r_z$ adalah radius gabungan (jumlah radius peluru dan radius zombie). Tabrakan terjadi saat $d(t) \leq R$, artinya zona collision memiliki "lebar" sepanjang lintasan sebesar $2R$.
Ini adalah ε dalam definisi uniform continuity — toleransi maksimum agar kita tidak melewatkan zona collision.
Dari sifat Lipschitz: jika $|t_1 - t_2| < \delta$, maka $\|p_b(t_1) - p_b(t_2)\| < v \cdot \delta$. Kita ingin ini kurang dari $\varepsilon = 2R$:
Perhatikan: δ hanya bergantung pada ε (yang ditentukan oleh R), bukan pada posisi spesifik $t_0$. Inilah esensi kekontinuan seragam!
Jika kita melakukan collision check setiap interval waktu $\Delta t \leq \delta$, maka perpindahan peluru antar-check tidak melebihi $2R$. Artinya, peluru tidak mungkin melewati seluruh zona collision tanpa terdeteksi.
Jika $\Delta t \leq \Delta t_{\min}$, collision detection dijamin berhasil untuk semua posisi — berkat Kekontinuan Seragam.
Hubungan antara Δt, kecepatan, dan probabilitas deteksi tabrakan
| Kecepatan (v) px/s | Radius (R) px | Δtmin = 2R/v | Δt aktual | Status |
|---|