我通过由18个点组成的三维曲线拟合平面(18 x 3,列是x,y,z数据)。我知道需要将这18个点投射到飞机上。然后我需要旋转这个平面并指向x = y平面,z = 0。
C = planefit(Data(1,:),Data(2,:),Data(3,:)); % fit a plane the dataset
% plane parameters
x = -100:500;
y = -200:500;
[xx yy] = meshgrid(x,y);
zz = C(1)*xx+C(2)*yy + C(3) + 2*randn(size(xx));
plot3(Data(1,:),Data(2,:),Data(3,:),'b+:');
xlabel('x'); ylabel('y'); zlabel('z');
hold on;
zzft = C(1)*xx+C(2)*yy + C(3);
surf(xx,yy,zzft,'edgecolor','none') % plane
grid on
这就是我到目前为止所拥有的。非常感谢任何帮助!!