M-File Help: Plucker View code for Plucker

Plucker

Plucker coordinate class

Concrete class to represent a line in Plucker coordinates.

Methods

line Return Plucker line coordinates (1x6)
side Side operator

origin_closest origin_distance distance mindist point pp L intersect

Operators

* Multiply Plucker matrix by a general matrix
| Side operator

Notes

References


Plucker.Plucker

Create Plucker object

p = Plucker(p1, p2) create a Plucker object that represents the line joining the 3D points p1 (3x1) and p2 (3x1).

p = Plucker('points', p1, p2) as above.

p = Plucker('planes', PL1, PL2) create a Plucker object that represents the line formed by the intersection of two planes PL1, PL2 (4x1).

p = Plucker('wv', W, V) create a Plucker object from its direction W (3x1) and moment vectors V (3x1).

p = Plucker('Pw', p, W) create a Plucker object from a point p (3x1) and direction vector W (3x1).


Plucker.char

Convert to string

s = P.char() is a string showing Plucker parameters in a compact single line format.

See also

Plucker.display


Plucker.closest

Point on line closest to given point

p = PL.closest(x) is the coordinate of a point on the line that is closest to the point x (3x1).

[p,d] = PL.closest(x) as above but also returns the closest distance.

See also

Plucker.origin_closest


Plucker.display

Display parameters

P.display() displays the Plucker parameters in compact single line format.

Notes

See also

Plucker.char


Plucker.double

Convert Plucker coordinates to real vector

PL.double() is a 6x1 vector comprising the moment and direction vectors.


Plucker.intersect

Line intersection

PL1.intersect(pl2) is zero if the lines intersect. It is positive if pl2 passes counterclockwise and negative if pl2 passes clockwise. Defined as looking in direction of PL1

o                o
counterclockwise    clockwise

Plucker.intersect_plane

Line intersection with plane

x = PL.intersect_plane(p) is the point where the line intersects the plane p. Planes are structures with a normal p.n (3x1) and an offset p.p (1x1) such that p.n x + p.p = 0. x=[] if no intersection.

[x,T] = PL.intersect_plane(p) as above but also returns the line parameters (1xN) at the intersection points.

See also

Plucker.point


Plucker.intersect_volume

Line intersects plot volume

p = PL.intersect_volume(bounds, line) returns a matrix (3xN) with columns that indicate where the line intersects the faces of the plot volume specified in terms of [xmin xmax ymin ymax zmin zmax]. The number of columns N is either 0 (the line is outside the plot volume) or 2. LINE is a structure with elements .p (3x1) a point on the line and .v a vector parallel to the line.

[p,T] = PL.intersect_volume(bounds, line) as above but also returns the line parameters (1xN) at the intersection points.

See also

Plucker.point


Plucker.L

Skew matrix form of the line

L = PL.L() is the Plucker matrix, a 4x4 skew-symmetric matrix representation of the line.

Notes


Plucker.line

Plucker line coordinates

P.line() is a 6-vector representation of the Plucker coordinates of the line.

See also

Plucker.v, Plucker.w


Plucker.mindist

Minimum distance between two lines

d = PL1.mindist(pl2) is the minimum distance between two Plucker lines PL1 and pl2.


Plucker.mtimes

Plucker composition

PL * M is the product of the Plucker matrix and M (4xN).

M * PL is the product of M (Nx4) and the Plucker matrix.


Plucker.or

Operator form of side operator

P1 | P2 is the side operator which is zero whenever the lines P1 and P2 intersect or are parallel.

See also

Plucker.side


Plucker.origin_closest

Point on line closest to the origin

p = PL.origin_closest() is the coordinate of a point on the line that is closest to the origin.

See also

Plucker.origin_distance


Plucker.origin_distance

Smallest distance from line to the origin

p = PL.origin_distance() is the smallest distance of a point on the line to the origin.

See also

Plucker.origin_closest


Plucker.plot

Plot a line

PL.plot(options) plots the Plucker line within the current plot volume.

PL.plot(b, options) as above but plots within the plot bounds b = [XMIN XMAX YMIN YMAX ZMIN ZMAX].

Options

See also

plot3


Plucker.point

Point on line

p = PL.point(L) is a point on the line, where L is the parametric distance along the line from the principal point of the line.

See also

Plucker.pp


Plucker.pp

Principal point of the line

p = PL.pp() is a point on the line.

Notes

See also

Plucker.point


Plucker.side

Plucker side operator

x = SIDE(p1, p2) is the side operator which is zero whenever the lines p1 and p2 intersect or are parallel.

See also

Plucker.or


 

© 1990-2014 Peter Corke.