0

将 OpenGL 与正交投影一起使用。

我已经在 3d 中定义了一个平面。它的位置和方向由一个 4x4 矩阵定义。

我想做的是用鼠标在飞机上画草图。

我可以通过将鼠标的光线投射到屏幕上来找到与飞机的交点。这一点是参考世界坐标系(OpenGL的身份模型视图矩阵)x+ right, y+ up, z+ out of the screen。

我发现了很多这样的例子,将射线与平面相交。

现在,我如何将该点映射到平面的坐标系?这可能已在相关问题中得到解答,但我似乎无法找到它。

4

1 回答 1

2

定义平面的一种方法是通过两个非共线向量和一个基点。

p(u,v) = ↑r + u·↑a + v·↑b, where u,v are scalars

完成平面射线相交后,您知道与平面 ↑h 的交点,根据定义,它必须位于平面上。要获得该点的 u,v 值,您必须将向量从 ↑r 投影到交点到基向量 ↑a 和 ↑b 上:

u = (↑h - ↑r) · ↑a ; where '·' denotes the scalar product
v = (↑h - ↑r) · ↑b
于 2013-09-29T22:04:15.303 回答