Last change
on this file since 37 was
37,
checked in by (none), 14 years ago
|
Added original make3d
|
-
Property svn:executable set to
*
|
File size:
722 bytes
|
Rev | Line | |
---|
[37] | 1 | % L = vgg_line3d_pv_from_XY(X,Y) Pluecker vector 3d line from two 3d points.
|
---|
| 2 | %
|
---|
| 3 | % Syntax: L = vgg_line3d_pv_from_XY(X,Y) or
|
---|
| 4 | % L = vgg_line3d_pv_from_XY(XY)
|
---|
| 5 | %
|
---|
| 6 | % X, Y ... size (4,N), 3D points
|
---|
| 7 | % XY ... size (4,2*N), XY stacked as XY = [X1 Y1 ... XN YN].
|
---|
| 8 | % L ... size (N,6), Pluecker vector(s) of 3D line(s).
|
---|
| 9 | %
|
---|
| 10 | % It is vectorized for N>1.
|
---|
| 11 | %
|
---|
| 12 | % See vgg_line3d_*
|
---|
| 13 |
|
---|
| 14 | % T.Werner
|
---|
| 15 |
|
---|
| 16 | function L = vgg_line3d_pv_from_XY(X,Y)
|
---|
| 17 |
|
---|
| 18 | if nargin == 1
|
---|
| 19 | Y = X(:,2:2:end);
|
---|
| 20 | X = X(:,1:2:end);
|
---|
| 21 | end
|
---|
| 22 |
|
---|
| 23 | if size(X,2) == 1
|
---|
| 24 | L = [(X(1:3)*Y(4)-Y(1:3)*X(4))' vgg_wedge([X(1:3) Y(1:3)])];
|
---|
| 25 | else % vectorized version
|
---|
| 26 | L = [(X(1:3,:).*([1;1;1]*Y(4,:))-Y(1:3,:).*([1;1;1]*X(4,:)))' vgg_wedge(X(1:3,:),Y(1:3,:))];
|
---|
| 27 | end
|
---|
| 28 |
|
---|
| 29 | return |
---|
Note: See
TracBrowser
for help on using the repository browser.