0 Comments

opengl绘制一个机器人手臂的一些问题

发布于:2019-08-06  |   作者:admin  |   已聚集:人围观

  glPushMatrix(); //将当前的堆栈中所有的堆栈向下压入一级。其实是相当于记住当前的位置。

  //调用glTranslate()函数指定关节的位置,并调用了glRotate()使得长方体绕关节旋转后,应该将局部坐标的原点平移到

  问题1: 这是绘制机器人的一段代码,按照绘图的思路,本不是应该先画一个立方体,然后如果你想要达成什么效果,对其进行相应的模型变换么?这段代码前半部分暂且不说,就

  问题2:这段代码中使用的是glTranslate()函数指定关节的位置,那是移动了局部坐标系后的一个位置,如何你能保证最后的缩放后的那个立方体的关节就在之前你设置好的那个位置呢?

  可选中1个或多个下面的关键词,利来w66!搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人互联网行家采纳数:408获赞数:1333虚拟现实(VR/AR)以及游戏相关技术,物联网以及传感器技术向TA提问展开全部

  问题3,这对函数的调用就是保证他们之间的变换不会作用于以外的任何绘制,比如绘制第一个立方体缩放时不调用glPushMatrix()和glPopMatrix(); 你看看后面的绘制效果。实际上就是保存当前矩阵和恢复当前矩阵啊。。。要是我没解释清楚接着问吧

  问题2,就上臂来说,缩放后的立方体X方向是两个单位长,如果你直接做旋转那个是绕着立方体X方向的中间转,所以先右移一个单位,再旋转就是绕着立方体左端旋转了,然后再挪回一个单位。。。由于glPushMatrix()和glPopMatrix(); 的搭配调用,实际上对上臂的变换是作用于前臂的。画前臂同样是先右移以保证绕左端旋转而不是中间,然后再右移一个单位把它接到上臂那个立方体右端。

  

标签:
    神兽验证马:
点击我更换验证码