美文网首页
Matlab surf命令绘制一个三维平面

Matlab surf命令绘制一个三维平面

作者: AibWang | 来源:发表于2022-04-19 19:41 被阅读0次
surf(x, y, z, value)

x:矩阵
y:矩阵
z:矩阵
value:矩阵

  • 上述四个输入参数都是矩阵,且维度相同。
  • x(i, j)为第(i, j)点的x坐标,依次类推,四个矩阵的每一个值对应同一个点

注意事项

如下图所示,绘制一个三维平面,四个角点的顺序需要调整为A, B, D, C,即最后给出起始点的对角点,否则绘制出的是两个三角面。

image.png

四个角点坐标(singlePlane.txt)如下(已经按照A, B, D, C排好):

0.00 0.00 5.00
6.77 -5.93 5.00
-4.65 -4.08 7.01
2.12 -10.01 7.01

程序如下:

% ===== input ======
inf = './singlePlane.txt';

fp = fopen(inf, 'r');
data = textscan(fp, '%f %f %f');

x = data{1};
y = data{2};
z = data{3};

gx = reshape(x, 2, 2);
gy = reshape(y, 2, 2);
gz = reshape(z, 2, 2);
value = ones(2, 2);

surf(gx, gy, gz, value);

% set x lable
xlabel('X', 'color', 'b');
ylabel('Y', 'color', 'b');
zlabel('Z', 'color', 'b');
% set title
title('3D rectangle plane', 'FontSize', 10);
% set XYZ axis equal scale
daspect([1, 1, 1]);
% reverse Z axis
set(gca, 'ZDir', 'reverse');


fclose(fp);

相关文章

网友评论

      本文标题:Matlab surf命令绘制一个三维平面

      本文链接:https://www.haomeiwen.com/subject/xytbertx.html