FITLINE3D Fit a 3D line to a set of points.
LINE = fitLine3d(PTS)
Example
pts = randn(300, 3);
pts = transformPoint3d(pts, createScaling3d([6 4 2]));
pts = transformPoint3d(pts, createRotationOx(pi/6));
pts = transformPoint3d(pts, createRotationOy(pi/4));
pts = transformPoint3d(pts, createRotationOz(pi/3));
pts = transformPoint3d(pts, createTranslation3d([5 4 3]));
elli = equivalentEllipsoid(pts);
figure; drawPoint3d(pts); axis equal;
hold on; drawEllipsoid(elli, ...
'drawEllipses', true, 'EllipseColor', 'b', 'EllipseWidth', 3);
line = fitLine3d(pts);
drawLine3d(line, 'color', 'm', 'LineWidth', 4);
See also
lines3d, equivalentEllipsoid, fitPlane
Package: matgeom