2009-03-27 19 views
8

Rozglądałem się trochę i nie mogę znaleźć tego, czego szukam, znalazłem "formuły kanoniczne", ale jaki jest najlepszy sposób na ich użycie? Czy muszę skalować każdy wierzchołkiem w dół? Czy jest jakiś lepszy sposób?Formuła macierzy rzutu prostopadłego?

formuła naprawdę mi pomóc, ale ja również poszukuje wyjaśnienia o blisko i daleko z płaszczyznach względem położenia widza

+0

Można dostać lepszą odpowiedź, jeśli poprosisz dokładniej - jest to dość ogólny. Podaj przykład tego, czym jest wejście do formuły i jakie jest oczekiwane wyjście. Jest to w zakresie algebry liniowej, więc może dać ci więcej google. –

Odpowiedz

9

Tutaj jest rozsądnym źródłem, które czerpie orthogonal project matrix:

Rozważmy kilka punktów: Po pierwsze, w oko przestrzeni, kamera jest umieszczona na pochodzenia i patrząc wprost w dół Z- oś. A po drugie, zwykle chcesz, aby twoje pole widzenia rozciągało się o tak samo daleko w lewo, jak i o po prawej stronie, a także o wiele wyżej niż z osi, jak poniżej. Jeśli tak jest, to oś Z przechodzi bezpośrednio przez środek widoku o wartości , a więc masz mieć r = -l i t = -b. W innych słowach możesz zapomnieć o r, l, t, i b łącznie, i po prostu zdefiniować swoją objętość widoku pod względem szerokości w, a wysokość h, wraz z Twoimi innymi płaszczyznami przycinania f oraz n . Jeśli zrobić te podstawienia do ortograficznych macierzy projekcji powyżej masz ten raczej uproszczoną wersję:

Wszystkie powyższe daje macierz, który wygląda tak (dodaj obrót i translację jako odpowiednie, jeśli "Wyobraź sobie twoją macierz transformacji, aby potraktować dowolną pozycję i orientację kamery).

A LaTeX rendering of the orthographic projection matrix http://www.codeguru.com/images/article/10123/3dproj20.gif

Powiązane problemy