gpt4 book ai didi

algorithm - 如何将 3D 形状近似为网格?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:31 27 4
gpt4 key购买 nike

给定一个 3D 对象,如何将其转换为近似形状,其中对象的所有边都平行于任一坐标平面,并且所有顶点都具有整数坐标?例如,一个中心在原点、半径为 1.5 的球体将近似为一个中心在原点、边长为 2 的立方体。再例如,由x = y = 0.5 给出的直线的形状近似为长方体,无限长,宽和宽为 1,其位置使其其中一条边沿z 轴,而所有的面都沿着或平行于 x-z 或 y-z 坐标平面。

我只使用有限对象,上面的例子只是为了解释我的需求。我想要一种可以为我对任何形状执行此操作的算法。

最佳答案

在一般情况下,您需要确定每个轴上的最大和最小形状坐标,并定义最小轴对齐的整数边界框,其值为 rounded to larger (使用 Ceil)为最大值,并为最小坐标四舍五入为更小(使用 Floor)。例如:

XMin_Box = Floor(XMin_Shape)
XMax_Box = Ceil(XMax_Shape)

编辑:

如果您需要更精确地近似形状,请考虑某种 voxelization (2d 光栅化的 3d 模拟)

关于algorithm - 如何将 3D 形状近似为网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43840982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com