algorithm - 在有效时间内检查两个 3d 网格是否相等

标签 algorithm 3d blender

我正在编写一个将在虚拟现实上运行的应用程序。用户将能够创建自己的场景,上传 3D 文件 出于性能原因,我必须检查我的数据库中是否已经有用户上传的对象,或者是否必须保存它。 不能使用对象的名称

我正在考虑使用组合:网格的顶点数和体积/面积

但是,虽然给出了顶点数量,但我正在努力计算任何给定网格的体积或面积

有什么建议吗?

欢迎使用任何其他方法来检测两个相等的网格

编辑: 由于有人在评论中建议,网格的顶点数量将非常大,因此循环所有顶点非常昂贵。我正在寻找更好的妥协方案

最佳答案

对于每个网格,您可以在排序的顶点上计算哈希值(CRC64、MD5...)并将其与其他网格数据一起存储。

当有人尝试向您的应用程序添加新网格时,计算其哈希,检查具有相同哈希的网格,如果有,则比较顶点/面以确保其完全相同。

关于algorithm - 在有效时间内检查两个 3d 网格是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537560/

相关文章:

string - 带符号数字的字符串算术表达式分段算法

javascript - 对数复杂度 : Either the book has a typo or what's happening here?

javascript - Three.js:平滑地旋转与 OrbitControlscamera.rotation.y 相反的对象

animation - 从 3D 关节位置创建动画视频

three.js - Blender2.8 gltf 导出带有凹凸贴图、法线贴图或粗糙度贴图的 Three.js?

c++ - 如何找到除数以最大化余数?

c++ - Find() 函数的复杂度是多少

wpf3d 矩形 HitTest

iphone - 尝试 iPhone 上的小型 winy 3D 类(class)

json - Blender 导出的 JSON 模型在 THREE.js 中显示错误的动画