Autor Wątek: punkty na powierzchni trójkąta  (Przeczytany 642 razy)

Offline wolfenstein

  • Użytkownik

# Grudzień 25, 2010, 15:37:52
Witam...
proszę o pomoc w rozwiązaniu takiego problemu:
mam dany trójkąt o wierzchołkach A, B i C
I mam na jego powierzchni jeden punkt, którego "położenie" mam zapisać w ten sposób, bym po dowolnej [!] zmianie pozycji jednego, dwóch, lub trzech z wierzchołków ABC mógł go z powrotem odpowiednio umiejscowić na tym trójkącie...
myślę że moje rozwiązanie może być podobne do sposobu określania koordynatów tekstur... ale nie wiem dokładnie, jak to zaimplementować. Zasadniczo potrzebuję dwóch algorytmów: pierwszy, który jako argumenty przyjmuje pozycje danego punktu na trójkącie, i pozycje jego wierzchołków, i zwraca "zakodowaną pozycje" tego punktu, a drugi który przyjmuje nowe pozycje wierzchołków trójkąta, "zakodowaną pozycje" punktu, i zwraca jego pozycje w postaci zwykłego wektora.

Dość zawile opisałem swój problem, ale mam nadzieje że ktoś mi pomoże.
z góry dziękuje za wszelkie rady.

Offline Mr. Spam

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

Offline Adam7

  • Użytkownik
    • warsztat.gd

# Grudzień 25, 2010, 16:28:28
Wydaje mi się że musisz poczytać o równaniach płaszczyzn i z tego wyliczać położenie punktu na nich.

Offline puchacz-I

  • Użytkownik

# Grudzień 25, 2010, 16:30:25
Pozycja punktu (p) to suma iloczynów wierzchołków (v1, v2, v3) i ich wag (a, b, c).
p = v1*a + v2*b + v3*cKrok pierwszy: rozwiązanie układu równań w celu wyliczenia wag wierzchołków.
Krok drugi: wyliczenie nowego punktu po przez podstawienie do wzoru nowych wierzchołków i wyliczonych wag.
« Ostatnia zmiana: Grudzień 25, 2010, 16:41:54 wysłana przez puchacz-I »

Offline Avaj

  • Użytkownik

# Grudzień 25, 2010, 18:04:22