Palette Reference – 06 – Thrower – Part 3 – Rotation

Posted by:

|

On:

|

,

There are 2 ways to specify a rotation amount. AngularVelocity and
TargetOmegaTargetOmega occurs client-side.

******************
AngularVelocity

Basically, a rotation amount determines how fast a rotation occurs around one or more axis. (x,y,z).  Each axis has its own speed.  It is in radians per second.  There are about 57 degrees in a radian so if you want one revolution per second then you need about 6 radians or more specifically 2-pi which is 6.283.

So to rotate around an x axis once per second you would need an AngularVelocity of <6.283,0,0>
Twice per second would be:  <12.566,0,0>

The chosen axis, usually just 1, determines whether the flight is more frisbee-like or more end-of-end (think football field-goal flight) depending on orientation.

SetAngularVelocity ignores mass.
SetAngularVelocity will slow down overtime.

******************
TargetOmega

SetTargetOmega will NOT slow down overtime. Its rotation is constant.

Example:
TargetOmega,<1.0,0,0>,6.283185,2

Where:
<1,0,0> =  the axis of rotation, usually  just one. <-1,0,0> will reverse the direction of the rotation/spin.

6.283185 = is the radians of revolution per second

2 = gain which is a multiplier of the radians.  So 2 is twice 6.23185 or 2 revolutions per second.  a value of zero would stop the revolution.

******************

We need to flip a switch to tell the Thrower program with method we are choosing.  We cannot choose both.

The switches in the *thrower nc are called:
SetAngularVelocity,(on/off)
SetTargetOmega,(on/off)