1 / 23

CS 395/495-26: Spring 2003

CS 395/495-26: Spring 2003. IBMR: Week 5 A Back to Chapter 2: 3 -D Projective Geometry Jack Tumblin jet@cs.northwestern.edu. IBMR-Related Seminars. 3D Scanning for Cultural Heritage Applications Holly Rushmeier, IBM TJ Watson Friday May 16 3:00pm, Rm 381, CS Dept.

Download Presentation

CS 395/495-26: Spring 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 395/495-26: Spring 2003 IBMR: Week 5 A Back to Chapter 2: 3-D Projective Geometry Jack Tumblin jet@cs.northwestern.edu

  2. IBMR-Related Seminars 3D Scanning for Cultural Heritage Applications Holly Rushmeier, IBM TJ Watson Friday May 16 3:00pm, Rm 381, CS Dept. no title yet ...<BRDF, BRSSDF capture? Optics of Hair? Inverse Rendering?> Steve Marschner, Cornell University Friday May 23 3:00pm, Rm 381, CS Dept.

  3. 3D Homogeneous Coordinates Extend Projective space from 2D to 3D: • P2: • From 2D ‘world space’ (x,y) make • 2D homogeneous coordinates (x1,x2,x3). • 2D projective ‘image space’ (x’,y’) = (x1/x3, x2/x3) • P3: • From 3D ‘world space’ (x,y,z) make • 3D homogeneous coordinates (x1,x2,x3,x4). • 3D projective ‘image space’ (x’,y’,z’) = (x1/x4, x2/x4, x3/x4)

  4. 3D Homogeneous Coordinates • Unifies points and planes • (but lines are messy) • Puts perspective projection into matrix form • No divide-by-zero, points at infinity defined… in R3, write point x as But in P3, write same point x as: where: x1 x2 x3 x4 x y z x = x1 / x4, y = x2 / x4, z = x3 / x4, x4 = anything non-zero!(but usually defaults to 1) y (x,y,z) x z

  5. A Very Common Mistaek: • P2 homog. coords: 2D projective map (2D point3D ray is correct) • P3 homog. coords. 3D projective map ( But 3D point3D ray’ is WRONG!) (x,y) (x1, x2, x3) (x,y,z) (x1, x2, x3, x4) x2 x2 x3 y x x1 x1

  6. A Very Common Mistaek • P2 homog. coords: 2D projective map (2D point3D ray) • P3 homog. coords. 3D projective map ( 3D point3D ray’ is WRONG!) (x,y) (x1, x2, x3) (x,y,z) (x1, x2, x3, x4) x2 NO! Don’t confuse 3D ‘z’ with projective x4! x2 (x,y,z) x3 y x x1 x1

  7. P3: Point  Plane duality Recall Plane Equations in 3D: Normal vector: (a,b,c) = n Unaffected by scale k, with Min. Distance from plane to origin: d Write in 3D homog. coordinates: Point x and Plane  are duals (lines are not!) ax + by + cz +d = 0 ^ kax + kby + kcz + kd= 0 ax + by + cz +d = 0 a b c d x1 x2 x3 x4 = 0 xT.= 0

  8. 3D Homogeneous Coordinates • P2 homog. coords: 2D projective map (2D point3D ray) • P3 homog. coords. 3D projective map 3D point4D ‘ray’: --an impossible-to-draw plane in R4 with normal x1,x2,x3 --its 3D part is a ray through origin (x,y) (x1, x2, x3) (x,y,z) (x1, x2, x3, x4) x2 x2 (x,y,z) x3 x3 y x x1 (Approx. as many 2D planes of constant z) x1 (One 2D planeof constant z)

  9. 3D Homogeneous Coordinates P3 homog. coords. 3D projective map 3D point4D ‘ray’: --Superset of P2 transformations: --Includes translation, projection from any point H (x,y,z) (x1, x2, x3, x4) (x1’, x2’, x3’, x4’) (x,y,z) x2 x2 x3 x3 x1 x1 (Approx. as many 2D planes of constant z)

  10. Points Plane Conversions • Find plane  thru points P1,P2,P3? • Easy! Stack points: • Find null space (SVD) • (Rank 2? collinear points!) • OR: use 3D cross products:  = 0 PT1 PT2 PT3 1 2 3 4 p11 p12 p13 p14 p21 p22 p23 p24 p31 p32 p33 p34 = 0 (p1 - p3)  (p2 - p3) • • -p3T · (p1 p2) • = (p1 – p3)  (p2-p3) – x3•(x1  x2)  = (scalar)

  11. Points Planes in P3 Plane can define a 3D coordinate system (find u,v coordinates within plane, w along plane normal) • Because  is equiv. to plane’s normal vector • Find 3  vectors in P3 (null space of [0 0 0] ) • assemble them as columns of 4x3 M vector • To get 3D coords of any P3 point p:M p = x’ • Finds a 2D coords in P2plane (of ): x’ = u v w

  12. Lines in P3: Awkward • Geometrically, Lines are: • Intersection of 2 (or more) planes, • An axis or ‘pencil’ of planes, • Linear combo of 2 points, p1+ A(p2-p1) • a 4 DOF entity in P3; a 4-vector won’t do! • Symbolically: Three forms of P3 lines: • ‘Span’ : Null Space of matrix W • Plűcker Matrix • Plűcker Line Coordinates

  13. P3 Lines 1a: (Point-Point) Span W • Recall that a point xis on a plane  iff • if 2 given points A, B intersectwith a ‘pencil’ of planes on a line, • Define a ‘P3 line’ as that intersection: stack AT, BTto make 2x4 matrix W: W = • If line W contains the plane , then W  = 0 xT.= 0 B A A B T.= 0 a1 a2 a3 a4 b1 b2 b3 b4

  14. P3 Lines 1b: (Plane-Plane) Span W* • Recall that a point xis on a plane  if • If 2 given planes P,Q intersect ata ‘pencil’ of points on a line, • Define a ‘P3 line’ as that intersection: stack PT, QTto make 2x4 matrix W*: W* = • If line W* contains the point x,thenW* x = 0 xT.= 0 P Q xT.PQ = 0 p1 p2 p3 p4 q1 q2 q3 q4

  15. P3 Lines 1:Spans • (Point) Span W • (Found from points A,B) • Used to test plane : • (Plane) Span W* • (Found from planes P,Q) • Used to test point x: B W  = 0 A Useful property: WT W* = W* WT = 02x2 (the 2x2 null matrix) P Q W* x = 0

  16. P3 Lines 1: ‘Join’ reverses Spans... • Join Line W and Point p  Plane  W  = 0 iff plane  holds line W, andpT = 0 iff plane  holds point p; stack … Let M = ; solve for  in M  = 0 • Join Line W* and Plane  Point p W* p = 0 iff line W* holds point p p = 0 iff plane  holds point p; stack… Let M* = ; solve for p in M* p = 0 W pT W* 

  17. P3 Lines 2: Plűcker Matrices Line == A 4x4 symmetric matrix, rank 2, 4DOF • Line L through known points A, B: L = A.BT - B.AT = • LineL*through known planesP,Q: L* = P.QT – QPT Two forms: B A a1a2a3a4 b1b2b3b4 - b1 b2 b3 b4 a1 a2 a3 a4 P Q

  18. P3 Lines 2: Plűcker Matrices Line == A 4x4 symmetric matrix, rank 2, 4DOF • Line L through A, B pts: L = A.BT - B.AT • LineL*through P,Q planes: L* = P.QT - QPT • L  L* convert?Note that: • Skew-symmetric; • L’s has 6 params: or • Note det|L|=0 is written l12l34+ l13l42 +l14l23= 0 • Simple! Replace lijwithlmn so that {i,j,m,n} = {1,2,3,4}Examples: l12 l34,or l42l13 etc. l12l13l14l23l24l34 l12l13l14l23l34l42 (to avoid minus signs)

  19. P3 Lines 2: Plűcker Matrices • Join Line L* and Point p  Plane  L*.p =(if point is on the line, then L*.p = 0) Join Line L and Plane  Point p L. =p (if line is in the plane, then L. =0)

  20. P3 Lines 3: Plűcker Line Coords ==Plűcker Matrix has 6 vital elements: • Off-diagonals or • Just make them a 6-vector: and require that det|L| = 0, or: l12l13l14l23l24l34 l12l13l14l23l34l42 (to avoid minus signs) l12l13l14l23l42l34 L = l12l34+ l13l42 +l14l23= 0

  21. Projective Transformations • Use H for transforms in P3: • Has 15 DOF (4x4 -1) • Superset of the P2H matrix: Homework Hint: ProjA show P2 objects in R3 x1x,x2y,x3z; uses h11 h12 h13 h14 h21 h22 h23 h24 h31 h32 h33 h34h41 h42 h43 h44 H = h11 h12 0 h13 h21 h22 0 h23 0 0 0 0h31 h32 0 h33 h11 h12 h13 h21 h22 h21 h31 h32 h33 H2 = h11 h12 h130 h21 h22 h230 h31 h32 h330 0 0 01

  22. P3 Transformations • Transform a point p or plane  with H: • Lines 1: Transform a span: • Lines 2: Transform a Plűcker Matrix: p’ = H.p’ = H-T.  W’ = H.W W*’ = H-T.W* L’ = H.L.HT L*’ = H-T.L*.H-1

  23. END

More Related