计算机图形学想要绘制三维的桌椅以及床,或者是其他的物体,都是非常简单的。
例如在我们的现实中,如果想要用木头制作简单的桌子,我们怎么办呢?
很简单,不就是长方体的四个脚,一个正方形的桌面,或者是圆形桌面。再把这些东西组合连接在一起,这就得到了一个简单的桌子了。
在我们的OpenGL中有这样几条代码,只需要这简单的几条,组合起来,就可以绘制出我们想要的组合物体(桌、椅、床等等)啦。
glutSolidCube(1);
这个函数是绘制一个立方体
glScalef(8, 8, 1);
这个函数是指物体xyz轴上的比例。通俗的,我们可以理解为我所想要绘制物体的长宽高。
glTranslatef(0, 0, 0);
这个函数是物体在我们所建立的三位坐标系下的坐标,如上代码,我们物体在坐标系中的坐标为(0,0,0),x=0且y=0且z=0的位置处。
就根据以上三条代码,获得不同长宽高的立方体,组合成想要的桌子了。
glPushMatrix();
glTranslatef(0, 0, 0);
glScalef(8, 1, 8);
glutSolidCube(1);
glPopMatrix();
如上代码的意思是:绘制一个x方向长8,y方向长1,z方向长8,在坐标系中(0,0,0)位置处的立方体。
首先我们画一个长8,宽8,高1的立方体,来做我们的桌面。
如图这就是绘制出来的立方体
这可能看不出来是个三维图形,那我把它转一定角度。
现在能看出来它是立方体了吧
接下来我们再画桌脚,四个桌角都是长1,宽1,高6的立方体,四个脚分别放在桌面下放四个角处。