【问题标题】:3D mesh to particle cloud conversion3D 网格到粒子云的转换
【发布时间】:2011-03-14 14:29:09
【问题描述】:

我需要将任意三角 3D 网格转换为均匀分布的粒子云。 第一个想法是尝试找到一种方法来填充一个 3D 三角形。然后填充网格的每个三角形,删除边缘上的重复粒子,但这太难了,而且工作量太大。我希望有更多的数学方法。

谁能给我指出一个算法,它可以帮助我正确地完成我的任务……嗯,至少是近似的?

谢谢

【问题讨论】:

标签: math 3d geometry particles


【解决方案1】:

有两个主要选项:

【讨论】:

    【解决方案2】:

    您可以使用 GIS 包或 R 等软件将 TIN 转换为栅格,然后在每个像素的中心检索一个点来表示该值。 (ArcGIS 中的示例)

    编辑:如果不规则的 3D 网格每个 {x,y} 有多个高度,则类似的方法是使用体素“网格”对网格进行采样,并为每个体素保留一个值。 GRASS GIS 有 functionality 获取 TIN(3d 网格)的顶点并将它们转换为体素,然后返回到常规的 3d 云。

    【讨论】:

    • @J.B.:我建议您通过提取每个像素的值并将其用作 z 值,然后将该“高度图”转换回常规 3d 网格。
    • 但是对于常规的 3D 网格 - 一对 {x,y} 可以有多个 z 值,因此这不适用于我需要的复杂 3D 形状到 3D 点云的转换。还是我错过了什么?
    • @J.B.:我可能误解了你的问题。我在考虑地形表面,但您似乎正在处理某种具有多个高度的 3D 对象在同一 {x,y} 处?如果是这样,可能会有类似的解决方案使用体素对网格进行采样并返回每个体素一个点。
    • 正确,我在考虑任意 3D 网格(凹面、凸面等)。你说的体素......这是个好主意,我会检查一下。
    • 我刚刚分析了解决方案。体素化会产生错误 - 粒子不会均匀分布。这是因为同一平面中立方体中心之间的距离为“a”,两个对角相邻立方体之间的距离为“a*sqrt(3)=a*1.73”,这会产生很大的局部误差(例如,想象体素化简单斜率)。
    猜你喜欢
    • 2018-05-30
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多