By the way, here is a feature list:
Conversion
Dark Basic Professional uses Euler angles natively. Lets face it, Euler angles are confusing and hard to work with directly. In addition to Euler angles, EZrotate enhanced gives you the ability to work with Matrix Mathematics and Quaternion values. The rotation information of most 3D models is stored with Matrix Mathematics and animation data is usually stored with Quaternion values. With EZrotate Enhanced you can easily use that information directly to setup your objects.
True Global Rotation:
If you have ever tried to write simple code to roll a ball around on a flat surface you will immediately know how useful this feature of EZrotate enhanced is. There is no simple way to do global rotation with Euler angles, which in turn means that there is no simple way to do global rotation in Dark Basic Professional. Until Now! This feature will allow you to rotate your object on the global X, Y or Z axis.
Local Rotation:
In addition to the True Global rotation feature, EZrotate Enhanced also has a local rotation command set. These commands work similar to the free flight (pitch, roll, turn) commands provided by Dark Basic Professional. In other words, this command set will rotate an object on its own local X, Y and Z axis. The advantage of using the local rotation command set in EZrotate enhanced is its compatibility with all other rotation features of Dark Basic Professional and EZrotate Enhanced.
Vector Rotation:
By using the global and local command sets, there are up to six axis that you can rotate your objects on (Global X, Global Y, Global Z, Local X, Local Y, Local Z). What if you want to rotate your object around an axis other than the global or local ones? Vector rotation is the answer. With vector rotation you supply the coordinate of a point. EZrotate Enhanced creates an axis from the origin of your object to the point that you supply. Your object is then rotated around that axis by the amount that you specify. This feature increases the available rotation axis from six to infinity!
Orbit Rotation:
Now that you have read about the vector rotation command set, what else could possibly be left? Orbit Rotation offers even MORE freedom and power than vector rotations! With the orbiting feature, you define the coordinates of two separate points. These two points define an axis that your object will rotate around. Because the axis that you define does not have to pass through the origin of the object, the object will not only rotate, it will MOVE around the axis. This feature is very useful for making any type of object rotate around another. It is also very useful for making objects appear to rotate around points other than its origin. For example, If you create a door in a 3d modeling application, normally you would have to make sure that the door was positioned correctly in the modeling application. With the orbiting feature of EZrotate Enhanced, it does not matter where the origin of your object is located in the 3d modeling application. You can choose any locations for the rotation axis. Therefore you can easily adjust where you want the hinges to be.
Rotate Towards:
The point object command native to Dark Basic Professional is very powerful. However, what if you do not want to instantly point at the coordinate that you specify? Instead, what if you want to gradually rotate towards the coordinate by a specified angle? As you have probably guessed, that is exactly what this feature does! You supply a coordinate and an angle value. EZrotate Enhanced will rotate your object towards that coordinate using the shortest possible route.
Turn Pitch Towards:
This feature is very similar to the rotate towards feature. The difference is that your object will not “roll” on the Z axis when rotating towards the coordinate. This is very useful for any type of turret system. This command uses the shortest path available from the X and Y axis.
Find Point From Offset:
The Find point from offset feature will convert from a coordinate system that is local to your object to the global coordinate system. In other words, if you want to know the position of a point that is always a certain distance above / below / beside / in front / behind your object according to how it is currently rotated, this feature will solve the problem. This is a great replacement for the “glue object” command native to Dark Basic Professional. It is a great way to cut down the usage and overhead of “dummy” objects to track positions.
Find Offset From Point:
This command is the polar opposite of the Find Point From Offset feature. Instead, you supply a 3D coordinate and EZrotate will determine the distance to each an objects axis relative to how it is rotated (perpendicular distance). This feature setting up things such as 3D radars very simple.
Find Axis Angles:
This command set will return the true angle of each axis of an object. Unlike Euler angles, the angles returned when using this feature are independent of rotation order. This feature is great for keeping objects rotated within certain limits. It is also very useful for creating things such as flight gages.
Find Total Angle Between Points:
To use this feature, you supply the XYZ coordinates of three points. The first point is used as the base or origin. Now, imagine a line is drawn from the second point to the first, and another line is drawn from the third point to the first. EZrotate Enhanced will calculate the angle between those two lines. This is very usefully for things such as sight cones or generally to check if one object is within a certain angle range of another object.
EZrotate!
Tokamak Physics Wrapper!