Vypočítajte a znázornite trojrozmerný vizuálny objekt rovnomerného ihlanu v rovine snímky pomocou perspektívnej projekcie ak:
a.) Os objektu leží v osi snímania
b.) Os objektu je posunutá v horizontálnom smere
Obr. 1 Umiestnenie rovnomerného ihlanu v rovine 3D vizuálnej scény pre úlohu a)
Obr. 2 Umiestnenie rovnomerného ihlanu v rovine 3D vizuálnej scény pre úlohu b)
Predpokladajte, že snímka má raster 16x16 op, vzdialenosť kamery od scény je 15 op, a ohnisková vzdialenosť pre horizontálny i vertikálny smer rovná 10.
Matlab skript
View file | ||||
---|---|---|---|---|
|
Riešenie
Pre úlohu a) najprv z obr. odčítame hodnoty súradníc pre všetky body. Z obr. 1 je zrejmé že body a = (-2.5, -2.5, 0) , b= (2.5, -2.5, 0), c= ( 2.5, 2.5, 0), d= (-2.5, 2.5, 0) majú nulovú súradnicu z. Do priestoru vystupuje len bod e = (0, 0, 10).
Aplikáciou rovníc pre výpočet perspektívnej projekcie je možné vypočíta súradnice bodov v rovine snímky. Výsledné zobrazenie pre raster s rozmerom 16x16 op a stredom (i0, j0) = (8, 8) je zobrazené na obr. 3
Analogicky postupujeme pre úlohu b). Výsledná perspektívna projekcia je zobrazená na obr. 4.
Obr. 3 Perspektívna projekcia pre príklad a)
Obr. 4 Perspektívna projekcia pre príklad b)
Domáca úloha
Vypočítajte súradnice bodov v rovine snímky pre ortografickú projekciu.