Ciągła detekcja kolizji między dwoma ruchomymi czworościanami
Moje pytanie jest dość proste. Mam dwie czworościany, każda z aktualną pozycją, liniową prędkością w przestrzeni, prędkością kątową i środkiem masy (właściwie środkiem obrotu).
Mając te dane, staram się znaleźć (szybki) algorytm, który precyzyjnie określiłby (1), czy zderzą się w pewnym momencie, a jeśli tak, to (2) po jakim czasie zderzyły się i (3) ) punkt zderzenia.
Większość ludzi rozwiąże ten problem, wykrywając kolizje w trójkąt-trójkąt, ale to zmarnuje kilka cykli procesora w przypadku operacji nadmiarowych, takich jak sprawdzanie tej samej krawędzi jednego czworościanu względem tej samej krawędzi drugiego czworościanu po sprawdzeniu różnych trójkątów. Oznacza to tylko, że trochę zoptymalizuję. Nie ma się o co martwić.
Problem polega na tym, że nie znam żadnego publicznego algorytmu trójkąta trójkątnego CCD (ciągłej detekcji kolizji), który uwzględniałby samobrót.
Dlatego potrzebuję algorytmu, który byłby wprowadzany w następujące dane:
dane wierzchołków dla trzech trójkątówpozycja i środek obrotu / masaprędkość liniowa i prędkość kątowaI wyświetli:
Czy jest kolizjaPo jakim czasie doszło do kolizjiW którym punkcie w kosmosie doszło do kolizjiZ góry dziękuje za twoją pomoc.