opengl基本转换

opengl基本转换,opengl,graphics,matrix,rotation,Opengl,Graphics,Matrix,Rotation,矢量可以旋转和缩放,因为它具有方向和缩放。但这是否意味着绘制一个点。这一点只能翻译。但是维基百科说“例如矩阵 R=[cos0,-sin0] [sin0,cos0] 逆时针旋转xy笛卡尔平面中的点,使其绕笛卡尔坐标系原点旋转角度θ 此外,“由于矩阵乘法对零向量(原点坐标)没有影响,因此旋转矩阵只能用于描述围绕坐标系原点的旋转”,这意味着什么。"? 这是否意味着我不能围绕原点以外的任何点旋转?当然,要围绕原点以外的其他点旋转,必须创建一个矩阵,将顶点从旋转中心平移到原点,旋转,然后从原点转换回旋转

矢量可以旋转和缩放,因为它具有方向和缩放。但这是否意味着绘制一个点。这一点只能翻译。但是维基百科说“例如矩阵 R=[cos0,-sin0] [sin0,cos0] 逆时针旋转xy笛卡尔平面中的点,使其绕笛卡尔坐标系原点旋转角度θ


此外,“由于矩阵乘法对零向量(原点坐标)没有影响,因此旋转矩阵只能用于描述围绕坐标系原点的旋转”,这意味着什么。"? 这是否意味着我不能围绕原点以外的任何点旋转?

当然,要围绕原点以外的其他点旋转,必须创建一个矩阵,将顶点从旋转中心平移到原点,旋转,然后从原点转换回旋转中心。

在描述转换时,维基百科和其他网站通常会提到对“点”的影响;但是,这隐式地适用于坐标系中的每个点(明确的例外情况如原点旋转)。这些变换(通常为旋转、平移和缩放)适用于整个参考系和任何衍生参考系。“点”一词的使用是数学意义上的,是坐标系中坐标的选择,并不意味着图形意义上的点,如“绘制的”或“绘制的”点(尽管绘制点只是这个概念的可视化,因此区别是没有意义的)


虽然旋转确实对原点没有影响,但您可以自由平移原点本身,或等效地相对于原点平移模型。应用旋转后,可以反转平移以恢复原始原点

向量和点之间的区别纯粹是语义上的。当你考虑一个向量时,你认为它是一个从(0,0,0)->(x,y,z)的方向,对于一个点,它是(x,y,z)相对于(0,0,0)的方向。这就是为什么大多数图书馆不区分它们。Vec3可以是顶点或描述方向的向量。它只是相对于原点的P。