1 / 52

Pl ü cker Coordinate of a Line in 3-Space

Pl ü cker Coordinate of a Line in 3-Space. L. Q. P. O. 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 !. References.

samson
Télécharger la présentation

Pl ü cker Coordinate of a Line in 3-Space

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. Plücker Coordinate of a Line in 3-Space Spring 2013

  2. L Q P O 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! 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. q0 p q Mason’s Version Line in parametric form Define Plucker coordinate of the line (q, q0) Six coordinate 4 DOFs: O • (q, q0): q0, q00: general line • (q, q0): q0, 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: 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

  11. L Q P O L={P-Q:PQ} Determinant Definition … row x … row y … row z … row w Make all possible determinants of pairs of rows P–Q PQ Spring 2013

  12. L Q P O Example 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. U×Q O U P L Q L={U:UQ} 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} Spring 2013

  14. Example y U=(1,0,-1) Q=(0,0,1) UQ = (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) UQ = (0,1,0) L={-1:0:1:0:1:0} … still get the same line (but different orientation) Spring 2013

  15. L Q U P P’ O Remark 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 (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:0:0} is different Spring 2013

  17. y x z L={P-Q:PQ} L={U:UQ} Exercise P=(0,1,0) Q=(1,0,0) P=(1,0,0) Q=(0,1,0) Q P U=(2,-2,0) Q=(0,1,0) U=(-1,1,0) Q=(0,1,0) U=(1,-1,0) Q=(0,1,0) Spring 2013

  18. L Q U T Vector triple product O Distance to Origin 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) UQ = (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. [E:e] [F:f] L 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 = EF P L = {EF: fE – eF} Spring 2013

  21. Example y E = [1:0:0:-1] F = [0:0:1:0] L = {EF:fE-eF} = {0:-1:0:0:0:1} Check P = (1,1,0), Q = (1,0,0) L = {P-Q:PQ} = {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, 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} L Q [E:1] [F:1] {P-Q:PQ} P {EF:E-F} L Duality! O Spring 2013

  23. [V:0] origin plane thru L (V0) [UV:V.V] plane thru L  [V:0] (U:0) direction of L T=(VU:U.U) point of L  (U:0) L Q U T O Other Duality L={U:V} [UV:V.V] Verify! (next page) O [V:0] P.18 Spring 2013

  24. [UV:V.V] O [V:0] Verify P.23R 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. Triple product [N:0] O L [V:0] Line-Plane Intersection1 Points on {VN:0} = (VN:w) Intersection: the point on [UV:V.V]! • L and plane [N:0] {VN:0} (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:V.V] {U:V}  [N:0] = (VN:U.N) Spring 2013

  26. [N:0] O L [V:0] Line-Plane Intersection2 [N:n] • L and plane [N:n] [N:0] O L [V:0] Derivation pending {U:V}  [N:n] = (VN–nU:U.N) Spring 2013

  27. {U:V}  [N:n] = (VN–nU:U.N) U=(1,0,-1) Q=(0,0,1) UQ = (0,-1,0) L={1:0:-1:0:-1:0} VN–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)! Example y x 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–nU:U.N) = (1:0:-1:0) Intersect at infinity y z Z = 2 [0:0:1:-2] Spring 2013

  28. Derivation pending Common Plane1 {U:V} and (P:w)  [UP-wV: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) [UP-wV:V.P] = [0:1:0:-1] x z Spring 2013

  29. Common Plane2 Derivation pending {U:V} and (N:0)  [UN:V.N] y U = (0,0,1) V = UQ = (-1,0,0) 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] x z Spring 2013

  30. Useful for: Computing transformed Plucker coordinate (p.50) Line-in-plane test [N:0] O L [V:0] Also related: p. 18, 35L Generate Points on Line1 Use {U:V}  [N:0] = (VN:U.N) Any N will do, as long as U.N0 {Take non-zero component of U} N N Does not work for line with V=0 (line through origin) U 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] = (VN: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 Is L in [1:0:0:0]? Yes (1,0,0).(0,1,-1) + 0 = 0 Point-on-Plane Test [N:n] contain (P:w) IFF N.P+nw = 0 Spring 2013

  33. 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 [UN1:V.N1] and [UN2: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) 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. Parametric equation of L Weighted sum of (U:0) and T=(VU:U.U) Pnt(t) = (VU+tU:U.U) Parametric form of planes through L Generate two planes as page 33… y x z Duality L = {0:0:1:-1:0:0} Pnt(t) = (0:-1:t:1) 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

  37. Coplanarity Test(intersect) L1 • Two lines L1 {U1:V1}, L2 {U2:V2} are coplanar if U1.V2+V1.U2 = 0 Same plane! parallel lines (U1U2=0) are (by definition) coplanar L2 L1&U2: [U1U2:V1.U2] L2 &U1: [U2U1:V2.U1] Spring 2013

  38. L1: {U1:V1} L2: {U2:V2} L1 & L2 Coplanar • Intersecting point (non-parallel) • Find the common plane: [U1U2:V1.U2] • ((V1.N)U2-(V2.N)U1-(V1.U2)N:(U1U2).N) • Where N is unit basis vector, independent of U1 and U2, (U1U2).N ≠0) • Parallel (distinct) lines (U1U2 = 0) Common plane: • [(U1.N)V2-(U2.N)V1:(V1V2).N] with N.U10 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:(V1V2).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:(U1U2).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. 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] Distance Computation in R3 Spring 2013

  42. (1) Line-Point Distance L P2 D • 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 D D U Find the common plane [D:d] Find P1 containing L1 and D Find P2 containing L2 and D Find distance between P1 &P2 L2 [D:d] L1 P1 P2 Spring 2013

  44. (2b) Skewed Line Distance L2 U2 P2 U1 Generate P1 containing L1 and U2 Generate P2 containing L2 and U1 Find distance between P1 & P2 P1 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. 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 R={0:0:-1:1/3:-1/3:0} = {0:0:-3:1:-1:0} z 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 L2={-1:1:0:0:0:-1} x L3={0:-1:0:0:0:0} L1 R={0:0:-1:1:-1:0} z 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 • 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 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 Spring 2013

More Related