Algorytm dla trójkąta 3D

0

Witam.
Mam problem, muszę napisać algorytm związany z programowaniem 3D.
Ma on za zadanie wyliczyć y (głębię ekranu), po podaniu x i y (punktu), tak aby ten punkt należał do trójkąta (trzy wierczhołki z współrzędnymi x,y,z). Bardzo ważne jest, aby ten algorytm działa jak najszybciej!
Mam nadzieję że pomożecie, z góry dziękuję!

0

Akruat niedawno bawiłem się trójkątami :>

Na szybko wymyśliłem takie coś:

Niech punkt Q oznacza punkt którego Z szukamy.
Niech współrzędne X i Y punktu P będą takie jak współrzędne punktu Q
Niech punkt P należy do płaszczyzny N o stałym Z ( stoi sobie pionowo w przestrzeni )
Niech Z płaszczyzny Q będzie mniejsze od Z każdego punktu trójkąta ( płaszczyzna NIE przecina się z trójkątem )
Tworzymy półprostą z punktu P w keirunku punktu Q - zmieniać się będzie tylko współrzędna Z więc znormalizowany wektor będzie w formie V={0,0,1}

Przeprowadzamy zderzenie półprostej z trójkątem, algorytm powinien zwrócić odległość punktu przecięcia od trójkąta, nazwijmy tą odległość L.

Z punktu Q jest większe o L od Z punktu P
Q.Z = P.Z + L;

Googlujesz za "Ray Triangle Intersection" ( Półprosta Trójkąt Przecięcie ) I znajdujesz np Taki cuś

Teraz przestukujesz teorię tych dwóch sprytnych panów lub szukasz gotowca w necie i łączysz z moim badziewniackim algorytmikiem :>

0

Aha, dzięki spróbuje ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1