作业帮 > 综合 > 作业

OpenGL做一机械臂 ,如何让其绕末端的轴旋转?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/21 21:23:52
OpenGL做一机械臂 ,如何让其绕末端的轴旋转?
使用opengl画一个三维机械模型,或者导入一个三维模型的机械臂,请教如何让其绕末端的机械臂轴旋转运动?而不是绕其自身坐标系轴运动
思考矩阵变换有两种方法,一种在局部坐标系思考,一种在全局坐标系下.针对一个变换序列如A乘B乘C乘x,其中A,B,C为矩阵,x为坐标,用局部坐标系思考,即为A先作用于x所在的局部坐标系,然后B在A作用过后的新的坐标系下再次对该坐标系进行变换,同理C继续对局部坐标进行变换后作用于x.而用全局坐标系思考的话,则矩阵作用顺序是与上面相反的,所有变换基于世界坐标系,及C先对坐标x在世界坐标系下变换后,B在对其在世界坐标系下变换,同理C得到最终结果,所有操作都是在世界坐标下的,比如旋转都是针对的世界坐标系下的原点.
在你这个例子中,你要让机械手臂绕其末端旋转,可使用全局坐标系考虑,使用(T的逆)*R*T*X.x为点坐标,其意义是先用一个平移矩阵T将手臂的末端移到世界坐标的原点,然后用R旋转矩阵进行旋转,最后将旋转过后的手臂再次利用T的逆矩阵平移回到原来的位置,即可得到最后你想要的绕末端的旋转.