Odległość między dwoma odcinkami w 3D

Sześciany. Wielościany. Kule. Inne bryły. Zadania i twierdzenia z nimi związane. Geometria rzutowa w przestrzeni.
szalejot
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 21 kwie 2011, o 10:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 2 razy

Odległość między dwoma odcinkami w 3D

Post autor: szalejot »

Witam,
jeżeli chodzi o geometrię w 2d to radzę sobie OK, w 3d zaczynają się schody.
W mojej aplikacji muszę wykrywać kolizje. W wieloma rzeczmi dałem sobie radę, ale mam pewien problem:
Dla danych dwóch odcinków (p1, p2) oraz (p3, p4), gdzie p1,p2,p3,p4 są punktami z przestrzeni trójwymiarowej, chciałbym móc określić odległość między odcinkami. Dokładniej ujmując intersuje mnie, czy dwa odcinki są w odległości bliższej niż pewno dane d (ale w sumie problem sprowadza się do tego samego).
Pewnym ułatwieniem może być fakt, że jeden z odcinków (powiedzmy (p1, p2)) jest równoległy do którejś z osi, tzn. na jednej ze współrzędnych punkty p1 oraz p2 mają tą samą wartość. W trakcie obliczeń możemy przyjąć, że wiemy na której (łatwe do sprawdzenia w programie)
W 2d problem jest trywialny, w 3d nie mogę go rozgryźć.
Nie oczekuję gotowych wzorów (chociaż nie ukrywam, że było by to miłe ) ale chociaż podpowiedzi czy pomysłu jak się za coś takiego zabrać.
Tomek_Z
Użytkownik
Użytkownik
Posty: 807
Rejestracja: 9 gru 2007, o 14:39
Płeć: Mężczyzna
Podziękował: 2 razy
Pomógł: 181 razy

Odległość między dwoma odcinkami w 3D

Post autor: Tomek_Z »

Jeżeli masz dane dwa punkty w \(\displaystyle{ \mathbb{R}^3}\) to możesz znaleźć równanie parametryczne prostej. Następnie bierzemy dowolne punkty z prostych i liczymy odległość między nimi (najlepiej do kwadratu aby pozbyć się pierwiastka). Otrzymamy w ten sposób funkcje dwóch zmiennych, możemy zatem próbować szukać ekstremum (a w Twoim przypadku minimum) lokalnego.

Jeśli nie do końca rozumiesz i widzisz o co mi chodzi to daj znać, zobrazuję wszystko przykładem.
szalejot
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 21 kwie 2011, o 10:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 2 razy

Odległość między dwoma odcinkami w 3D

Post autor: szalejot »

Rozumiem o co Ci chodzi, jednakże sposób ten jest dobry analitycznie, ale ja muszę go oprogramować. A oprogramowanie numerycznego rozwiązywania szukania minimum funkcji dwóch zmiennych mi się nie uśmiecha... Chociaż jak nie będzie innego wyjścia to będę musiał.
ODPOWIEDZ