Discussion:
perspective-projection matrix aus der 3rd edition
(zu alt für eine Antwort)
Martin Grödl
2003-11-17 16:57:32 UTC
Permalink
hallo,
habe mir mal die matrix für die perspektivische projektion aus der 3.
ausgabe vom hearn & baker (equation 7-26) etwas genauer angesehn und bin
stutzig gworden:

wenn ich die Matrix (Mpers) mit einem allgemeinen Punkt P=(x,y,z,1)
multipliziere kommt ein Punkt Ph=(xh,yh,zh,h) heraus. (--> 7-25)
xh und yh jeweils durch h dividiert sollte dann xp bzw. yp laut formel
7-17 ergeben (und zh = z, falls sz=1 und tz=0).

gut, das hab ich mal nachgerechnet:

„ xh † „ zprp - zvp 0 -xprp xprp·zprp † „ x †
¦ ¦ ¦ ¦ ¦ ¦
¦ yh ¦ ¦ 0 zprp - zvp -yprp yprp·zprp ¦ ¦ y ¦
¦ ¦ = ¦ ¦·¦ ¦
¦ zh ¦ ¦ 0 0 sz tz ¦ ¦ z ¦
¦ ¦ ¦ ¦ ¦ ¦
… h ‡ … 0 0 -1 zprp ‡ … 1 ‡


„ xh = x·(zprp - zvp) - xprp·z + xprp·zprp †
¦ ¦
¦ yh = y·(zprp - zvp) - yprp·z + yprp·zprp ¦
= ¦ ¦
¦ zh = sz·z + tz ¦
¦ ¦
… h = zprp - z ‡


ok, jetzt xh und yh durch h dividieren:

„ xh † „ x·(zprp - zvp) - xprp·z + xprp·zprp †
¦ ———— ¦ ¦ ————————————————————————————————————— ¦
¦ h ¦ ¦ zprp - z ¦
¦ ¦ ¦ ¦
¦ yh ¦ ¦ y·(zprp - zvp) - yprp·z + yprp·zprp ¦
¦ ———— ¦ = ¦ ————————————————————————————————————— ¦
¦ h ¦ ¦ zprp - z ¦
¦ ¦ ¦ ¦
¦ zh ¦ ¦ sz·z + tz ¦
¦ ¦ ¦ ¦
… 1 ‡ … 1 ‡


„ x·(zprp - zvp) + xprp·(zprp - z) †
¦ —————————————————————————————————— ¦
¦ zprp - z ¦
¦ ¦
¦ y·(zprp - zvp) + yprp·(zprp - z) ¦
= ¦ —————————————————————————————————— ¦
¦ zprp - z ¦
¦ ¦
¦ sz·z + tz ¦
¦ ¦
… 1 ‡

wenn man das mit 7-17 vergleicht kommt man drauf das da was nicht passt...

andererseits mit folgender abgeänderter projektionsmatrix (änderungen
mit * gekennzeichnet) kommen genau die ergebnisse von 7-17 heraus:

„ xh † „ zprp - zvp 0 -xprp *xprp·zvp* † „ x †
¦ ¦ ¦ ¦ ¦ ¦
¦ yh ¦ ¦ 0 zprp - zvp -yprp *yprp·zvp* ¦ ¦ y ¦
¦ ¦ = ¦ ¦· ¦ ¦
¦ zh ¦ ¦ 0 0 sz tz ¦ ¦ z ¦
¦ ¦ ¦ ¦ ¦ ¦
… h ‡ … 0 0 -1 zprp ‡ … 1 ‡

ist das jetzt ein fehler im buch, oder hab ich irgendetwas übersehn???

mfg,
martin
Michael Wimmer
2003-11-17 19:14:30 UTC
Permalink
Post by Martin Grödl
ist das jetzt ein fehler im buch, oder hab ich irgendetwas übersehn???
Ja, das scheint ein Fehler im Buch zu sein, in der Matrix gehört tatsächlich
z_vp statt z_prp, allerdings ist das völlig konsequenzlos, da x_prp in unserem
Fall sowieso 0 ist...

Michael Wimmer

-- Dr. Michael Wimmer--------------------------------------------------------
Institut fuer Computergraphik und Algorithmen tel: +43 (1) 58801 18687
Technische Universitaet Wien fax: +43 (1) 58801 18698
Favoritenstr. 9-11/5/E186 http://www.cg.tuwien.ac.at
A-1040 Wien, Oesterreich mailto:***@cg.tuwien.ac.at
-----------------------------------------------------------------------------
Loading...