Martin Grödl
2003-11-17 16:57:32 UTC
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
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