Class RigidBody

java.lang.Object
org.episteme.natural.physics.classical.mechanics.collision.RigidBody

public class RigidBody extends Object
Represents a rigid body in 6DOF space (3 translation + 3 rotation).

Uses Quaternions for orientation to avoid gimbal lock. Integration is performed using symplectic Euler or RK4.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

  • Method Details

    • getCollisionShape

      public CollisionShape getCollisionShape()
    • setCollisionShape

      public void setCollisionShape(CollisionShape shape)
    • rotate

      public static Vector<Real> rotate(Vector<Real> v, Quaternion q)
    • integrate

      public void integrate(Real dt)
    • applyForce

      public void applyForce(Vector<Real> f, Vector<Real> p)
    • applyTorque

      public void applyTorque(Vector<Real> t)
    • getPosition

      public Vector<Real> getPosition()
    • getOrientation

      public Quaternion getOrientation()
    • getVelocity

      public Vector<Real> getVelocity()
    • getAngularVelocity

      public Vector<Real> getAngularVelocity()
    • getInertiaTensor

      public Matrix<Real> getInertiaTensor()
    • getInverseInertiaTensor

      public Matrix<Real> getInverseInertiaTensor()
    • getMass

      public Real getMass()
    • getInverseMass

      public Real getInverseMass()
    • getRotation

      public Quaternion getRotation()
    • getBoundingRadius

      public double getBoundingRadius()
    • setPosition

      public void setPosition(Vector<Real> position)
    • setVelocity

      public void setVelocity(Vector<Real> velocity)
    • setAngularVelocity

      public void setAngularVelocity(Vector<Real> angularVelocity)