52
1 Plücker Coordinate of a Line in 3-Space Spring 2013

1 Plücker Coordinate of a Line in 3-Space Spring 2013

Embed Size (px)

Citation preview

Page 1: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

1

Plücker Coordinate of a Line in 3-Space

Spring 2013

Page 2: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

Motivation

• The other way of representing lines in 3-space is parametric equation

• We are interested in learning the aspects/features of Plucker coordinates that make life easier!

2

Q

P

L

O

RttQPt ,1

Spring 2013

Page 3: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

3

References

• Plucker coordinate tutorial, K. Shoemake [rtnews]

• Plucker coordinates for the rest of us, L. Brits [flipcode]

• Plucker line coordinate, J. Erickson [cgafaq]

Spring 2013

Page 4: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

4

Introduction

• A line in 3-space has four degree-of-freedom (why so?!)

• Plucker coordinates are concise and efficient for numerous chores

• One special case of Grassmann coordinates– Uniformly manage points, lines, planes and flats in

spaces of any dimension.

– Can generate, intersect, … with simple equations.

Spring 2013

Page 5: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

5

Mason’s Version

tqptx )(

qpq 0

Line in parametric form

Define

Plucker coordinate of the line (q, q0)

Six coordinate 4 DOFs:

]by [scale ,,

0

00

0

kqqqkqq

qq

p q

q0

•(q, q0): q0, q00: general line

•(q, q0): q0, q0=0: line through origin

•(q, q0): q=0, (q0=0): [not allowed]

O

Spring 2013

Page 6: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

6

The following are from Shoemake’s note…

Spring 2013

Page 7: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

7

Summary 1/3

Spring 2013

Page 8: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

8

Summary 2/3

Spring 2013

Page 9: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

9

Summary 3/3

Spring 2013

Page 10: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

10

Notations

• Upper case letter: a 3-vector U = (ux,uy,uz) • Vector U; homogeneous version (U:0)• Point P; homo version (P:1), (P:w)• Cross and dot product: PQ, U.V• Plane equation: ax+by+cz+dw=0

– [a:b:c:d] or [D:d] with D=(a,b,c)– [D:0] origin plane: plane containing origin

• Plucker coordinate: {U:V}• Colon “:” proclaims homogeneity

Spring 2013

Page 11: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

11

Determinant DefinitionQ

P

L

O

1z

y

x

p

p

p

1z

y

x

q

q

q … row x

… row y

… row z

… row w

Make all possible determinants of pairs of rows

11xx qp

11yy qp

11zz qp

yy

xx

qp

qp

zz

yy

qp

qp

xx

zz

qp

qp

P–Q PQ

L={P-Q:PQ}L={P-Q:PQ}

Spring 2013

Page 12: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

12

ExampleQ

P

L

O

P=(2,3,7), Q=(2,1,0). L = {U:V} = {0:2:7:-7:14:-4}.

Order does not matter

Q=(2,3,7), P=(2,1,0). L = {U:V} = {0:-2:-7:7:-14:4}

Identical lines: two lines are distinct IFF their Plucker coordinates are linearly independent

identical

Spring 2013

Page 13: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

13

Tangent-Normal Definition

PQ: {U:V} U = P–Q V = P×Q = (U+Q)×Q = U×Q

(U:0) direction of line[V:0] origin plane through L

Question: any pair of points P,Q gives the same {U:V}? Yes

{p.14}

L={U:UQ}L={U:UQ}

PQ

U

L

O

U×Q

Spring 2013

Page 14: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

14

Example

x

y

z y

U=(1,0,-1)Q=(0,0,1)UQ = (0,-1,0)L={1:0:-1:0:-1:0}

If we reverse the tangent:U=(-1,0,1)Q=(0,0,1)UQ = (0,1,0)L={-1:0:1:0:1:0}… still get the same line(but different orientation)Spring 2013

Page 15: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

15

Remark

P’=Q+kU

U’ = P’– Q = kUV’ = P’×Q = (Q+kU) ×Q = kU×Q

P’Q {kU:kV}

Q

P

P’

U

L

O

Moving P and/or Q scales U & V together!Similar to homogeneous coordinates

Moving P and/or Q scales U & V together!Similar to homogeneous coordinates

Spring 2013

Page 16: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

16

Remarks• Six numbers in Plucker coordinate {U:V} are not

independent.– Line in R3 has 4 dof. : six variables, two equations: one from

homogeneity; one from U.V = 0

• Geometric interpretation {U:V}– U: line tangent (U0, by definition)– V: the normal of origin plane containing L (V=0 L

through origin)

• Identical lines: two lines are distinct IFF their Plucker coordinates are linearly independent

Ex: {0:-2:-7:7:-14:4} and {0:4:14:-14:28:-8} are the same (but different orientation); {2:1:0:0:0:0} is differentSpring 2013

Page 17: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

17

Exercise

x

y

zP

Q P=(1,0,0)Q=(0,1,0)

P=(0,1,0)Q=(1,0,0)

L={P-Q:PQ}L={U:UQ}

L={P-Q:PQ}L={U:UQ}

U=(1,-1,0)Q=(0,1,0)

U=(2,-2,0)Q=(0,1,0)

U=(-1,1,0)Q=(0,1,0)

Spring 2013

Page 18: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

18

Distance to OriginT: closest to origin Any Q on L: Q = T + sU

V = U×Q = U×(T+sU) =U×T||V|| = ||U|| ||T|| sin90 = ||U|| ||T||

T.T = (V.V) / (U.U)

V×U=(U×T)×U = (U.U)T

T=(V×U:U.U)

Q

T

U

L

O Squared distance:

Closest point:

Vector triple product

L={U:V}

Spring 2013

Page 19: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

19

Example

x

y

z y

U=(1,0,-1)Q=(0,0,1)UQ = (0,-1,0)L={1:0:-1:0:-1:0}

T=(V×U:U.U) = (1:0:1:2)= (1/2,0,1/2)Squared distance = (V.V)/(U.U) = 1/2

Spring 2013

Page 20: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

20

Line as Intersection of Two Planes1

L

[E:e] [F:f]

P

Plane equation: ax + by + cz + d = 0 P = (x,y,z), point on L E.P + e = 0 F.P + f = 0 f(E.P+e) – e(F.P+f) = 0 (fE – eF).P = 0fE-eF defines the normal of an origin plane through Ldirection U = EF

L = {EF: fE – eF}

Spring 2013

Page 21: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

21

Example

x

z

y

z = 0[0:0:1:0]

x = 1[1:0:0:-1]

E = [1:0:0:-1]F = [0:0:1:0]L = {EF:fE-eF} = {0:-1:0:0:0:1}

CheckP = (1,1,0), Q = (1,0,0)L = {P-Q:PQ} = {0:1:0:0:0:-1}

Q

P

Spring 2013

Page 22: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

22

Line as Intersection of Two Planes2

• If both planes do not pass through origin, e0 and f0, we can normalize both planes to [E:1] and [F:1].

• The intersecting line then becomes {EF:E-F}

L

[E:1] [F:1]Q

P

L

O

{P-Q:PQ}

{EF:E-F}

Duality!Spring 2013

Page 23: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

• [V:0] origin plane thru L (V0)

• [UV:V.V] plane thru L [V:0]

23

Other Duality

• (U:0) direction of L• T=(VU:U.U) point

of L (U:0)

Q

T

U

L

O

O[V:0]

[UV:V.V]

Verify!(next page)P.18

L={U:V}

Spring 2013

Page 24: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

24

Verify P.23R

O[V:0]

[UV:V.V]

L

L={E F:fE-eF}= {(U V) V: -(V.V)V}

(U V) V = -U(V.V)+V(U.V) = -U(V.V)

L = {-U(V.V):-V(V.V)} = {U:V}

Spring 2013

Page 25: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

25

Line-Plane Intersection1

• L and plane [N:0] Points on {VN:0} = (VN:w)Intersection: the point on [UV:V.V]!

O

[V:0]

[N:0]

L{U:V} [N:0] = (VN:U.N)

[UV:V.V]

{VN:0}

(U V).(V N)+w(V.V) = 0w(V.V) = (V U).(V N) = N.((V U) V)=N.(-(U.V)V+(V.V)U)=(V.V)(U.N)w = U.N

Triple product

Spring 2013

Page 26: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

26

Line-Plane Intersection2

• L and plane [N:n]

O

[V:0]

[N:0]

L

{U:V} [N:n] = (VN–nU:U.N)

O

[V:0]

[N:0]

L

Derivation pending

[N:n]

Spring 2013

Page 27: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

27

Example

x

y

z y

U=(1,0,-1)Q=(0,0,1)UQ = (0,-1,0)L={1:0:-1:0:-1:0}

VN–nU = (-1,0,0) – (-2)(1,0,-1) = (1,0,-2)U.N = (1,0,-1).(-1,0,0) = -1Intersection at (-1,0,2)!

Z = 2[0:0:1:-2]

Intersect with y = 0, [0:1:0:0](VN:U.N) = (0:0:0:0), overlap

Intersect with y = 1, [0:1:0:-1](VN–nU:U.N) = (1:0:-1:0)Intersect at infinity

{U:V} [N:n] = (VN–nU:U.N)

Spring 2013

Page 28: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

28

Common Plane1

{U:V} and (P:w) [UP-wV:V.P]

U = (0,0,1)V = UQ = (0,0,1) (0,1,0) = (-1,0,0)

(P:w) = (1:1:0:1)

[UP-wV:V.P] = [0:1:0:-1]

Derivation pending

x

y

z

Spring 2013

Page 29: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

29

Common Plane2

{U:V} and (N:0) [UN:V.N]

U = (0,0,1)V = UQ = (-1,0,0)

N = (1,0,0) …(-1,0,0) get the same … (1,0,1) also get the same (N need not U)⊥

[UN:V.N] = [0:1:0:-1]

Derivation pending

x

y

z

Spring 2013

Page 30: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

30

Generate Points on Line1

Useful for:

• Computing transformed Plucker coordinate (p.50)

• Line-in-plane testO

[V:0]

[N:0]

LUse {U:V} [N:0] = (VN:U.N)

U

NAny N will do, as long as U.N0{Take non-zero component of U}N

O

Also related: p. 18, 35L

Does not work for line with V=0(line through origin)Spring 2013

Page 31: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

31

Example

As before: L = {U:V} = {0:0:1:-1:0:0}

Take N = (0,1,1)

{U:V} [N:0] = (VN:U.N) = (0:1:-1:1)x

y

z

Spring 2013

Page 32: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

32

Line in Plane Test

Point-on-Plane Test [N:n] contain (P:w) IFF N.P+nw = 0

Is L in [1:1:0:0]? No

(1,1,0).(0,1,-1) + 0 0

Is L in [1:0:0:0]? Yes

(1,0,0).(0,1,-1) + 0 = 0

x

y

z

1. Generate two points on the line 2. Do point-on-plane test

Spring 2013

Page 33: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

33

Point-on-Line Test

x

y

z

N

N1

N2

N,N1,N2: three base vectorsChoose N according to nonzero component of UN1 and N2 are the other two axes

Check point-in-plane with [UN1:V.N1] and [UN2:V.N2](common plane, p.29)

U

1. Generate two independent planes

containing the line.

2. Perform point-on-plane tests twice

Spring 2013

Page 34: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

34

Example

x

y

z

N

N1

N2

U

L = {0:0:1:-1:0:0}, P = (0:1:-2:1)N = (0,0,1), N1 = (0,1,0), N2 = (1,0,0)Plane1 [-1:0:0:0] (-1,0,0).(0,1,-2)+0 = 0Plane2 [0:1:0:-1] (0,1,0).(0,1,-2) - 1 = 0

P

Spring 2013

Page 35: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

• Parametric equation of L• Weighted sum of (U:0)

and T=(VU:U.U)

Pnt(t) = (VU+tU:U.U)

35

Duality

• Parametric form of planes through L– Generate two planes as

page 33…

L = {0:0:1:-1:0:0}Pnt(t) = (0:-1:t:1)

x

y

z Spring 2013

Page 36: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

36

Two Lines Can Be …

• Identical– Linearly dependent Plucker coordinate

• Coplanar: find common plane– Intersecting: find intersection– Parallel: find distance

• Skewed: find distance, closest points

Spring 2013

Page 37: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

Coplanarity Test(intersect)

• Two lines L1 {U1:V1}, L2 {U2:V2} are coplanar if

U1.V2+V1.U2 = 0

37

L1&U2: [U1U2:V1.U2]

L2 &U1: [U2U1:V2.U1]

Same plane!

L1

L2parallel lines

(U1U2=0) are (by definition) coplanar

Spring 2013

Page 38: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

38

L1 & L2 Coplanar

• Intersecting point (non-parallel)– Find the common plane: [U1U2:V1.U2]

– ((V1.N)U2-(V2.N)U1-(V1.U2)N:(U1U2).N)

– Where N is unit basis vector, independent of U1 and U2, (U1U2).N ≠0)

• Parallel (distinct) lines (U1U2 = 0)Common plane:

– [(U1.N)V2-(U2.N)V1:(V1V2).N] with N.U10

L1: {U1:V1}L2: {U2:V2}

Spring 2013

Page 39: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

Example

39

L1={1:1:0:0:0:1}L2={0:1:0:0:0:-1}Pick N = (0,0,1)((V1.N)U2-(V2.N)U1-(V1.U2)N:(U1U2).N)=(1:2:0:1)

L1={1:1:0:0:0:1}L2={2:2:0:0:0:-4}

Pick N = (1,0,0)[(U1.N)V2-(U2.N)V1:(V1V2).N]

=[0:0:-6:0]

Spring 2013

Page 40: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

40

L1 & L2 Skewed

• Not coplanar IFF skewed

• Find distance

• Find pair of closet points

Spring 2013

Page 41: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

41

Distance Computation in R3

221

221

221 zzyyxx 222

111

cba

dczbyax

222

21

cba

dd

  Point (x2:y2:z2:1)

Line {U:V} Plane [D:d]

Point (x1:y1:z1:1)

(1)

Line {U:V}  (2a): parallel

(2b): skewed

If no intersection,

generate a point on line & point-plane distance

Plane [D:d]   

Spring 2013

Page 42: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

42

(1) Line-Point Distance

L

p

D

1. Generate 1 containing L & p as [D:d]2. Generate 2 containing L & D3. Compute distance from p to 2

1=[D:d]

2

Spring 2013

Page 43: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

43

(2a) Parallel Line Distance

[D:d]

D U

1 2

L1 L2Find the common plane [D:d] Find 1 containing L1 and DFind 2 containing L2 and DFind distance between 1 & 2

D

Spring 2013

Page 44: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

44

(2b) Skewed Line Distance

1

2

L1

L2

U1

U2

Generate 1 containing L1 and U2

Generate 2 containing L2 and U1

Find distance between 1 & 2

How to find the pair of points that are

closest?Spring 2013

Page 45: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

45

Application

• Ray-polygon and ray-convex volume intersection

Spring 2013

Page 46: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

46

Relative Position Between 2 Lines

Looking from tail of L1 …

Here, the lines are “oriented”!!{orientation defined by U}

Spring 2013

Page 47: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

47

Example

x

y

zL1

L2L3

R

L1={1:0:0:0:0:0}L2={-1:1:0:0:0:-1}

L3={0:-1:0:0:0:0}

R={0:0:-1:1/3:-1/3:0} = {0:0:-3:1:-1:0}

R vs. L1: (0:0:-3).(0:0:0) + (1:-1:0).(1:0:0) = 1 > 0

R vs. L2: (0:0:-3).(0:0:-1) + (1:-1:0).(-1:1:0) = 1 > 0

P:(1/3,1/3,0)Q:(1/3,1/3,1)

R vs. L3: (0:0:-3).(0:0:0) + (1:-1:0).(0:-1:0) = 1 > 0

Note here the line is “oriented”; L and –L are not the same

Spring 2013

Page 48: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

48

Example

x

y

zL1

L2L3

R

L1={1:0:0:0:0:0}L2={-1:1:0:0:0:-1}

L3={0:-1:0:0:0:0}

R={0:0:-1:1:-1:0}

R vs. L1: (0:0:-1).(0:0:0) + (1:-1:0).(1:0:0) = 1 > 0

R vs. L2: (0:0:-1).(0:0:-1) + (1:-1:0).(-1:1:0) = -1 < 0

P:(1,1,0)Q:(1,1,1)

R vs. L3: (0:0:-1).(0:0:0) + (1:-1:0).(0:-1:0) = 1 > 0Spring 2013

Page 49: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

49

Discussion

• Plucker coordinate of transformed line– More efficient by computing the Plucker

coordinates of the transformed points (p.30)

Spring 2013

Page 50: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

IndexConstructors,

two points 11

tangent-normal 13

two planes 20

Distance (closest pt) to origin 18

Line-plane intersect25,26

Line-line intersect 38

Common plane

line, point 28

line, dir 29

Generate points on line 30, 35L

Parametric equation of line 35L

Parametric plane of line 35R

50

Line in plane30,32

Point in line 33

Point on plane 32

Line-line configuration37-40

Parallel (distance, common plane) 38

Intersect (point, common plane) 38

Skew 44

Distance (point-line-plane)41-44

Winding 45

Spring 2013

Page 51: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

51

Vector triple product

Triple product

Spring 2013

Page 52: 1 Plücker Coordinate of a Line in 3-Space Spring 2013

52

[Example]

x

y

z

U=(1,0,-1)V=(0,-1,0)L={1:0:-1:0:-1:0}

Different normal gives different lineL’ = {1:0:-1: 0:-2:0}

Reverse normal gives different lineU=(1,0,-1)V=(0,1,0)L’={1:0:-1:0:1:0}

x

y

z Spring 2013