Download presentation
1
Plücker Coordinate of a Line in 3-Space
Spring 2013
2
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! Q P L O 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
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
5
Mason’s Version Line in parametric form Define
q q0 Plucker coordinate of the line (q, q0) Six coordinate 4 DOFs: O (q, q0): q0, q00: general line (q, q0): q0, q0=0: line through origin (q, q0): q=0, (q0=0): [not allowed] Spring 2013
6
The following are from Shoemake’s note…
Spring 2013
7
Summary 1/3 Spring 2013
8
Summary 2/3 Spring 2013
9
Summary 3/3 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
11
Determinant Definition
L={P-Q:PQ} Determinant Definition Q P L O … row x … row y … row z … row w Make all possible determinants of pairs of rows P–Q PQ Spring 2013
12
Example Q P L O P=(2,3,7), Q=(2,1,0). L = {U:V} = {0:2:7:-7:14:-4}. Order does not matter identical 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 Spring 2013
13
Tangent-Normal Definition
L={U:UQ} Tangent-Normal Definition P Q U L O U×Q 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 V=0 implies?! Question: any pair of points P,Q gives the same {U:V}? Yes {p.14} Spring 2013
14
Example y U=(1,0,-1) Q=(0,0,1) UQ = (0,-1,0) L={1:0:-1:0:-1:0} x y z
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
15
Remark L P’=Q+kU Q U’ = P’– Q = kU U V’ = P’×Q = (Q+kU) ×Q = kU×Q
O P’=Q+kU U’ = P’– Q = kU V’ = P’×Q = (Q+kU) ×Q = kU×Q P’Q {kU:kV} Moving P and/or Q scales U & V together! Similar to homogeneous coordinates 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 different Spring 2013
17
Exercise L={P-Q:PQ} L={U:UQ} x y z P=(1,0,0) Q=(0,1,0) P=(0,1,0)
Spring 2013
18
Distance to Origin L Q T: closest to origin Any Q on L: Q = T + sU U
Vector triple product Distance to Origin Q T U L O T: 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) Squared distance: L={U:V} Closest point: Spring 2013
19
Example 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 x y z Spring 2013
20
Line as Intersection of Two Planes1
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 = 0 fE-eF defines the normal of an origin plane through L direction U = EF L [E:e] [F:f] P L = {EF: fE – eF} Spring 2013
21
Example y E = [1:0:0:-1] F = [0:0:1:0]
L = {EF:fE-eF} = {0:-1:0:0:0:1} Check P = (1,1,0), Q = (1,0,0) L = {P-Q:PQ} = {0:1:0:0:0:-1} P x Q z z = 0 [0:0:1:0] x = 1 [1:0:0:-1] 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 Q [E:1] [F:1] {P-Q:PQ} P {EF:E-F} L Duality! O Spring 2013
23
Other Duality (U:0) direction of L T=(VU:U.U) point of L (U:0)
L={U:V} (U:0) direction of L T=(VU:U.U) point of L (U:0) [V:0] origin plane thru L (V0) [UV:V.V] plane thru L [V:0] Q T U L O [UV:V.V] Verify! (next page) O [V:0] P.18 Spring 2013
24
Verify P.23R L={E F:fE-eF} = {(U V) V: -(V.V)V} (U V) V
O [V:0] [UV:V.V] 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} L Spring 2013
25
Line-Plane Intersection1
Triple product Line-Plane Intersection1 L and plane [N:0] Points on {VN:0} = (VN:w) Intersection: the point on [UV:V.V]! {VN:0} O [V:0] [N:0] L (U V).(V N)+w(V.V) = 0 w(V.V) = (V U).(V N) = N.((V U) V) =N.(-(U.V)V+(V.V)U)=(V.V)(U.N) w = U.N [UV:V.V] {U:V} [N:0] = (VN:U.N) Spring 2013
26
Line-Plane Intersection2
[N:n] L and plane [N:n] [N:0] O [V:0] [N:0] L O L [V:0] Derivation pending {U:V} [N:n] = (VN–nU:U.N) Spring 2013
27
Example 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) = -1 Intersection at (-1,0,2)! {U:V} [N:n] = (VN–nU:U.N) Example y x 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 y z Z = 2 [0:0:1:-2] Spring 2013
28
Common Plane1 {U:V} and (P:w) [UP-wV:V.P] Derivation pending y
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] x z Spring 2013
29
Common Plane2 {U:V} and (N:0) [UN:V.N] Derivation pending y
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] x z Spring 2013
30
Generate Points on Line1
Also related: p. 18, 35L Generate Points on Line1 O [V:0] [N:0] L Useful for: Computing transformed Plucker coordinate (p.50) Line-in-plane test Use {U:V} [N:0] = (VN:U.N) Any N will do, as long as U.N0 {Take non-zero component of U} N N U Does not work for line with V=0 (line through origin) O Spring 2013
31
Example y 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 z Spring 2013
32
Line in Plane Test y Generate two points on the line
Do point-on-plane test Is L in [1:1:0:0]? No (1,1,0).(0,1,-1) + 0 0 x z Point-on-Plane Test [N:n] contain (P:w) IFF N.P+nw = 0 Is L in [1:0:0:0]? Yes (1,0,0).(0,1,-1) + 0 = 0 Spring 2013
33
Point-on-Line Test y N2 N1 U N,N1,N2: three base vectors
1. Generate two independent planes containing the line. 2. Perform point-on-plane tests twice Point-on-Line Test y N2 N1 U N,N1,N2: three base vectors Choose N according to nonzero component of U N1 and N2 are the other two axes Check point-in-plane with [UN1:V.N1] and [UN2:V.N2] (common plane, p.29) x N z Spring 2013
34
Example L = {0:0:1:-1:0:0}, P = (0:1:-2:1) y P N2
N = (0,0,1), N1 = (0,1,0), N2 = (1,0,0) Plane1 [-1:0:0:0] (-1,0,0).(0,1,-2)+0 = 0 Plane2 [0:1:0:-1] (0,1,0).(0,1,-2) - 1 = 0 y P N2 N1 U N x z Spring 2013
35
Duality Parametric equation of L Weighted sum of (U:0) and T=(VU:U.U)
Pnt(t) = (VU+tU:U.U) Parametric form of planes through L Generate two planes as page 33… x y z L = {0:0:1:-1:0:0} Pnt(t) = (0:-1:t:1) Spring 2013
36
Two Lines Can Be … Identical Coplanar: find common plane
Linearly dependent Plucker coordinate Coplanar: find common plane Intersecting: find intersection Parallel: find distance Skewed: find distance, closest points Spring 2013
37
Coplanarity Test (intersect)
L1&U2: [U1U2:V1.U2] Coplanarity Test (intersect) L1 Two lines L1 {U1:V1}, L2 {U2:V2} are coplanar if U1.V2+V1.U2 = 0 Same plane! L2 &U1: [U2U1:V2.U1] parallel lines (U1U2=0) are (by definition) coplanar L2 Spring 2013
38
L1 & L2 Coplanar Intersecting point (non-parallel)
L1: {U1:V1} L2: {U2:V2} 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 Spring 2013
39
Example 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] 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) Spring 2013
40
L1 & L2 Skewed Not coplanar IFF skewed Find distance
Find pair of closet points Spring 2013
41
Distance Computation in R3
Point (x2:y2:z2:1) Line {U:V} Plane [D:d] Point (x1:y1:z1:1) (1) (2a): parallel (2b): skewed If no intersection, generate a point on line & point-plane distance Spring 2013
42
(1) Line-Point Distance
Generate P1 containing L & p as [D:d] Generate P2 containing L & D Compute distance from p to P2 p P1=[D:d] Spring 2013
43
(2a) Parallel Line Distance
U Find the common plane [D:d] Find P1 containing L1 and D Find P2 containing L2 and D Find distance between P1 & P2 [D:d] L1 L2 P1 P2 Spring 2013
44
(2b) Skewed Line Distance
U2 P2 U1 P1 Generate P1 containing L1 and U2 Generate P2 containing L2 and U1 Find distance between P1 & P2 L1 How to find the pair of points that are closest? Spring 2013
45
Application Ray-polygon and ray-convex volume intersection Spring 2013
46
Relative Position Between 2 Lines
Here, the lines are “oriented”!! {orientation defined by U} Relative Position Between 2 Lines Looking from tail of L1 … Spring 2013
47
Note here the line is “oriented”; L and –L are not the same
Example y R L1={1:0:0:0:0:0} P:(1/3,1/3,0) Q:(1/3,1/3,1) L3 L2 L2={-1:1:0:0:0:-1} x L3={0:-1:0:0:0:0} L1 z 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 R vs. L3: (0:0:-3).(0:0:0) + (1:-1:0).(0:-1:0) = 1 > 0 Spring 2013
48
Example R y L1={1:0:0:0:0:0} P:(1,1,0) Q:(1,1,1) L3 L2
z 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 R vs. L3: (0:0:-1).(0:0:0) + (1:-1:0).(0:-1:0) = 1 > 0 Spring 2013
49
Discussion Plucker coordinate of transformed line
More efficient by computing the Plucker coordinates of the transformed points (p.30) Spring 2013
50
Index Constructors, two points 11 tangent-normal 13 two planes 20 Distance (closest pt) to origin 18 Line-plane intersect 25,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 Line in plane 30,32 Point in line 33 Point on plane 32 Line-line configuration 37-40 Parallel (distance, common plane) 38 Intersect (point, common plane) 38 Skew 44 Distance (point-line-plane) 41-44 Winding 45 Spring 2013
51
Triple product Vector triple product Spring 2013
52
[Example] y U=(1,0,-1) V=(0,-1,0) L={1:0:-1:0:-1:0}
Different normal gives different line L’ = {1:0:-1: 0:-2:0} x y z Reverse normal gives different line U=(1,0,-1) V=(0,1,0) L’={1:0:-1:0:1:0} x z Spring 2013
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.