Hands On DarkBASIC Pro - Digital Skills
Hands On DarkBASIC Pro - Digital Skills
Hands On DarkBASIC Pro - Digital Skills
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
FIG-31.27<br />
The SET OBJECT<br />
ROTATION ZYX<br />
Statement<br />
irrespective of that object’s current inclination. For example, if we use the<br />
YROTATE OBJECT statement to turn a cube to 60 o , the initial angle of the cube<br />
before the statement is executed is irrelevant since the end result will be that the<br />
cube will end up at the specified angle of 60 o . This type of rotation is known as<br />
absolute rotation.<br />
The SET OBJECT ROTATION Statement<br />
When an object is rotated about all three axes at the same time, the action is normally<br />
implemented by first rotating the object about the x-axis, then the y-axis and finally<br />
the z-axis. Of course, it's all done so quickly that the operation will appear to be<br />
instantaneous. However, should we want to reverse the order in which the rotations<br />
take place (i.e. z-axis first, x-axis last) then we can use the SET OBJECT<br />
ROTATION statement. <strong>On</strong>ce set, the order in which the axes are handled will<br />
remain on this new setting unless you revert to normal using a second option of the<br />
SET OBJECT ROTATION statement, which has the format shown in FIG-31.27.<br />
{{<br />
XYZ<br />
SET<br />
OBJECT ROTATION objno<br />
ZYX<br />
In the diagram:<br />
XYZ Use this option to return the order of rotations to<br />
the default x-axis, y-axis, z-axis order.<br />
ZYX Use this option to set the order of rotations to<br />
the z-axis, y-axis, x-axis order.<br />
objno is an integer value specifying the object whose<br />
order of rotation is to be modified.<br />
Rotating Objects - Relative Rotation<br />
FIG-31.28<br />
Relative Rotation Terms<br />
It is also possible to make an object rotate by a specific angle from its current setting.<br />
For example, if a cube has already been rotated 45 o about the local y-axis, we can<br />
command it to be rotated by a further 60 o giving a final rotation position of 105 o .<br />
This type of rotation - where the angle specified is added to the initial tilt - is known<br />
as relative rotation.<br />
When using relative rotation, different terms are used for rotation about each axis.<br />
Hence, we use the term PITCH for rotation about the x-axis, TURN for rotation<br />
about the y-axis and ROLL for rotation about the z-axis (see FIG-31.28).<br />
local x-axis<br />
DOWN<br />
UP<br />
RIGHT<br />
PITCH TURN<br />
ROLL<br />
local y-axis<br />
LEFT<br />
RIGHT<br />
local z-axis<br />
<strong>DarkBASIC</strong> <strong>Pro</strong>: 3D Primitives 769<br />
LEFT