Mam 3 zmienne reprezentujace punkt w plaszczyznie 3 wymiarowej - int x,y,z. Jak przeksztalcic ten punkt tak, aby byl on punktem w 2d uzywajac rzutu perspektywicznego? (Rzutowanie perspektywiczne na plaszczyzne) Czytalem w necie, ale nie wiem, jakie wzory zastosowac ... Prosze o pomoc :( Ogolnie, ciezko mi idzie myslenie w 3d, stad chyba moje problemy :/
Czyli, jesli mam np. punkt (x,y,z) i chce go przesunac o wektor (tx,ty,tz), robie cos takiego:
Mam macierz świata, w tym wypadku moim "światem" jest mój punkt (x,y,z), gdzie macierz swiata wyglada tak: [x,y,z,1] - niech to będzie macierzSwiat.
Następnie muszę ją pomonożyć przez macierz rzutowania - podaną na stronie podanej przez Ciebie z tym 1/D - otrzymuję jakąś macierz, nazwijmy ją macierzTemp. (czyli macierzSwiat * MacierzZD = macierzTemp)
Następnie, robię translację tego punktu o dany wektor, korzystając z macierzy translacji (mnożę macierzTemp przez macierz translacji - to rozumiem - macierzTemp * macierzTranslacji). Otrzymam wtedy przesunięty punkt 3D.
Ostatecznie, muszę zamienić ten punkt 3D na 2D ... i tu kłopot, bo tego nie wiem, jak to zrobić. No i jakby ktos zweryfikował, czy dobrze jest to, co napisałem powyżej ;)
Sorry, podana strona to oczywiście http://wazniak.mimuw.edu.pl/index.php?title=GKIW_Modu%C5%82_5_-_Reprezentacja_przestrzeni_tr%C3%B3jwymiarowej_na_p%C5%82aszczy%C5%BAnie :p