【问题标题】:Hidden surface removing in MatlabMatlab中的隐藏表面去除
【发布时间】:2014-12-05 14:20:21
【问题描述】:

我将 3D 对象表示为 a) 云点和 b) 三角形网格 我的目标是旋转这个对象,而不是获得一个从一个特定视图可见的表面。 然后我会删除从给定视图中看不到的点。有谁知道如何在 MATLAB 中做到这一点。什么方法最快? 带有点云的文件包含每个点的坐标,以及存储在三个 RGB 通道中的颜色信息。 第一行:

`-35.4717 88.8637 -99.3782  97 78 46`

如果有任何帮助,我将不胜感激。

【问题讨论】:

    标签: matlab cloud hidden points surface


    【解决方案1】:

    一种可能的方法是重新实现图形处理器的管道。

    变换您的对象并将所有三角形投影到图像平面中。在这个图像平面中,可以存储三角形每个部分的距离。 使用该信息,您可以检查顶点是否比您绘制到图像平面中的顶点更远。

    【讨论】:

    • 我真的很喜欢这个问题,因为我自己也在努力解决这个问题。只是为了补充上面的评论,在可见表面非常弯曲和重叠的情况下会发生什么。由于曲面的弯曲度,彼此相邻的可见顶点的距离会有所不同,在这种情况下上述方法是否会失败。请进一步详细说明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2013-01-17
    • 1970-01-01
    • 2014-12-15
    • 2014-09-20
    • 1970-01-01
    相关资源
    最近更新 更多