Last change
on this file since 177 was
37,
checked in by (none), 15 years ago
|
Added original make3d
|
-
Property svn:executable set to
*
|
File size:
722 bytes
|
Line | |
---|
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.