Plcker Coordinate of a Line in 3 Space

  • Slides: 52
Download presentation
Plücker Coordinate of a Line in 3 -Space Spring 2013 1

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

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

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? !) •

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

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

The following are from Shoemake’s note… Spring 2013 6

Summary 1/3 Spring 2013 7

Summary 1/3 Spring 2013 7

Summary 2/3 Spring 2013 8

Summary 2/3 Spring 2013 8

Summary 3/3 Spring 2013 9

Summary 3/3 Spring 2013 9

Notations • • • Upper case letter: a 3 -vector U = (ux, uy,

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

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}

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}

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,

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.

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

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

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

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)

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

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]

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

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

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.

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}

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

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,

{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.

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

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: •

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:

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

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

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 =

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

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:

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},

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:

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:

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

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

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

(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

(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

(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

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

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

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:

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

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

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

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

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