由于接下来的实验要实现火柴人的动作,所以实验要求要采用分层设计,如下图所示:
这样转动hip(臀部),整个火柴人就整体转动。比如如果要动左腿,那么在相对hip上进行自己的操作,这样设计对火柴人的动作实现很方便。
贴上自己的代码,程序用递归来实现分层设计,此外还增添了火柴人旋转功能:
#define _STDCALL_SUPPORTED
#include <GL/glut.h>
GLUquadricObj *uquadric; //二次曲面声明类型
void drawTorso();
void drawLeftleg1();
void drawRightleg1();
void drawLeftarm1();
void drawLefttarm2();
void drawRightarm1();
void drawRightarm2();
void drawNeck();
void drawHe