Perspective Projections

Perspective Projections

AML710 CAD LECTURE 9 PERSPECTIVE PROJECTIONS 1. Perspective Transformations and Projections a) Single point b) Two point c) Three Point 2. Vanishing points and trace points Generalized 4 x 4 transformation matrix in homogeneous coordinates »a b c p … d e i q [T] = … …g i j r … l m n s Perspective transformations Linear transformations – local scaling, shear, rotation reflection Translations l, m, n along x, y, and z axis Overall scaling 1 Perspective Transformation If any of the first 3 elements in the last column of 4x4 transformation matrix is non-zero a perspective transformation results »1 0 0 0 … 0 1 0 0 [x y z 1]… = [x y z (rz +1)] …0 0 1 r … 0 0 0 1 * * * » x y z ÿ [x y z 1]= … 1Ÿ rz +1 rz +1 rz +1 ⁄ Perspective Projection To obtain perspective projection, we project the results of perspective transformation on to a any of the orthographic projection planes, say, z=0 plane. »1 0 0 0ÿ»1 0 0 0ÿ »1 0 0 0ÿ … Ÿ… Ÿ … Ÿ 0 1 0 0 0 1 0 0 0 1 0 0 [x y z 1]… Ÿ… Ÿ = [x y z 1]… Ÿ = [x y 0 (rz +1)] …0 0 1 rŸ…0 0 0 0Ÿ …0 0 0 rŸ … Ÿ… Ÿ … Ÿ 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1⁄ * * * » x y ÿ [x y z 1]= … 0 1Ÿ rz +1 rz +1 ⁄ 2 Perspective Projection – Scaling effect y screen e Projectors g a Im COP x ct je b O z t t c c e e j j b b O O COP Vanishing Point The Perspective Projection of a Point Consider the following figure where using similar triangles we can write the transformed coordinates as: x* x x = x* = z z − z z c c 1− zc y* y y = y* = *2 *2 2 2 z P* x + zc x + (zc − z) 1− zc Y* Let P X* z y 1 x y r = − ; x zc 1+ rz 1+ rz zc The origin is unaffected. If the plane of projection passes through the object, then that section of the object is shown at true size and true shape 3 Perspective projection of line parallel to z-axis A z 1. Perspective Vanishing transformation of AB point yields A’B’ A’ y B 1/r 2. Orthographic B’ projection of A’B’ gives the required A’’ projection A”B”on B’’ -1/r z=0 plane COP Projection plane x 1. The original line AB and transformed line A’B’ intersect the z=0 plane at the same point on it. 2. The line A’B’ intersects z axis at z=1/r 3. This point is called the vanishing point Perspective Transformation The effect of the perspective transformation is to bring a point at infinity to a finite value in the 3D space The entire semi-infinite positive space 0≤z≤∞ is transformed to finite positive half-space 0≤z*≤1/r A point at infinity can be shown to transform to a finite distance »1 0 0 0 … 0 1 0 0 [0 0 1 0]… = [0 0 1 1] …0 0 1 r r … 0 0 0 1 4 Perspective Transformations A Single Point Perspective A single point perspective transformation with respect to z- axis »1 0 0 0 … 0 1 0 0 [x y z 1]… = [x y z (rz +1)] …0 0 1 r … 0 0 0 1 * * * » x y z ÿ [x y z 1]= … 1Ÿ rz +1 rz +1 rz +1 ⁄ Now the perspective projection is obtained by concatenating the orthographic projection matrix »1 0 0 0ÿ»1 0 0 0ÿ »1 0 0 0ÿ … Ÿ… Ÿ … Ÿ 0 1 0 0 0 1 0 0 0 1 0 0 [T ] = [P ][P ] = … Ÿ… Ÿ = … Ÿ t z …0 0 1 rŸ…0 0 0 0Ÿ …0 0 0 rŸ … Ÿ… Ÿ … Ÿ 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1⁄ * * * » x y ÿ [x y z 1]= … 0 1Ÿ rz +1 rz +1 ⁄ 5 A Single Point Perspective A single point perspective transformation with respect to z-axis The COP is on +ve z-axis and the V.P is equal distance away on –ve z- axis Perspective Projection of a centered cube A Single Point Perspective A single point perspective transformation with respect to x- axis and y-axis are given below respectively »1 0 0 pÿ»1 0 0 0ÿ »1 0 0 p … Ÿ… Ÿ … 0 1 0 0 0 1 0 0 0 1 0 0 [T ] = [P ][P ] = … Ÿ… Ÿ = … t z …0 0 1 0Ÿ…0 0 0 0Ÿ …0 0 0 0 … Ÿ… Ÿ … 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1 » x y ÿ [x* y* z* 1]= … 0 1Ÿ px +1 px +1 ⁄ »1 0 0 0ÿ»1 0 0 0ÿ »1 0 0 0ÿ … Ÿ… Ÿ … Ÿ 0 1 0 q 0 1 0 0 0 1 0 q [T ] = [P ][P ] = … Ÿ… Ÿ = … Ÿ t z …0 0 1 0Ÿ…0 0 0 0Ÿ …0 0 0 0Ÿ … Ÿ… Ÿ … Ÿ 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1⁄ » x y ÿ [x* y* z* 1]= … 0 1Ÿ qy +1 qy +1 ⁄ 6 A Single Point Perspective Numerical Example: A single point perspective transformation has to be performed on a unit cube from a center zc=10 on the z-axis, followed by its projection on z=0 plane Sol:Since zc=10 , r=-1/ zc= -1/10= -0.1 The perspective projection matrix for this problem can be written as »1 0 0 0 … 0 1 0 − 0.1 [U ][T ] = [U ][P ] = [U ]… r …0 0 0 0 … 0 0 0 1 Two Point Perspective Projection The two point perspective projection can directly be obtained on similar lines as: »1 0 0 pÿ »1 0 0 pÿ … Ÿ … Ÿ 0 1 0 q 0 1 0 q [T ] = [P ] = … Ÿ = … Ÿ pq …0 0 0 0Ÿ …0 0 0 0Ÿ … Ÿ … Ÿ VP 0 0 0 1⁄ 0 0 0 1⁄ » x y ÿ [x* y* z* 1]= … 0 1Ÿ px + qy +1 px + qy +1 ⁄ »1 0 0 pÿ»1 0 0 0ÿ »1 0 0 pÿ … Ÿ… Ÿ … Ÿ 0 1 0 0 0 1 0 q 0 1 0 q [T ] = [P ] = [P ][P ] = … Ÿ… Ÿ = … Ÿ pq p q …0 0 0 0Ÿ…0 0 0 0Ÿ …0 0 0 0Ÿ … Ÿ… Ÿ … Ÿ VP 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1⁄ 7 Three Point Perspective Projection The three point perspective projection can be obtained on similar lines as: »1 0 0 pÿ»1 0 0 0ÿ »1 0 0 p … Ÿ… Ÿ … 0 1 0 q 0 1 0 0 0 1 0 q [T ] = [P ][P ] = … Ÿ… Ÿ = … t z …0 0 1 r Ÿ…0 0 0 0Ÿ …0 0 0 r … Ÿ… Ÿ … 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1 » x y ÿ [x* y* z* 1]= … 0 1Ÿ px + qy + rz +1 px + qy + rz +1 ⁄ Some Techniques to produce Perspective Projections Just applying the perspective transformation may not show all details. To view 3 faces of a cuboid, a translation, one or more rotations are used before applying the perspective projections. One translation followed by a single point Pers. Projn. »1 0 0 0ÿ»1 0 0 0 ÿ »1 0 0 0 ÿ … Ÿ… Ÿ … Ÿ 0 1 0 0 0 1 0 0 0 1 0 0 [T ] = [T ][P ] = … Ÿ… Ÿ = … Ÿ xyz rz …0 0 0 0Ÿ…0 0 0 −1/ z Ÿ …0 0 0 −1/ z Ÿ … Ÿ… c Ÿ … c Ÿ l m n 1⁄ 0 0 0 1 ⁄ l m 0 (1− n) / zc ⁄ Note that the scaling factor of (1-n)/Zc appearing in the above result. It is close to reality as the objects gets smaller away from the observerAs Zc h, the scale effect disappears 8 One translation followed by a single point Perspective The scale effect »1 0 0 0ÿ»1 0 0 0 ÿ »1 0 0 0 … Ÿ… Ÿ … 0 1 0 0 0 1 0 0 0 1 0 0 [T ] = [T ][P ] = … Ÿ… Ÿ = … xyz rz …0 0 0 0Ÿ…0 0 0 −1/ z Ÿ …0 0 0 −1/ z … Ÿ… c Ÿ … c l m n 1⁄ 0 0 0 1 ⁄ l m 0 (1− n) / zc y COP z -z -y One Rotation and Single Point Perspective Consider the transformation matrix for rotation about the y- axis by an angle φ, followed by a single point perspective projection on the plane z=0 from a COP at z=zc »cosφ 0 − sinφ 0ÿ»1 0 0 0 ÿ … Ÿ… Ÿ 0 1 0 0 0 1 0 0 [T] = [R ][P ] = … Ÿ… Ÿ φ rz …sinφ 0 cosφ 0Ÿ…0 0 0 −1/ z Ÿ … Ÿ… c Ÿ 0 0 0 1⁄ 0 0 0 1 ⁄ » sinφ ÿ …cosφ 0 − sinφ Ÿ Two Point … zc Ÿ … 0 1 0 0 Ÿ Perspective = cosφ …sinφ 0 cosφ − Ÿ … z Ÿ … c Ÿ 0 0 0 1 ⁄ 9 One Rotation and Single Point Perspective • Thus a single rotation about a principal axis perpendicular to the one on which the COP lies is equivalent to the two point perspective transformation. • However rotation about the same axis on which COP lies does not have this effect » sinφ …cosφ 0 − sinφ Two Point … zc … 0 1 0 0 Perspective = cosφ …sinφ 0 cosφ − … z … c 0 0 0 1 Two Rotations and Single Point Perspective Consider the transformation matrix for rotation about the y-axis by an angle φ, followed by rotation about the x-axis by an angle θ, and a single point perspective projection on the plane z=0 from a cop at z=zc »cosφ 0 −sinφ 0ÿ»1 0 0 0ÿ»1 0 0 0 ÿ … 0 1 0 0Ÿ…0 cosθ sinθ 0Ÿ…0 1 0 0 Ÿ [T ] = [R y ][Rx ][Prz ] = …sinφ 0 cosφ 0Ÿ…0 −sinθ cosθ 0Ÿ…0 0 0 −1/ zc Ÿ 0 0 0 1⁄ 0 0 0 1⁄ 0 0 0 1 ⁄ » sinφ cosθ ÿ …cosφ sinφ sinθ 0 Ÿ … zc Ÿ sinθ Three Point … 0 cosθ 0 − Ÿ Perspective = … z Ÿ … c Ÿ cosφ cosθ …sinφ − cosφ sinθ 0 − Ÿ … zc Ÿ … 0 0 0 1 ⁄Ÿ 10 Perspective Transformations: Vanishing Points There are two methods of finding VPs 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us