Plcker Coordinate of a Line in 3 Space


![References • Plucker coordinate tutorial, K. Shoemake [rtnews] • Plucker coordinates for the rest References • Plucker coordinate tutorial, K. Shoemake [rtnews] • Plucker coordinates for the rest](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-3.jpg)
















![Line as Intersection of Two Planes 1 [E: e] [F: f] P L Plane Line as Intersection of Two Planes 1 [E: e] [F: f] P L Plane](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-20.jpg)
![Example y E = [1: 0: 0: -1] F = [0: 0: 1: 0] Example y E = [1: 0: 0: -1] F = [0: 0: 1: 0]](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-21.jpg)

![Other Duality L={U: V} • (U: 0) direction of L • [V: 0] origin Other Duality L={U: V} • (U: 0) direction of L • [V: 0] origin](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-23.jpg)

![Triple product Line-Plane Intersection 1 • L and plane [N: 0] {V N: 0} Triple product Line-Plane Intersection 1 • L and plane [N: 0] {V N: 0}](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-25.jpg)
![Line-Plane Intersection 2 [N: n] • L and plane [N: n] [N: 0] L Line-Plane Intersection 2 [N: n] • L and plane [N: n] [N: 0] L](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-26.jpg)
![{U: V} [N: n] = (V N–n. U: U. N) U=(1, 0, -1) Q=(0, {U: V} [N: n] = (V N–n. U: U. N) U=(1, 0, -1) Q=(0,](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-27.jpg)

![Common Plane 2 {U: V} and (N: 0) [U N: V. N] y U Common Plane 2 {U: V} and (N: 0) [U N: V. N] y U](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-29.jpg)













![(2 a) Parallel Line Distance D U [D: d] D L 1 L 2 (2 a) Parallel Line Distance D U [D: d] D L 1 L 2](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-43.jpg)








![y [Example] U=(1, 0, -1) V=(0, -1, 0) L={1: 0: -1: 0} x z y [Example] U=(1, 0, -1) V=(0, -1, 0) L={1: 0: -1: 0} x z](https://slidetodoc.com/presentation_image/056f3468e854f9725a826a6da297f499/image-52.jpg)
- Slides: 52
Plücker Coordinate of a Line in 3 -Space Spring 2013 1
Motivation Q P O • The other way of representing L lines in 3 -space is parametric equation • We are interested in learning the aspects/features of Plucker coordinates that make life easier! Spring 2013 2
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 3
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 4
Mason’s Version Line in parametric form Define Plucker coordinate of the line (q, q 0) Six coordinate 4 DOFs: q 0 O p q • (q, q 0): q 0, q 0 0: general line • (q, q 0): q 0, q 0=0: line through origin • (q, q 0): q=0, (q 0=0): [not allowed] Spring 2013 5
The following are from Shoemake’s note… Spring 2013 6
Summary 1/3 Spring 2013 7
Summary 2/3 Spring 2013 8
Summary 3/3 Spring 2013 9
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: P Q, 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 10
L={P-Q: P Q} Determinant Definition L Q … row x … row y P … row z … row w O Make all possible determinants of pairs of rows P–Q P Q Spring 2013 11
Q P L Example P=(2, 3, 7), Q=(2, 1, 0). L = {U: V} = {0: 2: 7: -7: 14: -4}. Order does not matter O 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 12
L={U: U Q} Tangent-Normal Definition U×Q P O U Q L 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 Spring 2013 {p. 14} 13
y Example x z U=(1, 0, -1) Q=(0, 0, 1) U Q = (0, -1, 0) L={1: 0: -1: 0} y If we reverse the tangent: U=(-1, 0, 1) Q=(0, 0, 1) U Q = (0, 1, 0) L={-1: 0: 1: 0} … still get the same line (but different orientation) Spring 2013 14
Remark Q U P P’ L P’=Q+k. U U’ = P’– Q = k. U V’ = P’×Q = (Q+k. U) ×Q = k. U×Q P’Q {k. U: k. V} O Moving P and/or Q scales U & V together! Similar to homogeneous coordinates Spring 2013 15
Remarks • Six numbers in Plucker coordinate {U: V} are not independent. – Line in R 3 has 4 dof. : six variables, two equations: one from homogeneity; one from U. V = 0 • Geometric interpretation {U: V} – U: line tangent (U 0, 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} is different Spring 2013 16
Exercise y P=(1, 0, 0) Q=(0, 1, 0) Q L={P-Q: P Q} L={U: U Q} P=(0, 1, 0) Q=(1, 0, 0) x z P U=(-1, 1, 0) Q=(0, 1, 0) U=(1, -1, 0) Q=(0, 1, 0) Spring 2013 U=(2, -2, 0) Q=(0, 1, 0) 17
Vector triple product Distance to Origin L Q U T T: closest to origin Any Q on L: Q = T + s. U V = U×Q = U×(T+s. U) =U×T ||V|| = ||U|| ||T|| sin 90 = ||U|| ||T|| O L={U: V} Squared distance: T. T = (V. V) / (U. U) V×U=(U×T)×U = (U. U)T Closest point: T=(V×U: U. U) Spring 2013 18
Example y U=(1, 0, -1) Q=(0, 0, 1) U Q = (0, -1, 0) L={1: 0: -1: 0} x z y T=(V×U: U. U) = (1: 0: 1: 2)= (1/2, 0, 1/2) Squared distance = (V. V)/(U. U) = 1/2 Spring 2013 19
Line as Intersection of Two Planes 1 [E: e] [F: f] P L 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 (f. E – e. F). P = 0 f. E-e. F defines the normal of an origin plane through L direction U = E F L = {E F: f. E – e. F} Spring 2013 20
Example y E = [1: 0: 0: -1] F = [0: 0: 1: 0] L = {E F: f. E-e. F} = {0: -1: 0: 0: 0: 1} P Q x z Check P = (1, 1, 0), Q = (1, 0, 0) L = {P-Q: P Q} = {0: 1: 0: 0: 0: -1} z = 0 [0: 0: 1: 0] x = 1 [1: 0: 0: -1] Spring 2013 21
Line as Intersection of Two Planes 2 • If both planes do not pass through origin, e 0 and f 0, we can normalize both planes to [E: 1] and [F: 1]. • The intersecting line then becomes {E F: E-F} Q L {P-Q: P Q} {E F: E-F} P O [E: 1] [F: 1] L Duality! Spring 2013 22
Other Duality L={U: V} • (U: 0) direction of L • [V: 0] origin plane thru L (V 0) • T=(V U: U. U) point of L (U: 0) • [U V: V. V] plane thru L [V: 0] L Q U T P. 18 O [U V: V. V] Spring 2013 [V: 0] O Verify! (next page)23
Verify P. 23 R L={E F: f. E-e. F} = {(U V) V: -(V. V)V} [U V: V. V] L [V: 0] O (U V) V = -U(V. V)+V(U. V) = -U(V. V) L = {-U(V. V): -V(V. V)} = {U: V} Spring 2013 24
Triple product Line-Plane Intersection 1 • L and plane [N: 0] {V N: 0} [N: 0] [U V: V. V] L O [V: 0] Points on {V N: 0} = (V N: w) Intersection: the point on [U V: V. V]! (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 {U: V} [N: 0] = (V N: U. N) Spring 2013 25
Line-Plane Intersection 2 [N: n] • L and plane [N: n] [N: 0] L O [V: 0] L Derivation pending O [V: 0] {U: V} [N: n] = (V N–n. U: U. N) Spring 2013 26
{U: V} [N: n] = (V N–n. U: U. N) U=(1, 0, -1) Q=(0, 0, 1) U Q = (0, -1, 0) L={1: 0: -1: 0} Example y V N–n. U = (-1, 0, 0) – (-2)(1, 0, -1) = (1, 0, -2) U. N = (1, 0, -1). (-1, 0, 0) = -1 Intersection at (-1, 0, 2)! x z y Z = 2 [0: 0: 1: -2] Intersect with y = 0, [0: 1: 0: 0] (V N: U. N) = (0: 0: 0: 0), overlap Intersect with y = 1, [0: 1: 0: -1] (V N–n. U: U. N) = (1: 0: -1: 0) Intersect at infinity Spring 2013 27
Common Plane 1 Derivation pending {U: V} and (P: w) [U P-w. V: V. P] y U = (0, 0, 1) V = U Q = (0, 0, 1) (0, 1, 0) = (-1, 0, 0) (P: w) = (1: 1: 0: 1) x [U P-w. V: V. P] = [0: 1: 0: -1] z Spring 2013 28
Common Plane 2 {U: V} and (N: 0) [U N: V. N] y U = (0, 0, 1) V = U Q = (-1, 0, 0) x z Derivation pending N = (1, 0, 0) …(-1, 0, 0) get the same … (1, 0, 1) also get the same (N need not ⊥U) [U N: V. N] = [0: 1: 0: -1] Spring 2013 29
Also related: p. 18, 35 L Generate Points on Line 1 Useful for: • Computing transformed Plucker coordinate (p. 50) • Line-in-plane test [N: 0] L O Use {U: V} [N: 0] = (V N: U. N) [V: 0] N N U O Any N will do, as long as U. N 0 {Take non-zero component of U} Does not work for line with V=0 (line through origin) Spring 2013 30
Example y As before: L = {U: V} = {0: 0: 1: -1: 0: 0} Take N = (0, 1, 1) {U: V} [N: 0] = (V N: U. N) = (0: 1: -1: 1) x z Spring 2013 31
Line in Plane Test 1. Generate two points on the line 2. Do point-on-plane test y Is L in [1: 1: 0: 0]? No x z Point-on-Plane Test [N: n] contain (P: w) IFF N. P+nw = 0 (1, 1, 0). (0, 1, -1) + 0 0 Is L in [1: 0: 0: 0]? Yes (1, 0, 0). (0, 1, -1) + 0 = 0 Spring 2013 32
Point-on-Line Test 1. Generate two independent planes containing the line. 2. Perform point-on-plane tests twice N 2 y N 1 U N z x N, N 1, N 2: three base vectors Choose N according to nonzero component of U N 1 and N 2 are the other two axes Check point-in-plane with [U N 1: V. N 1] and [U N 2: V. N 2] (common plane, p. 29) Spring 2013 33
Example N 2 y L = {0: 0: 1: -1: 0: 0}, P = (0: 1: -2: 1) N = (0, 0, 1), N 1 = (0, 1, 0), N 2 = (1, 0, 0) Plane 1 [-1: 0: 0: 0] (-1, 0, 0). (0, 1, -2)+0 = 0 Plane 2 [0: 1: 0: -1] (0, 1, 0). (0, 1, -2) - 1 = 0 P N 1 U N x z Spring 2013 34
Duality • Parametric equation of L • Weighted sum of (U: 0) and T=(V U: U. U) Pnt(t) = (V U+t. U: U. U) • Parametric form of planes through L – Generate two planes as page 33… y L = {0: 0: 1: -1: 0: 0} Pnt(t) = (0: -1: t: 1) x z Spring 2013 35
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 36
Coplanarity Test (intersect) L 1 • Two lines L 1 {U 1: V 1}, L 2 {U 2: V 2} are coplanar if U 1. V 2+V 1. U 2 = 0 L 1&U 2: [U 1 U 2: V 1. U 2] Same plane! parallel lines (U 1 U 2=0) are (by definition) coplanar L 2 Spring 2013 L 2 &U 1: [U 2 U 1: V 2. U 1] 37
L 1 & L 2 Coplanar L 1: {U 1: V 1} L 2: {U 2: V 2} • Intersecting point (non-parallel) – Find the common plane: [U 1 U 2: V 1. U 2] – ((V 1. N)U 2 -(V 2. N)U 1 -(V 1. U 2)N: (U 1 U 2). N) – Where N is unit basis vector, independent of U 1 and U 2, (U 1 U 2). N ≠ 0) • Parallel (distinct) lines (U 1 U 2 = 0) Common plane: – [(U 1. N)V 2 -(U 2. N)V 1: (V 1 V 2). N] with N. U 1 0 Spring 2013 38
Example L 1={1: 1: 0: 0: 0: 1} L 2={2: 2: 0: 0: 0: -4} L 1={1: 1: 0: 0: 0: 1} Pick N = (1, 0, 0) L 2={0: 1: 0: 0: 0: -1} [(U 1. N)V 2 -(U 2. N)V 1: (V 1 V 2). N] Pick N = (0, 0, 1) =[0: 0: -6: 0] ((V 1. N)U 2 -(V 2. N)U 1 -(V 1. U 2)N: (U 1 U 2). N) =(1: 2: 0: 1) Spring 2013 39
L 1 & L 2 Skewed • Not coplanar IFF skewed • Find distance • Find pair of closet points Spring 2013 40
3 Distance Computation in R Point (x 2: y 2: z 2: 1) Line {U: V} Point (x 1: y 1: z 1: 1) Line {U: V} Plane [D: d] (1) (2 a): parallel (2 b): skewed Spring 2013 If no intersection, generate a point on line & pointplane distance 41
(1) Line-Point Distance L D p P 2 1. Generate P 1 containing L & p as [D: d] 2. Generate P 2 containing L & D 3. Compute distance from p to P 2 P 1=[D: d] Spring 2013 42
(2 a) Parallel Line Distance D U [D: d] D L 1 L 2 P 1 P 2 Find Spring 2013 the common plane [D: d] P 1 containing L 1 and D P 2 containing L 2 and D distance between P 1 & P 2 43
(2 b) Skewed Line Distance L 2 P 2 U 1 P 1 L 1 Generate P 1 containing L 1 and U 2 Generate P 2 containing L 2 and U 1 Find distance between P 1 & P 2 How to find the pair of points that are closest? Spring 2013 44
Application • Ray-polygon and ray-convex volume intersection Spring 2013 45
Here, the lines are “oriented”!! {orientation defined by U} Relative Position Between 2 Lines Looking from tail of L 1 … Spring 2013 46
Note here the line is “oriented”; L and –L are not the same Example y L 3 z R L 2 L 1 x L 1={1: 0: 0: 0} L 2={-1: 1: 0: 0: 0: -1} L 3={0: -1: 0: 0} P: (1/3, 0) Q: (1/3, 1) R={0: 0: -1: 1/3: -1/3: 0} = {0: 0: -3: 1: -1: 0} R vs. L 1: (0: 0: -3). (0: 0: 0) + (1: -1: 0). (1: 0: 0) = 1 > 0 R vs. L 2: (0: 0: -3). (0: 0: -1) + (1: -1: 0). (-1: 1: 0) = 1 > 0 R vs. L 3: (0: 0: -3). (0: 0: 0) + (1: -1: 0). (0: -1: 0) = 1 > 0 Spring 2013 47
R y L 3 z L 2 L 1 x Example L 1={1: 0: 0: 0} L 2={-1: 1: 0: 0: 0: -1} L 3={0: -1: 0: 0} P: (1, 1, 0) Q: (1, 1, 1) R={0: 0: -1: 1: -1: 0} R vs. L 1: (0: 0: -1). (0: 0: 0) + (1: -1: 0). (1: 0: 0) = 1 > 0 R vs. L 2: (0: 0: -1) + (1: -1: 0). (-1: 1: 0) = -1 < 0 R vs. L 3: (0: 0: -1). (0: 0: 0) + (1: -1: 0). (0: -1: 0) = 1 > 0 Spring 2013 48
Discussion • Plucker coordinate of transformed line – More efficient by computing the Plucker coordinates of the transformed points (p. 30) Spring 2013 49
Index Constructors, two points tangent-normal two planes Distance (closest pt) to origin Line-plane intersect Line-line intersect Common plane line, point line, dir Generate points on line Parametric equation of line Parametric plane of line 11 13 20 18 25, 26 38 28 29 30, 35 L Line in plane Point in line Point on plane 30, 32 33 32 Line-line configuration 37 -40 Paralle 38 Interse 38 Skew 44 41 -44 45 l (distance, common plane) ct (point, common plane) Distance (point-line-plane) Winding 35 R Spring 2013 50
Triple product Vector triple product Spring 2013 51
y [Example] U=(1, 0, -1) V=(0, -1, 0) L={1: 0: -1: 0} x z Different normal gives different line L’ = {1: 0: -2: 0} y x z Reverse normal gives different line U=(1, 0, -1) V=(0, 1, 0) L’={1: 0: -1: 0: 1: 0} Spring 2013 52