Autor Wątek: Troszeczke inne MTD.  (Przeczytany 1050 razy)

Offline taki_tam

  • Użytkownik

# Listopad 13, 2007, 19:19:40
Siema! ;)

Od razu zaznaczam, że nie jest to SAT.
Robie sobie własną kolizję. I chcę aby działała na zasadzie:
- sprawdzenie czy punkt leży na trójkącie(zrobione).
- jeśli tak to połącz punkt odcinkiem prostopadłym do każdej ze ścian.
- sprawdź który z nich jest najkrótszy.
- przesuń punkt o ten odcinek.

Pytanie jest takie. W jaki sposób mam połączyć punkt ze ścianą odcinkiem prostopadłym? Tzn. wiem, że to jest odcinek najkrótszy. Ale jak go wyliczyć?
Dokładnie chodzi mi o punkt 2.

Pozdrawiam! ;) kompustelnik taki_tam

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

RageX

  • Gość
# Listopad 13, 2007, 19:28:19
Iloczynem skalarnym... dot productem.
Tyle w temacie... :)

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Listopad 14, 2007, 12:49:07
Poszukaj czegoś o rzutowaniu (Projection) punktu albo wektora na płaszczyznę. To pewnie będzie to.

Offline taki_tam

  • Użytkownik

# Listopad 14, 2007, 15:28:38
Oo teraz się kapłem. W KMOD2D jest o wektorze prostopadłym.
Wydaje mi się, że to będzie to czego potrzebuje.

Pozdrawiam! ;) kompustelnik taki_tam

RageX

  • Gość
# Listopad 14, 2007, 19:04:56
No dobra... masz trochę pomocy... umysł odświeżę sobie ;)


Załóżmy że masz normalną tej płaszczyzny (jak nie masz to poczytaj o cross product'cie) i jest ona skierowana w stronę tego wierzchołka.

Odwrotność normalnej, to twój wektor kierunku...
w połączeniu z tym wierzchołkiem, masz promień.

Ten promień jest prostopadły do płaszczyzny...
teraz tylko punkt przecięcia promienia  z płaszczyzną wyliczyć - właśnie ktoś w tej sprawie temat założył. :)

Jeśli to ci nie pomoże?!  :P

Edit: To tutaj to odpowiedź na pytanie jak połączyć odcinkiem dowolny wierzchołek z płaszczyzną... aby wyliczyć odległość od płaszczyzny to wystarczy dot product na normalną... ale co ja tam się będę mądrzył. Sam znajdziesz jak będziesz lepiej szukał, interesował się. :)

« Ostatnia zmiana: Listopad 14, 2007, 19:08:19 wysłana przez RageX »