Presentation is loading. Please wait.

Presentation is loading. Please wait.

Plücker Coordinate of a Line in 3-Space

Similar presentations


Presentation on theme: "Plücker Coordinate of a Line in 3-Space"— Presentation transcript:

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): 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 Determinant Definition
L={P-Q:PQ} Determinant Definition Q P L O … row x … row y … row z … row w Make all possible determinants of pairs of rows P–Q PQ 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:UQ} 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) 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 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 (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 Exercise L={P-Q:PQ} L={U:UQ} 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) 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 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 L [E:e] [F: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 Other Duality (U:0) direction of L T=(VU:U.U) point of L  (U:0)
L={U:V} (U:0) direction of L T=(VU:U.U) point of L  (U:0) [V:0] origin plane thru L (V0) [UV:V.V] plane thru L  [V:0] Q T U L O [UV: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] [UV: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 {VN:0} = (VN:w) Intersection: the point on [UV:V.V]! {VN: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 [UV:V.V] {U:V}  [N:0] = (VN: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] = (VN–nU:U.N) Spring 2013

27 Example 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)! {U:V}  [N:n] = (VN–nU:U.N) 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 Common Plane1 {U:V} and (P:w)  [UP-wV:V.P] Derivation pending y
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 {U:V} and (N:0)  [UN:V.N] Derivation pending y
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 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] = (VN:U.N) Any N will do, as long as U.N0 {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] = (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 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 [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) 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=(VU:U.U)
Pnt(t) = (VU+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: [U1U2: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: [U2U1:V2.U1] parallel lines (U1U2=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: [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 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


Download ppt "Plücker Coordinate of a Line in 3-Space"

Similar presentations


Ads by Google