gpt4 book ai didi

c++ - 我什么时候应该找到附加到模型的 BoundingBox 的最小值和最大值

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:32 28 4
gpt4 key购买 nike

我正在为我的 DirectX 11/12 管道中的任何 3D 模型实现一个 ModelClass。

我的具体问题在于计算我希望用作 ModelClass 成员的 BoundingBox 结构的最小值和最大值。

我有两种计算它们的方法。

方法 1.当从文件中读取每个顶点时,存储当前的 minx、y、z 和 maxx、y、z,并根据当前的最小/最大 x、y、z 检查每个顶点。

方法 2.加载完所有顶点后,按 x、y、z 排序,找到每个点的最低值和最高值。

您会推荐哪种方法,为什么?

最佳答案

方法一

时间复杂度为 O(n),内存复杂度为 O(1)。

实现起来很简单。

方法二

时间复杂度为 O(nLogn) 内存复杂度可能至少是线性的(如果您复制数组或使用合并排序)或 O(1) 如果您使用像快速排序这样的就地排序算法。

每个维度都必须执行 3 次。

总而言之,方法 1 在我能想到的所有场景中都是最好的。

关于c++ - 我什么时候应该找到附加到模型的 BoundingBox 的最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55380376/

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