将OpenGL与正投影一起使用。
我在3d中定义了一个平面。它的位置和方向由4x4定义 基质
我希望能够做的是用鼠标在平面上画草图。
我可以通过从鼠标投射光线找到与平面的交点 进入屏幕。这一点是参考世界坐标系 (OpenGL的身份模型视图矩阵)x +右,y + up,z +离开屏幕。
我发现了很多这方面的例子,将光线与平面相交。
现在,如何将该点映射到平面的坐标系?这可能已在相关问题中得到解答,但我似乎无法找到它。
答案 0 :(得分: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