Title: Plcker Coordinate of a Line in 3Space
1Plücker Coordinate of a Line in 3-Space
2References
- Plucker coordinate tutorial, K. Shoemake rtnews
- Plucker coordinates for the rest of us, L. Brits
flipcode - Plucker line coordinate, J. Erickson cgafaq
3Introduction
- 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.
4Masons 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, q00 line through origin
- (q, q0) q0, (q00) not allowed
5The following from Shoemakes note
6Summary 1/3
7Summary 2/3
8Summary 3/3
9Notations
- Upper case letter a 3-vector U (ux,uy,uz)
- Vector U homogeneous version (U0)
- Point P homo version (P1), (Pw)
- Cross and dot product P?Q, U.V
- Plane equation axbyczdw0
- abcd or Dd with D(a,b,c)
- D0 origin plane plane containing origin
- Plucker coordinate UV
- Colon proclaims homogeneity
10Determinant Definition
LP-QP?Q
row x
row y
row z
row w
Make all possible determinants of pairs of rows
PQ
P?Q
11Example
P(2,3,7), Q(2,1,0). L UV
027-714-4.
Order does not matter
identical
Q(2,3,7), P(2,1,0). L UV
0-2-77-144
Identical lines two lines are distinct IFF their
Plucker coordinates are linearly independent
12Tangent-Normal Definition
LUU?Q
PQ UV U PQ V PQ (UQ)Q UQ
(U0) ? direction of line V0 ? origin plane
through L
Question any pair of points P,Q gives the same
UV? p.14
13Example
y
U(1,0,-1) Q(0,0,1) U?Q (0,-1,0) L10-10-1
0
x
y
z
If we reverse the tangent U(-1,0,1) Q(0,0,1) U?
Q (0,1,0) L-101010 still get the same
line
14Remark
PQkU U P Q kU V PQ (QkU) Q
kUQ PQ kUkV
Moving P and/or Q scales U V together! Similar
to homogeneous coordinates
15Remarks
- Six numbers in Plucker coordinate UV are not
independent. - Line in R3 has 4 dof. six variables, two
equations one from homogeneity one from U.V 0 - Geometric interpretation UV
- U line tangent (U?0, by definition)
- V the normal of origin plane containing L (V0 ?
L through origin) - Identical lines two lines are distinct IFF their
Plucker coordinates are linearly independent
Ex 0-2-77-144 and 0414-1428-8 are
the same (but different orientation)
210000 is different
16Example
LP-QP?Q LUU?Q
P(0,1,0) Q(1,0,0)
P(1,0,0) Q(0,1,0)
Q
P
U(1,-1,0) Q(0,1,0)
U(2,-2,0) Q(0,1,0)
U(-1,1,0) Q(0,1,0)
17Distance to Origin
T closest to origin Any Q on L Q T sU V
UQ U(TsU) UT V U T sin90
U T T.T (V.V) / (U.U) VU(UT)U
(U.U)T T(VUU.U)
Squared distance
Closest point
18Example
y
U(1,0,-1) Q(0,0,1) U?Q (0,-1,0) L10-10-1
0 T(VUU.U) (1012) (1/2,0,1/2) Squared
distance (V.V)/(U.U) 1/2
x
y
z
19Line 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.Pe) e(F.Pf) 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
20Example
y
E 100-1 F 0010 L E?FfE-eF
0-10001 Check P (1,1,0), Q (1,0,0) L
P-QP?Q 01000-1
P
x
Q
z
z 0 0010
x 1 100-1
21Line as Intersection of Two Planes2
- If both planes do not pass through origin, e?0
and f?0, we can normalize both planes to E1
and F1. - The intersecting line then becomes E?FE-F
L
Q
E1
F1
P-QP?Q
P
E?FE-F
L
Duality!
O
22Other Duality
- V0 origin plane thru L (V?0)
- T(V?UU.U) point of L ? (U0)
- (U0) direction of L
- U?VV.V plane thru L ? V0
U?VV.V
O
Verify!
V0
23Verify
LE ? FfE-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) UV
L
24Line-Plane Intersection1
Points on V?N0 (V?Nw) Intersection the
point on U?VV.V!
V?N0
(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?VV.V
UV ? N0 (V?NU.N)
25Line-Plane Intersection2
Nn
N0
O
L
V0
Derivation pending
UV ? Nn (V?NnUU.N)
26Example
U(1,0,-1) Q(0,0,1) U?Q (0,-1,0) L10-10-1
0 V?NnU (-1,0,0) (-2)(1,0,-1)
(1,0,-2) U.N (1,0,-1).(-1,0,0)
-1 Intersection at (-1,0,2)!
UV ? Nn (V?NnUU.N)
y
x
Intersect with y 0, 0100 (V?NU.N)
(0000), overlap Intersect with y 1,
010-1 (V?NnUU.N) (10-10) Intersect at
infinity
y
z
Z 2 001-2
27Common Plane1
Derivation pending
y
U (0,0,1) V U?Q (0,0,1) ?(0,1,0)
(-1,0,0) (Pw) (1101) U?P-wVV.P
010-1
x
z
28Common Plane2
Derivation pending
y
U (0,0,1) V U?Q (-1,0,0) N (1,0,0)
(-1,0,0) get the same U?NV.N 010-1
x
z
29Generate Points on Line1
- Useful for
- Computing transformed Plucker coordinate
- Line-in-plane test
Use UV ? N0 (V?NU.N)
Any N will do, as long as U.N?0 Take non-zero
component of U
N
N
U
O
30Example
y
As before L UV 001-100 Take N
(0,1,1) UV ? N0 (V?NU.N) (01-11)
x
z
31Example (cont)
Point-on-Plane Test Nn contain (Pw) IFF
N.Pnw 0
y
Is L in 1100? No (1,1,0).(0,1,-1) 0 ? 0
x
Is L in 1000? Yes (1,0,0).(0,1,-1) 0 0
z
32Point-on-Line Test
1. Generate two independent planes
containing the line. 2. Perform point-in-plane
tests twice
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?N1V.N1
and U?N2V.N2
x
N
z
33Example
L 001-100, P (01-21) N (0,0,1),
N1 (0,1,0), N2 (1,0,0) Plane1 -1000
(-1,0,0).(0,1,-2)0 0 Plane2 010-1
(0,1,0).(0,1,-2) - 1 0
y
P
N2
N1
U
N
x
z
34Duality
- Parametric equation of L
- Weighted sum of (U0) and T(V?UU.U)
- Pnt(t) (V?UtUU.U)
- Parametric form of planes through L
- Generate two planes as previous page
L 001-100 Pnt(t) (0-1t1)
35Two Lines Can Be
- Identical
- Linearly dependent Plucker coordinate
- Coplanar find common plane
- Intersecting find intersection
- Parallel find distance
- Skewed find distance
36Coplanarity Test
L2 U2V2
L1 U1V1
U1.V2V1.U2 0
L1U2 U1?U2V1.U2
L2 U1 U2?U1V2.U1
37L1 L2 Coplanar
L1 U1V1 L2 U2V2
- Find the common plane
- Intersecting lines U1?U2V1.U2
- Parallel (distinct) lines (U1?U2 0)
- (U1.N)V2-(U2.N)V1(V1?V2).N with N.U1?0
- Intersection (coplanar and nonparallel)
- ((V1.N)U2-(V2.N)U1-(V1.U2)N(U1?U2).N)
- Where N is unit axis vector, independent of U1
and U2
38Intersection Point
- Coplanar and non-parallel ? intersect
- ((V1.N)U2-(V2.N)U1-(V1.U2)N(U1?U2).N)
- Where N is unit axis vector, independent of U1
and U2
39L1 L2 Skewed
40Distance Computation in R3
41Line-Point Distance
L
P2
D
- Generate P1 containing L p as Dd
- Generate P2 containing L D
- Compute distance from p to P2
p
P1Dd
42Parallel Line Distance
D
D
U
Find the common plane Dd Find P1 containing
L1 and D Find P2 containing L2 and D Find
distance between P1 P2
Dd
L2
L1
P1
P2
43Skewed Line Distance
L2
U2
P2
U1
P1
Generate P1 containing L1 and U2 Generate P2
containing L2 and U1 Find distance between P1 P2
L1
44Application
- Ray-polygon and ray-convex volume intersection
45Relative Position Between 2 Lines
Here, the lines are oriented!! orientation
defined by U
Looking from tail of L1
46Example
Note here the line is oriented L and L are
not the same
y
R
L1100000
P(1/3,1/3,0) Q(1/3,1/3,1)
L3
L2
L2-11000-1
x
L30-10000
L1
R00-11/3-1/30 00-31-10
z
R vs. L1 (00-3).(000) (1-10).(100) 1
gt 0
R vs. L2 (00-3).(00-1) (1-10).(-110)
1 gt 0
R vs. L3 (00-3).(000) (1-10).(0-10)
1 gt 0
47Example
R
y
L1100000
P(1,1,0) Q(1,1,1)
L3
L2
L2-11000-1
x
L30-10000
L1
R00-11-10
z
R vs. L1 (00-1).(000) (1-10).(100) 1
gt 0
R vs. L2 (00-1).(00-1) (1-10).(-110)
-1 lt 0
R vs. L3 (00-1).(000) (1-10).(0-10)
1 gt 0
48Summary
49Defining Lines
- L UV, UV 0 and U?0
- L PQ PQ, P,Q distinct points on L line is
directed from Q?P - L U UQ, U direction, Q a point on line
- L EFfE eF Ee Ff distinct planes
containing line
50Basic Evaluations
- Minimum squared distance from origin
- (V.V)/(U.U)
- Point closest to origin
- (VUU.U)
- Plane/line intersection
- (VN-UnU.N)
- Plane defined by L and (Pw)
- UPVwV.P
- Plane containing L with direction N
- UNV.N
51The End
52Questions
- Plucker coordinate of transformed line
- Nonperspective transform P U
- Perspective transform P1 P2
- http//www.gamedev.net/community/forums/topic.asp?
topic_id275350
53(No Transcript)
54Example
y
U(1,0,-1) V(0,-1,0) L10-10-10 Different
normal gives different line L 10-1
0-20
x
y
z
Reverse normal gives different line U(1,0,-1) V(
0,1,0) L10-1010
x
z