如何用3d变换计算2d边界框

时间:2010-07-27 05:41:31

标签: c# c++ math opengl geometry

我正在研究opengl项目。 我设置了透视投影并渲染了一个变换后的矩形(旋转,缩放)

我如何计算矩形的边界框(矩形位置,大小)

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过OpenGL执行的矩阵运行矩形,将3D点转换为2D屏幕空间。获取输入向量,将它们乘以您想要应用于对象的任何数据,ModelView矩阵,投影矩阵,然后您就有屏幕空间坐标。然后检查结果坐标是否在屏幕上,然后您可以计算最小/最大X和Y坐标,并且您有边界矩形。

如果您有可用的GLU实用程序库函数,请参见此处(9.100):

  

http://www.opengl.org/resources/faq/technical/transformations.htm

希望有所帮助。