OpenGL多次旋转或者旋转后平移怎么让世界坐标系一直维持不动
2个回答
展开全部
世界坐标系是不动的,
旋转,平移,缩放都是当前物体坐标系在上一个坐标系中变化。
关于上一个坐标系,其实就是矩阵堆栈顶端矩阵。如果你用glloadentity的话就会使当前堆栈顶端矩阵设为单位矩阵(其实就是变回世界坐标系了)。理解这个矩阵堆栈,你就会明白的。
而绘制物体是根据物体坐标系,比如设定顶点就是根据物体坐标系原点来指定。
至于楼主说的 “之后的平移就会沿着已经旋转过的轴移动”,应该是不对的吧,平移也是物体坐标系在上一个坐标系中平移,这样物体就会发生平移。
旋转,平移,缩放都是当前物体坐标系在上一个坐标系中变化。
关于上一个坐标系,其实就是矩阵堆栈顶端矩阵。如果你用glloadentity的话就会使当前堆栈顶端矩阵设为单位矩阵(其实就是变回世界坐标系了)。理解这个矩阵堆栈,你就会明白的。
而绘制物体是根据物体坐标系,比如设定顶点就是根据物体坐标系原点来指定。
至于楼主说的 “之后的平移就会沿着已经旋转过的轴移动”,应该是不对的吧,平移也是物体坐标系在上一个坐标系中平移,这样物体就会发生平移。
2017-08-23
展开全部
详见OpenGL超级宝典(第四版)第十二章“交互式图形”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询