【发布时间】:2014-05-09 01:07:11
【问题描述】:
我正在用 AABB 进行光线相交测试。它工作正常,直到我开始旋转 AABB 包含的对象。默认情况下,我的 AABB 已标准化协调范围从 (-1 , 1) ,所以为了让它们进入对象的世界维度我用 Object 的模型矩阵更新 AABB mins 和 max 转换那些。但是如果矩阵上有一个旋转,那么射线测试只有在它有默认的零旋转时才起作用。这是否意味着我不能旋转 AABB 进行相交测试?
【问题讨论】:
-
好吧,如果你旋转 AABB,那么它就不再是 AABB 了:)
-
是的,我明白了,但是我怎么能针对这样一个旋转的 AABB 进行测试。可能需要转换光线?
-
不,这行不通。如果你用一个模型旋转 AABB,那么它就不再是那个模型的 AABB。没看到就画出来。每次旋转模型时都必须重新计算 AABB,或者必须使用其他边界框。
-
你的意思是,重新计算以从对象的旋转中清除?
-
不,从旋转后的对象重新计算。
标签: opengl math matrix computational-geometry aabb