将3d数据投影到指定平面上-matlab
我拟合了一个平面,通过由18个点18x3组成的三维曲线,列是x,y,z数据。我知道需要把这18个点投射到飞机上。然后我需要旋转这个平面,并指向x-y平面,z=0将3d数据投影到指定平面上-matlab,matlab,3d,projection,Matlab,3d,Projection,我拟合了一个平面,通过由18个点18x3组成的三维曲线,列是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
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
这就是我到目前为止所做的。非常感谢您的帮助 你的问题是什么?我的问题是:1我如何将这些点投射到我已经穿过它们的平面上?2然后我需要旋转这些点,使它们位于xy平面上。很抱歉我刚才不清楚@Steffen 1:谢谢你的回复@Steffen。您发布的链接中所有问题的解决方案都假设我知道投影点的坐标。我有三维点和平面。如何计算平面上的投影点?