CS 395/495-26: Spring 2004

37
CS 395/495-26: Spring CS 395/495-26: Spring 2004 2004 IBMR: Intro to P IBMR: Intro to P 3 3 3 3 -D Projective Geometry -D Projective Geometry Jack Tumblin Jack Tumblin [email protected] [email protected]

description

CS 395/495-26: Spring 2004. IBMR: Intro to P 3 3 -D Projective Geometry Jack Tumblin [email protected]. 3D Homogeneous Coordinates. Extend Projective space from 2D to 3D: P 2 : map 3  2 dimensions (Easy to imagine) From 2D ‘world space’ (x,y) make - PowerPoint PPT Presentation

Transcript of CS 395/495-26: Spring 2004

Page 1: CS 395/495-26: Spring  2004

CS 395/495-26: Spring 2004CS 395/495-26: Spring 2004

IBMR: Intro to PIBMR: Intro to P3 3

33-D Projective Geometry-D Projective Geometry

Jack TumblinJack [email protected]@cs.northwestern.edu

Page 2: CS 395/495-26: Spring  2004

3D Homogeneous Coordinates3D Homogeneous CoordinatesExtend Projective space from 2D to 3D:Extend Projective space from 2D to 3D:• PP22: map 3 : map 3 2 dimensions 2 dimensions (Easy to imagine)(Easy to imagine)

– From 2D ‘world space’ From 2D ‘world space’ (x,y)(x,y) make make– 2D homogeneous coordinates 2D homogeneous coordinates (x(x11,x,x22,x,x33))..

– 2D projective ‘image space’ 2D projective ‘image space’ (x’,y’)(x’,y’) = = (x(x11/x/x33, x, x22/x/x33))

• PP33: map : map 44 3 dimensions 3 dimensions (Harder to imagine)(Harder to imagine)

– From 3D ‘world space’ From 3D ‘world space’ (x,y,z)(x,y,z) make make– 3D homogeneous coordinates 3D homogeneous coordinates (x(x11,x,x22,x,x33,x,x44))..– 3D projective ‘image space’ 3D projective ‘image space’

(x’,y’,z’)(x’,y’,z’) = = (x(x11/x/x44, x, x22/x/x44, x, x33/x/x44))

Page 3: CS 395/495-26: Spring  2004

3D Homogeneous Coordinates3D Homogeneous Coordinates– Unifies Unifies pointspoints and and planesplanes– (but (but lineslines are messy) are messy)– Puts perspective projection into matrix formPuts perspective projection into matrix form– No divide-by-zero, points at infinity defined…No divide-by-zero, points at infinity defined…

xx

yy

But in But in PP33, write , write same point same point xx as: as:where:where:

(x,y,z)(x,y,z)

in in RR33, , write point write point xx as as x

yz

x1 x2 x3

x4 x = x1 / x4,y = x2 / x4,z = x3 / x4,x4 = anything, even zero! (but usually defaults to 1)

zz

Page 4: CS 395/495-26: Spring  2004

A Very Common Mistaek:A Very Common Mistaek:• PP22 homog. coords: 2D projective map homog. coords: 2D projective map

(“one 2D point(“one 2D pointone 3D ray” is correct)one 3D ray” is correct)

• PP33 homog. coords. 3D projective map homog. coords. 3D projective map ( But “one 3D point( But “one 3D pointone 3D ray” is WRONG! It’s a one 3D ray” is WRONG! It’s a 4D4D ray) ray)

xx22

xx11

xx22

xx11

xx33

(x,y)(x,y) (x(x11, x, x22, x, x33)) (x,y,z)(x,y,z) (x(x11, x, x22, x, x33, x, x44))

(seen in some graphics books)(seen in some graphics books)

Page 5: CS 395/495-26: Spring  2004

A Very Common Mistaek:A Very Common Mistaek:• PP22 homog. coords: 2D projective map homog. coords: 2D projective map

(“one 2D point(“one 2D pointone 3D ray” is correct)one 3D ray” is correct)

• PP33 homog. coords. 3D projective map homog. coords. 3D projective map ( But “one 3D point( But “one 3D pointone 3D ray” is WRONG!)one 3D ray” is WRONG!)

xx22

xx11

xx22

xx11

xx33

(x,y,z)(x,y,z)

(x,y)(x,y) (x(x11, x, x22, x, x33)) (x,y,z)(x,y,z) (x(x11, x, x22, x, x33, x, x44))

NO! Don’t confuse 3D NO! Don’t confuse 3D ‘z’ with projective x‘z’ with projective x44!!

(seen in some graphics books)(seen in some graphics books)

Page 6: CS 395/495-26: Spring  2004

3D Homogeneous Coordinates3D Homogeneous Coordinates• PP22 homog. coords: 2D projective map homog. coords: 2D projective map

(A 2D point in P2 maps to a 3D Cartesian ‘ray’ through the origin)(A 2D point in P2 maps to a 3D Cartesian ‘ray’ through the origin)

• PP33 homog. coords. 3D projective map homog. coords. 3D projective map (A 3D point in P3 maps to a 4D Cartesian ‘ray’ through the origin)(A 3D point in P3 maps to a 4D Cartesian ‘ray’ through the origin)

xx22

xx11

xx22

xx11

xx33

(x,y,z)(x,y,z)

(x,y)(x,y) (x(x11, x, x22, x, x33)) (x,y,z)(x,y,z) (x(x11, x, x22, x, x33, x, x44))

xx33

P3: a scale-able 3D volume of points. P3: a scale-able 3D volume of points. Each point gets a Each point gets a 4D4D ray ray (constant x (constant x44 shown) shown)

P2: a scale-able 2D plane of points. P2: a scale-able 2D plane of points. Each point gets a Each point gets a 3D3D ray ray (constant x (constant x33 shown) shown)

Page 7: CS 395/495-26: Spring  2004

3D Homogeneous Coordinates3D Homogeneous Coordinates

PP33 = homog. coordinates = 3D projective map = homog. coordinates = 3D projective map 3D point3D point4D ‘ray’:4D ‘ray’:

----Superset Superset of Pof P22 transformations: transformations:--Includes translation, and projection from any point--Includes translation, and projection from any point

xx22

xx11

xx33

(x,y,z)(x,y,z)

(x,y,z)(x,y,z) (x(x11, x, x22, x, x33, x, x44))

(Approx. as (Approx. as many 2D planesmany 2D planes

of constant z)of constant z)

HH (x(x11’, x’, x22’, x’, x33’, x’, x44’)’)

xx22

xx11

xx33

Page 8: CS 395/495-26: Spring  2004

PP33: Point : Point Plane Plane duality dualityRecall Plane Equations in 3D: Recall Plane Equations in 3D:

Normal vector: Normal vector: (a,b,c) = n(a,b,c) = nUnaffected by scale k, withUnaffected by scale k, withMin. Distance from plane to origin: Min. Distance from plane to origin: dd

Write in 3D homog. coordinates:Write in 3D homog. coordinates:Point Point xx and Plane and Plane are duals are duals (?Lines? wait….)(?Lines? wait….)

ax + by + cz +d = 0

kax + kby + kcz + kd= 0

= 0x1 x2 x3 x4 abc d

xxT.T. = = 00T.T.x x = = 00

ax + by + cz +d = 0

Page 9: CS 395/495-26: Spring  2004

• Find plane Find plane thru points thru points PP11,P,P22,P,P33??– Easy! Stack points:Easy! Stack points:– Find null space (use SVD) Find null space (use SVD) – (Rank 2? collinear points!)(Rank 2? collinear points!)

• OROR: use 3D cross products: use 3D cross products::

PointsPoints Plane Conversions Plane ConversionsPPTT

11 PPTT

22 PPTT

33

= = 00

pp11 11 pp12 12 pp13 13 pp1414

pp21 21 pp22 22 pp23 23 pp2424

pp31 31 pp32 32 pp33 33 pp3434

11 22 33

44

= = 00

(p(p1 1 - - pp33) ) ( (pp2 2 - - pp33))••••

-p-p33T T · (· (pp1 1 pp22))

= = (pg 47 in Zisserman book)(pg 47 in Zisserman book)

Find ‘normal’ vector perpendicular to plane…Find ‘normal’ vector perpendicular to plane…

Page 10: CS 395/495-26: Spring  2004

Plane Plane can define a 3D coordinate system can define a 3D coordinate system (find u,v coordinates within plane, w along plane normal)(find u,v coordinates within plane, w along plane normal)

– Because Because is equiv. to plane’s normal vector is equiv. to plane’s normal vector– Find 3 Find 3 vectors in P3 (null space of [ vectors in P3 (null space of [0 0 00 0 0 ] )] )– assemble them as rows of 4x3 assemble them as rows of 4x3 MM vector vector – To get 3D coords of To get 3D coords of anyany P P33 point point p:p:

M p = x’M p = x’– Finds a 2D coords in Finds a 2D coords in PP22 plane (of plane (of ): ): x’ = x’ =

PointsPoints Planes in P Planes in P33

u u v v ww

Page 11: CS 395/495-26: Spring  2004

Lines in PLines in P33: : AwkwardAwkward• Geometrically, Lines are:Geometrically, Lines are:

– Intersection of 2 (or more) planes,Intersection of 2 (or more) planes,– An axis or ‘pencil’ of planes,An axis or ‘pencil’ of planes,– Linear combo of 2 points, Linear combo of 2 points, pp11+ A(p+ A(p22-p-p11))

– a a 44 DOF entity in P DOF entity in P33; a 4-vector won’t do!; a 4-vector won’t do!

• Symbolically: Three forms of PSymbolically: Three forms of P33 lines: lines:– ‘‘Span’ : Null Space of matrix: WSpan’ : Null Space of matrix: W– PlPlűűcker Matrixcker Matrix– PlPlűűcker Line Coordinatescker Line Coordinates

Skip this!Skip this!

Page 12: CS 395/495-26: Spring  2004

• Recall that a point Recall that a point xx is on a plane is on a plane iff iff

• if 2 given points if 2 given points A, B A, B intersectintersectwith a ‘pencil’ of planes on a line,with a ‘pencil’ of planes on a line,

• Define a ‘P3 line’ as that intersection:Define a ‘P3 line’ as that intersection: stack stack AATT, B, BTT to make 2x4 matrix to make 2x4 matrix W:W:

WW = =

• If line If line WW contains the plane contains the plane , then , then W W = 0 = 0

PP3 3 Lines 1a: (Lines 1a: (Point-PointPoint-Point) Span W) Span W

aa11 a a22 a a33 a a44 bb11 b b22 b b33 b b44

AA

BBxxT.T. = = 0 0 (or (or T.T.x=0 )x=0 )

.. = = 00AATT

BBTT

Page 13: CS 395/495-26: Spring  2004

PP3 3 Lines 1b: (Lines 1b: (Plane-PlanePlane-Plane) Span W*) Span W*• Recall that a point Recall that a point xx is on a plane is on a plane if if

• If 2 given planes If 2 given planes P,QP,Q intersect at intersect ata ‘pencil’ of points on a line, a ‘pencil’ of points on a line,

• Define a ‘P3 line’ as that intersection:Define a ‘P3 line’ as that intersection: stack stack PPTT, Q, QTT to make 2x4 matrix to make 2x4 matrix W*:W*:

W*W* = =

• If line If line W* W* contains the point contains the point xx,, thenthen W* W* x = 0x = 0

pp11 p p22 p p33 p p44 qq11 q q22 q q33 q q44

PP

QQ

P Q P Q TT . . x x = = 00

xxT.T. = = 0 0 (or (or T.T.x=0 )x=0 )

Page 14: CS 395/495-26: Spring  2004

PP3 3 Lines Summarized: SpansLines Summarized: Spans• (Point) Span W (Point) Span W

– (Found from points (Found from points A,BA,B))– Used to test plane Used to test plane ::

• (Plane) Span W*(Plane) Span W*– (Found from planes (Found from planes P,QP,Q))– Used to test point Used to test point xx: :

PP

QQ

AA

BB

WWT T W* = W* WW* = W* WT T = 0= 02x22x2 (the 2x2 null matrix) (the 2x2 null matrix)

W W = 0 = 0

W* W* x = 0x = 0

Useful property:Useful property:

Page 15: CS 395/495-26: Spring  2004

PP3 3 Lines 1: ‘Join’ reverses Spans...Lines 1: ‘Join’ reverses Spans...• Join Line Join Line WW and Point and Point p p Plane Plane

W W = 0 = 0 iff plane iff plane holds line holds line WW, and, andppTT = 0 = 0 iff plane iff plane holds point holds point pp; stack …; stack …

Let Let M = M = ; solve for ; solve for in in M M = 0 = 0 • Join Line Join Line W*W* and Plane and Plane Point Point pp

W* pW* p = 0 = 0 iff point iff point pp is on line is on line W*W* TT pp = 0 = 0 iff point iff point p p is on plane is on plane ; stack…; stack…

Let Let M* = M* = ; solve for ; solve for pp in in M* M* pp = 0 = 0

WW

ppTT

W*W*

TT

Page 16: CS 395/495-26: Spring  2004

Projective TransformationsProjective Transformations• Use H for transforms in Use H for transforms in PP33::

– Has 15 DOF (4x4 -1)Has 15 DOF (4x4 -1)– Superset of the Superset of the PP22 HH matrix: matrix:

Question:Question:? How could a 3D cube become a 2D image of ? How could a 3D cube become a 2D image of a cube in P3?a cube in P3?

hh11 11 h h1212 h h1313 hh2121 h h2222 h h2121 hh3131 h h32 32 h h3333

hh1111 h h1212 0 0 h h1313 hh2121 h h2222 0 0 h h2323 00 0 0 0 0 0 0 hh3131 h h3232 0 0 h h3333

hh1111 h h1212 h h1313 h h1414 hh2121 h h2222 h h2323 h h2424 hh3131 h h3232 h h3333 h h3434

hh4141 h h4242 h h4343 h h4444

H = H =

HHP2P2 = =

Page 17: CS 395/495-26: Spring  2004

PP33 Transformations Transformations• Transform a point Transform a point p p or plane or plane with with HH::

• Transform point span Transform point span WW or plane span or plane span W*W*::

• (Optional): Transform a Pl(Optional): Transform a Plűűcker Matrix:cker Matrix:

p’ = Hp’ = H..pp ’ = H’ = H-T-T..

W’ = HW’ = H..W W*’ = HW W*’ = H-T-T..W*W*

L’ = HL’ = H..LL..HHTT L*’ = H L*’ = H-T-T..L*L*..HH-1-1

Page 18: CS 395/495-26: Spring  2004

PP33’s Familiar Weirdnesses’s Familiar Weirdnesses• The plane at infinity:The plane at infinity: = (0 0 0 1) = (0 0 0 1)TT

(this is the 2D set of all…)(this is the 2D set of all…)

• ‘‘Ideal Points’ at infinity:Ideal Points’ at infinity: d =d = pp == (x(x1 1 xx2 2 xx3 3 0)0)TT

– (Also called ‘direction’ (Also called ‘direction’ dd in Zisserman book) in Zisserman book)

• Parallel Planes intersect at a line within Parallel Planes intersect at a line within

• Parallel Lines intersect at a point within Parallel Lines intersect at a point within

• Any plane Any plane intersects intersects at line at line ll (put (put in in PP22))xx22

xx11

xx33

as x4as x40, 0, points (xpoints (x11,x,x22,x,x33,x,x44)) infinity infinity

1/x1/x44

ll

dd

Page 19: CS 395/495-26: Spring  2004

PP33’s Familiar Weirdnesses’s Familiar Weirdnesses• The plane at infinity:The plane at infinity: = = (0 0 0 1)(0 0 0 1)TT

• Only Only HHp p ignores ignores (stays (stays for for HHSSHHAA))– Recall Recall ’’ = = HH-T-T.. – Careful!Careful! HHSS, and , and HHA A will move points within will move points within

• Both Both HHP P and and have 3DOFhave 3DOF– use one to find the other:use one to find the other:

Find Find ’’ in image space; use in image space; use in world-space to findin world-space to find HHPP• Find directions in Find directions in with known angles in with known angles in PP33

Page 20: CS 395/495-26: Spring  2004

What else can we What else can we DODO in P in P33??View Interpolation! for non-planar objects! View Interpolation! for non-planar objects!

Find H Find H (or its parts:(or its parts:HHSSHHAAHHPP):): • By By Plane Pairs Plane Pairs ((11

T T Q*Q* 2 2 = 0= 0)…)…– Find Find Q*Q* by flatten/stack/null space methodby flatten/stack/null space method– Find Find HHAAHHPP from from Q*Q*Q*’Q*’relation relation

(symmetric, so use SVD)(symmetric, so use SVD)Simpler:Simpler:

• By Point (or Plane) Correspondence By Point (or Plane) Correspondence – Can find full H (15DOF) in Can find full H (15DOF) in PP33 with 5 pts (planes) with 5 pts (planes)– Just extend the Just extend the PP33 method (see Project 2)method (see Project 2)

Page 21: CS 395/495-26: Spring  2004

What else can we What else can we DODO in P in P33??View Interpolation! for non-planar objects! View Interpolation! for non-planar objects!

Find H Find H (or its parts:(or its parts:HHSSHHAAHHPP):): • By Parallel Plane pairs By Parallel Plane pairs (they intersect at (they intersect at ’’))

– Find Find ’’ by flatten/stack/null space method,by flatten/stack/null space method,– Solve for Solve for HHp p using using HHPP

-T-T = = ’’

• By By Direction Pairs ( Direction Pairs ( dd1 1 ’’ dd2 2 = 0 = 0 )…)…– Find Find ’’ from flatten/stack/null space method,from flatten/stack/null space method,– Find Find HHAA from from ’’ relation relation – (symmetric, so use SVD…)(symmetric, so use SVD…)

Page 22: CS 395/495-26: Spring  2004

What else can we What else can we DODO in P in P33??

Best of all:Best of all:

Define Cameras as 3DDefine Cameras as 3D2D transform…2D transform…

Define multiple cameras…Define multiple cameras…

Define transforms from one camera image Define transforms from one camera image to another camera image…to another camera image…

Page 23: CS 395/495-26: Spring  2004

What can we What can we DODO in P in P33??Questions to help you explore:Questions to help you explore:

– Can you do line-correspondence in Can you do line-correspondence in PP22? in ? in PP33??– How would you find angle between two lines whose How would you find angle between two lines whose

intersection is NOT the origin?intersection is NOT the origin?– Can you find Can you find HH from known angles, from known angles, 90 90ºº?? – How can we adapt How can we adapt PP22 ‘vanishing point’ methods to ‘vanishing point’ methods to PP33??– Given full 3D world-space positions for pixelsGiven full 3D world-space positions for pixels

(‘image+depth), what (‘image+depth), what HH matrix would you use to ‘move matrix would you use to ‘move the camera to a new position’?the camera to a new position’?

– What happens to the image when you change the What happens to the image when you change the projective transformations projective transformations H H (bottom row)?(bottom row)?

Page 24: CS 395/495-26: Spring  2004

Optional:Optional: Describe P3 lines byDescribe P3 lines by--Plucker Matrices--Plucker Matrices--Plucker Coords.--Plucker Coords.Quadrics; angles and infinityQuadrics; angles and infinity

Page 25: CS 395/495-26: Spring  2004

PP3 3 Lines 2: PlLines 2: Plűűcker Matricescker MatricesLine == A 4x4 symmetric matrix, rank 2, 4DOFLine == A 4x4 symmetric matrix, rank 2, 4DOF

• Line Line LL through known points through known points A, B:A, B:L = AL = A..BBTT - B - B..AAT T ==

• LineLine L*L* through known planesthrough known planes P,Q:P,Q:L* = PL* = P..QQTT – QP – QPTT

aa11 a a22 a a33 a a44 bb11 b b22 b b33 b b44 aa11 aa22 aa33 aa44

bb11

bb22

bb33

bb44

--

PP

QQ

AABBTwo forms:Two forms:

Page 26: CS 395/495-26: Spring  2004

PP3 3 Lines 2: PlLines 2: Plűűcker Matricescker MatricesLine == A 4x4 symmetric matrix, rank 2, 4DOFLine == A 4x4 symmetric matrix, rank 2, 4DOF• Line Line LL through through A, BA, B pts pts:: L = A L = A..BBTT - B - B..AAT T

• LineLine L*L* through through P,Q P,Q planesplanes: : L* = PL* = P..QQTT - QP - QPTT

• L L L* L* convert?convert?Note that: Note that: – Skew-symmetric;Skew-symmetric;– L’s has 6 params: orL’s has 6 params: or– Note Note det|L|=0det|L|=0 is written is written ll1212ll3434+ l+ l1313ll42 42 +l+l1414ll2323= 0= 0– Simple! Simple! Replace Replace llijij withwith llmn mn so that {i,j,m,n} = {1,2,3,4}so that {i,j,m,n} = {1,2,3,4}

Examples: Examples: ll12 12 ll3434,or,or l l4242ll13 13 etc.etc.

ll1212 ll1313 ll1414

ll2323 ll2424 ll3434

ll1212 ll1313 ll1414

ll2323 ll3434

ll4242

(to avoid (to avoid minus signs)minus signs)

Page 27: CS 395/495-26: Spring  2004

PP3 3 Lines 2: PlLines 2: Plűűcker Matricescker Matrices• Join Line Join Line L*L* and Point and Point p p Plane Plane

L*L*..p =p = (if point is (if point is onon the line, then the line, then

L*L*..p = 0p = 0))

Join Line Join Line LL and Plane and Plane Point Point pp LL.. = = pp

(if line is (if line is inin the plane, then the plane, then LL.. =0=0))

Page 28: CS 395/495-26: Spring  2004

PP3 3 Lines 3: PlLines 3: Plűűcker Line Coordscker Line Coords

==Pl==Plűűcker Matrix has 6 vital elements:cker Matrix has 6 vital elements:

– Off-diagonals orOff-diagonals or

– Just make them a 6-vector:Just make them a 6-vector:

and require that and require that det|L| = 0det|L| = 0, , or:or:

ll1212 ll1313 ll1414

ll2323 ll2424 ll3434

ll1212 ll1313 ll1414

ll2323 ll3434

ll4242

(to avoid (to avoid minus signs)minus signs)

L = L = ll1212 ll1313 ll1414 ll2323 ll4242 ll3434

ll1212ll3434+ l+ l1313ll42 42 +l+l1414ll2323= 0= 0

Page 29: CS 395/495-26: Spring  2004

Quadrics SummaryQuadrics SummaryQuadrics are the ‘xQuadrics are the ‘x22 family’ in family’ in PP33::

– Point Quadric:Point Quadric: xxT T Q x = 0Q x = 0 – Plane Quadric:Plane Quadric: T T Q* Q* = 0 = 0

• Transformed Quadrics:Transformed Quadrics:– Point Quadric:Point Quadric: Q’ = HQ’ = H-T-T Q HQ H– Plane Quadric:Plane Quadric: Q*’ = HQ*’ = H Q* HQ* HTT

• Symmetric Q, Q* matrices:Symmetric Q, Q* matrices:– 10 10 parameters butparameters but 9 DOF 9 DOF; 9 points or planes ; 9 points or planes – (or less if degenerate…)(or less if degenerate…)– 4x4 symmetric, so SVD(4x4 symmetric, so SVD(QQ) =) = USU USUTT

Ellipsoid: 1 of 8 Ellipsoid: 1 of 8 quadric typesquadric types

Page 30: CS 395/495-26: Spring  2004

Quadrics SummaryQuadrics Summary

• SVD(Q) =SVD(Q) =USUUSUTT::– UU columns are quadric’s columns are quadric’s axesaxes– SS diagonal elements: diagonal elements: scalescale

• On U axes, write any quadric as:On U axes, write any quadric as:aauu11

22 + b + buu2222 +c +cuu33

22 + d = 0 + d = 0

• Classify quadrics by Classify quadrics by – signsign of a,b,c,d: (>0, 0, <0) of a,b,c,d: (>0, 0, <0)

• Book’s method: Book’s method: – scale a,b,c,d to (+1, 0, –1)scale a,b,c,d to (+1, 0, –1)– classify by Q’s classify by Q’s rankrank and ( and (a+b+c+da+b+c+d))

Ellipsoid: 1 of 8 Ellipsoid: 1 of 8 quadric typesquadric types

Page 31: CS 395/495-26: Spring  2004

Quadrics SummaryQuadrics SummaryAllAll UnruledUnruled Quadrics Quadrics are Rank 4: are Rank 4: (See page 55)(See page 55)

BUTBUT Some Some Rank 4 Jack!check this!!! Rank 4 Jack!check this!!! quadrics quadrics areare RuledRuled::

and and AllAll degenerate quadrics degenerate quadrics (Rank<4) are (Rank<4) are Ruled Ruled (or Conic)(or Conic)

Page 32: CS 395/495-26: Spring  2004

New Weirdness: Absolute Conic New Weirdness: Absolute Conic

• WHY WHY learnlearn ? ? Similar to C Similar to C for Pfor P22……– Angles from directions (Angles from directions (dd11, d, d22) or planes () or planes (11, , 22)) has 3DOF for has 3DOF for HHPP; ; has 5DOF for has 5DOF for HHAA

Requires TWO equations:Requires TWO equations:

: :

is is complexcomplex 2D Point Conic on the 2D Point Conic on the plane plane (?!?!?!)(?!?!?!)

• Recall plane at infinity Recall plane at infinity = [ 0, 0, 0, 1]= [ 0, 0, 0, 1]T T

holds ‘directions’ holds ‘directions’ d = [xd = [x11, x, x22, x, x33, 0], 0]TT

xx1122 + x + x22

22 + x + x3322 = 0, or ‘2D point conic where C = I’ = 0, or ‘2D point conic where C = I’

xx44 = 0, or ‘all points are on = 0, or ‘all points are on ’ ’ .

Page 33: CS 395/495-26: Spring  2004

New Weirdness: Absolute Conic New Weirdness: Absolute Conic

is is complexcomplex 2D Point Conic on the 2D Point Conic on the plane plane

• Only Only HHAAHHP P transforms transforms (stays (stays for for HHSS))

• All circles (in any All circles (in any ) intersect ) intersect circular pts. circular pts.– (recall: circular pts. hold 2 axes: x (recall: circular pts. hold 2 axes: x iiy)y)

• All spheres (in All spheres (in PP33) intersect ) intersect at all at all pts. pts. (not clear what this reveals to us)(not clear what this reveals to us)

xx1122 + x + x22

22 + x + x3322 = 0, or ‘2D point conic where C = I’ = 0, or ‘2D point conic where C = I’

xx44 = 0, or ‘all points are on = 0, or ‘all points are on ’ ’ .

Page 34: CS 395/495-26: Spring  2004

New Weirdness: Absolute Conic New Weirdness: Absolute Conic

measures angles between Directions (measures angles between Directions (dd11,d,d22))

– World-space World-space is is II3x33x3 (ident. matrix) within (ident. matrix) within

– Image-space Image-space ’’ is transformed is transformed (How? as part of (How? as part of ?)?)

– Euclidean world-space angle Euclidean world-space angle is given by:is given by:

– Directions Directions dd11,d,d22 are orthogonal iff are orthogonal iff dd11TT

’ d’ d2 2 = 0= 0

– ?!?!?!?! What is What is in in PP33? Perhaps ? but….? Perhaps ? but….

– JACK!!!CHECK THIS!!JACK!!!CHECK THIS!!

(d(d11TT

’ d’ d22))..

(d(d11TT

’ d’ d11) (d) (d22TT

’ d’ d22))cos() =

1 0 0 01 0 0 00 1 0 00 1 0 00 0 1 00 0 1 00 0 0 0 0 0 0 0 (do not change)(do not change)

Page 35: CS 395/495-26: Spring  2004

Absolute Dual Quadric Q*Absolute Dual Quadric Q*

Exact Dual to Absolute Conic Exact Dual to Absolute Conic in plane in plane

– Any conic in a plane = a degenerate quadricAny conic in a plane = a degenerate quadric• (even though plane (even though plane consists of all points at infinity)consists of all points at infinity)

• (even though conic (even though conic has no real points, all ‘outer limits’ of has no real points, all ‘outer limits’ of ))

Q*Q* is a Plane Quadric that matches is a Plane Quadric that matches

– Defined by tangent planes Defined by tangent planes (e.g. (e.g. TTQ*Q*=0=0))

– Conic Conic is on the ‘rim’ of quadric is on the ‘rim’ of quadric Q*Q*

– In world space, In world space, Q*Q* = = – Image space: Image space: 8DOF 8DOF (?same as(?same as ?) ?)

(up to similarity)(up to similarity)

1 0 0 01 0 0 00 1 0 00 1 0 00 0 1 00 0 1 00 0 0 0 0 0 0 0

Page 36: CS 395/495-26: Spring  2004

Absolute Dual Quadric Q*Absolute Dual Quadric Q* – In world space, In world space, Q*Q* = = ==

– Q*Q* always has infinity plane always has infinity plane as tangentas tangentQ*Q* = 0 = 0 and and Q*Q*’’

’’ = 0= 0

– Find angles between planes Find angles between planes 11,,22 with with Q*Q*::

..

– Can Can testtest for for planes planes 11,,22 : : 11TT

Q*Q*’ ’ 2 2 = 0 = 0

1 0 0 01 0 0 00 1 0 00 1 0 00 0 1 00 0 1 00 0 0 0 0 0 0 0

((11TT

Q*Q*’ ’ 22) ) ..

((11TT

Q*Q* 11) () (22TT

Q*Q* 22))cos(cos() = ) =

0000001 1

End of Chapter 2. Now what?End of Chapter 2. Now what?

Page 37: CS 395/495-26: Spring  2004

Absolute Dual Quadric Q*Absolute Dual Quadric Q*

How can we find How can we find Q*Q*’ ’ ??– From From plane pairs (flatten, stack, null space…) plane pairs (flatten, stack, null space…)

How can we use it?How can we use it?– Transforms: Transforms: “Q*“Q* fixed iff H is a similarity” meansfixed iff H is a similarity” means

Changes Changes Q*Q* to to Q*Q*’’ unless unless HH is only is only HHpp

(Recall that(Recall that Q* Q*’ =’ = H H Q*Q* HHT T ))

– THUSTHUS known known Q*Q*’’ can solve for can solve for HHAAHHP P • Q*Q*’ ’ is symmetric, use SVD...is symmetric, use SVD...