如何解决如何在3D矩阵中合并AABB长方体
我正在一个项目中,我需要将多维数据集合并为较大的长方体。然后,这些长方体需要检查它们是否可以合并在一起,然后才能拆分它们。我正在用LUA编写
local grid = {} -- 3D Matrix
for x=-64,64,1 do
grid[x] = {} -- x-axis
for y=-64,1 do
grid[x][y] = {} -- y-axis
for z=-64,1 do
grid[x][y][z] = nil -- z-axiz
end
end
end
每个网格值都包含一个ID和一个AABB。一次只放置一个块,然后一次只破坏一个块。我无法在线找到有关如何正确进行多轴立方体合并/断开的任何文档。
当块合并时,它们将具有相同的ID;当块合并时,它们将为新的长方体获得新的ID。此网格中只能有长方体,最有可能将递归用于中断。
我试图做的是: 我试图在触摸的长方体的组合AABB中循环所有值,然后检查网格中的每个值是新ID还是我要与之组合的块的ID。如果它是nil或另一个ID,我将不允许它合并,我会为所有方面这样做。
尽管我不知道自己做错了什么,但每次尝试都会使我陷入困境。 我可以使用伪代码作为答案。
如果您知道用于此特定目的的任何方法或算法,请告诉我。
如果您想了解更多信息,请询问 预先感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。