Leksykon IT › Programowanie › Zachowawcze przesuwanie (conservative advancement)

Zachowawcze przesuwanie (conservative advancement)

Programowanie Svenska → Zaktualizowano: 2026-10-24

Metoda ciągłej detekcji kolizji, która przesuwa dwa ciała bezpiecznymi krokami — odległość między nimi podzielona przez maksymalną prędkość zbliżania — aż się dotkną.

Zamiast zgadywać albo na ślepo cofać czas, metoda oblicza, o ile ciała mogą się bezpiecznie przesunąć bez przenikania: nigdy dalej, niż pozwala obecny odstęp, przy danym górnym oszacowaniu prędkości zbliżania. Krok się powtarza, odległość jest mierzona na nowo (często algorytmem GJK), a ciąg zbiega do pierwszej chwili zetknięcia.

Technikę opisał Brian Mirtich w 1996 roku, a używa jej m.in. CCD w Bullecie. Daje poprawny, zachowawczy czas uderzenia i nigdy nie dopuszcza do tunelowania, ale każda iteracja kosztuje zapytanie o odległość, więc jest droższa niż speculative contacts. Rotacja komplikuje sprawę, bo punkt daleko od osi wirującego ciała porusza się szybko.

← Wróć do leksykonu