source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/zisserman/vgg_multiview/vgg_line3d_pv_from_XY.m @ 37

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
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
16function L = vgg_line3d_pv_from_XY(X,Y)
17
18if nargin == 1
19  Y = X(:,2:2:end);
20  X = X(:,1:2:end);
21end
22
23if size(X,2) == 1
24  L = [(X(1:3)*Y(4)-Y(1:3)*X(4))' vgg_wedge([X(1:3) Y(1:3)])];
25else % 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,:))];
27end
28
29return
Note: See TracBrowser for help on using the repository browser.