美文网首页
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