They say naming things is one of the hardest problems in computer programming. They were right.

Given the pseudocode below, what is a more appropriate name for this collection of properties? "Course", "Route", "Heading", "Orientation" all don't capture it.

class NewtonianStuff { // <-- Needs a better name
  vec3 position, velocity, acceleration; // <-- What is this group called
  quat rotation;

class SpaceShip {
    NewtonianStuff xxxxxx; // <-- What do you call that

Perhaps that collection is too abstract. What is the formal name for this collection of properties?

vec3 position, velocity, acceleration;

The best I can come up with is "PositionAndDerivatives", which doesn't really flow.

  • \$\begingroup\$ how about "point", assuming that the class is in sort of physics namespace, so it'd look like physics::point. You may also consider physics::motion, physics::object, and "xxxxxx" would be simply "state". \$\endgroup\$ Aug 16, 2012 at 22:02
  • \$\begingroup\$ Just go with dXYZThetaT. (Excedrin not included.) \$\endgroup\$
    – 3Dave
    Aug 17, 2012 at 3:09

2 Answers 2


The position and rotation (and scale) are generally referred to as the transform.

Velocity, acceleration, force, impulse, etc are usually just lumped together as "physics state" or "body" (which might also have handles to the shape of the physical object or any bounding shapes, or those might be part of a separate "collider"). I don't believe there is a formal name used in games for this collection of properties, especially as the properties used varies for each game / physics engines.

  • \$\begingroup\$ Scale, Rotation, Translation are from the computer graphics / linear algebra point of view. While Position and Translation here are equal, Translation has no interest in Velocity and Acceleration, like Position does. \$\endgroup\$ Aug 16, 2012 at 22:23
  • \$\begingroup\$ +1 If you can't find a proper name, that's because you need to organize your stuff in parts that do have proper names. \$\endgroup\$ Aug 16, 2012 at 22:34
  • \$\begingroup\$ +1 I have an abstract class called BasePhysicalBody that contains all these properties and some operations on them. \$\endgroup\$
    – Marton
    Aug 17, 2012 at 8:03

Like Sean said, position and rotation are usually referred to as the object's transform.

Velocity and angular velocity can be called the "kinematic state" or "kinematic properties" of your object.

Force, torque, and impulse can be called the "dynamic state" or "dynamic properties" of your object.

("Dynamics" and "kinematics" come from two sub-fields of classical mechanics that deal with motion with respect to forces and without respect to forces, respectively.)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .