rotate必须作用于某个几何体上,不能单独使用。
rotate有两种参数装填形式。

1.放入空间矢量Vec3作为旋转轴轴向,再放入角度作为旋转角。

2.直接输入角度,此时默认旋转轴轴向为Z轴正方向。

旋转时,符合右手定则。即右手除大拇指外的四指握拳,大拇指向外伸出(点赞姿势)。此时让大拇指指向,与代表旋转轴轴向的空间矢量Vec3,保持一致,这时,四指弯曲的方向即为旋转的正方向。
举例:俯视图下,如果旋转轴为(0,0,1),即z轴正方向,则此时旋转的正方向为逆时针。此时输入一个角度的正值,则会逆时针旋转;输入负值,则会顺时针旋转。

示例:

testcube = scale(500,200,400) * Cube()
rotatecube = rotate(pi/2) * scale(500,200,400) * Cube()

2.1 绕X、Y、Z轴进行旋转

当我们需要将一个几何体绕X、Y或Z轴进行旋转时,我们可以使用rotx(theta),roty(theta)rotz(theta)这三个函数。这三个函数所需要状态的数值theta是角度值(弧度制),即如果需要绕X轴正半轴,按照正方向旋转90°时,应当写为rotx(pi/2)

示例:

testcube = scale(500,200,400) * Cube()
rotatecube = rotx(pi/2) * scale(500,200,400) * Cube()