One of the things that makes 3D Math allot faster / easier-to-use in engines like Unity and Virtools ( Game Maker has this for 2D ) is the ability to use Relative Matrix Space in translations / rotations etc.
For example, when you have a camera or enemy that rotates over it's Y axis and travels into the direction it's facing, you currently have to calculate the Velocity Vector using cos / sin ( or a Matrix Library when it's more then 1 Axis ), while in "those other packages" you just use the Object you want the translation to be relative to.
Unity
Code: Select all
Translate (translation : Vector3, relativeTo : Space = Space.Self) : void
Code: Select all
void Translate(Vector Vect{ref}, Entity3D Ref = , bool KeepChildren = false)
K