【问题标题】:How to compute projections of 3D meshes in matlab如何在matlab中计算3D网格的投影
【发布时间】:2011-09-05 01:38:17
【问题描述】:

我正在尝试使用 matlab 从不同视图计算 3d 网格的 2d 投影。 我现在使用的解决方案是绘制 3d 网格,旋转它,然后截屏。

我想知道是否有任何 matlab 内部函数或任何其他解决方案允许我在给定一组顶点和三角形的情况下计算投影而无需绘制 3D 网格

谢谢

【问题讨论】:

    标签: matlab 3d projection mesh


    【解决方案1】:

    您可以使用view 命令来旋转轴并更改视点。方位角和仰角以度为单位给出(更多信息请参阅文档)。这是一个小例子:

    ha=axes;
    [x,y,z]=peaks;
    surf(x,y,z);
    xlabel('x');ylabel('y');zlabel('z')
    
    %#projection on the X-Z plane
    view(ha,[0,0])
    
    %#projection on the Y-Z plane
    view(ha,[90,0])
    
    %#projection on the X-Y plane
    view(ha,[0,90])
    

    这就是它的样子:

    不同 2D 平面上的投影

    X-Z

    Y-Z

    X-Y

    【讨论】:

    • 感谢您的回答。但我已经在循环中使用 view 命令来获取 3D 网格的所有视图。我正在寻找一种解决方案,允许我在不绘制网格的情况下获取所有视图。类似于从缓冲区读取投影(如 iin opengl)
    • @mchahhou:您可以调用您的figure,并将visible 属性设置为offhf=figure('visible','off'); 在这种情况下,图形不会在屏幕上绘制(如果循环使用),但您仍然可以保存/打印/更改视图等。
    猜你喜欢
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 2018-05-03
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多