Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将3d数据投影到指定平面上-matlab_Matlab_3d_Projection - Fatal编程技术网

将3d数据投影到指定平面上-matlab

将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

我拟合了一个平面,通过由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(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。您发布的链接中所有问题的解决方案都假设我知道投影点的坐标。我有三维点和平面。如何计算平面上的投影点?