Skema timestep untuk simulasi fisika


8

Operasi yang digunakan untuk melangkah simulasi fisika paling umum:

  • Integrasikan kecepatan dan posisi
  • Deteksi dan resolusi tabrakan
  • Resolusi kontak (dalam kasus lanjut)

Beberapa waktu yang lalu saya menemukan makalah ini dari Stanford yang mengusulkan skema alternatif, yaitu sebagai berikut:

  • Deteksi dan resolusi tabrakan
  • Integrasikan kecepatan
  • Resolusi kontak
  • Mengintegrasikan posisi

Ini menarik karena memungkinkan solusi yang kuat untuk masalah penumpukan. Jadi itu membuat saya bertanya-tanya ...

Apa, jika ada, skema alternatif yang tersedia, baik yang sederhana maupun yang kompleks? Apa manfaat, kelemahan, dan pertimbangan kinerja mereka?

Jawaban:


2

Teknik yang saya temukan yang paling berhasil bagi saya selama ini adalah:

  • Integrasikan kecepatan

  • Deteksi tabrakan

  • Pemecah kendala (termasuk resolusi kontak)

  • Mengintegrasikan posisi

Rupanya ini disebut 'semi-implisit'. Saya telah menemukan itu menjadi yang paling stabil dari semua teknik yang saya coba. Saya menggunakan ini di mesin fisika di belakang Little Big Planet PSP.

Semoga ini bisa membantu!

Salam, Paul.


info latar belakang tentang "semi-implisit": gafferongames.com/post/integration_basics
mnagel

0

Skema lain yang saya temui adalah skema dari Position Based Dynamics tempat Anda:

  • Integrasikan kecepatan dan posisi (tidak dibatasi)
  • Deteksi tabrakan
  • Constraint solver (berbasis posisi)
  • Perbarui kecepatan dari posisi baru (pada dasarnya Anda mengintegrasikannya menggunakan kekuatan kendala terkomputasi, seperti yang Anda lakukan untuk posisi)

Ini untuk menunjukkan bahwa memang ada skema lain. Masing-masing memiliki manfaatnya. PBD baik untuk kain misalnya, sedangkan pemecah kecepatan semi-implisit lebih cocok untuk rigid.

Langkah deteksi tabrakan harus berada di suatu tempat setelah posisi diperbarui, karena tidak masalah jika Anda meletakkannya sebelum atau setelah pembaruan kecepatan (kecuali jika Anda menggunakan kecepatan untuk deteksi kontinu). Hal-hal yang bisa semakin berantakan adalah Anda menggunakan metode tingkat tinggi seperti Runge-Kutta: di mana Anda meletakkan tabrakan saat itu dan seberapa sering? Saya pikir Kenny Erleben memiliki beberapa paragraf tentang ini (pendekatan malas dan bersemangat) pada awal tesis PhD-nya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.