边界检测
我正在开发一个OpenGL 2.0项目。我从文件加载对象,该文件包含有关对象名称,位置,缩放和旋转的信息。边界检测
我在代码中得到了所有这些信息,现在我想计算所有加载对象的边界,以便我可以开始处理碰撞。
项目的比例值就是0.1,即它乘以一个维度向量以获得实际的边界维度。
例如对象1:缩放X:-0.1,Y:0.05,Z:0.1 对象2:缩放X:0.1,Y:0.1,Z:0.1
对象1:位置X:5,Y :21.7269,Z:0 对象2:位置X -58.0646 Y:-6.68359,Z:0
对象1:腐X:0,Y:0,Z:0 对象2:腐X:0, y:90,z:0
我的问题是,我想计算每个对象的尺寸即边界,怎样才能实现这个目标?
回答:
取决于“边界”的含义。如果你的意思是一个AABB(轴对齐包围盒),对每个单独的对象,它只是的
- 找到你所有的顶点
- 由规模
- 使用旋转变换分量乘以(或事用旋转矩阵或通过标准三角)
- 由位置找到极端上的轴
- 翻译矢量
其中许多可以按不同的顺序完成。
你可能最好从一些好的理论开始。 Real Time Collision Detection非常自我解释,并一直是我最喜欢的主题之一,并为任何有兴趣的人开始一个美好的地方。
从低维物理开始,直到概念更牢固扎根(也就是不使用z维度)才是一个好主意。
以上是 边界检测 的全部内容, 来源链接: utcz.com/qa/265692.html