如何在 Matlab 中查看给定平面中的事物?

How to view things in a given plane in Matlab?

我还没有找到一种方法来查看我在特定平面内用 plot3 绘制的东西。例如,我想在二维视图中看到所有对象的投影,对应于平面 x+y+z=1。有什么命令可以做到这一点吗?

您可以使用 view 命令实现此目的,将法向量传递给您的平面:

view([1,1,1])

在这种情况下(如 here 所述),我们可以从等式

的系数 [a,b,c] 中获取法向量
ax + by + cz = d

绘制平面本身的示例:

[x y] = meshgrid(0:0.1:1);
z = 1 - x - y;
surf(x,y,z)

view([1,1,1]); % <-- key line

xlabel('x'); ylabel('y'); zlabel('z');

此外,我们可以绘制法线,当您直接沿着它看时,从该视图中看不到该法线!

hold on
plot3( [0 1], [0 1], [-1 1], 'r' )