transform_velocity

Function transform_velocity 

Source
pub fn transform_velocity<T>(
    velocity: &VelocityTransform<T>,
    transform: &Transform3D<T>,
    position: &[T; 3],
) -> VelocityTransform<T>
where T: Copy + Debug + Default + 'static + Add<Output = T> + Mul<Output = T> + Sub<Output = T> + NumCast,
Expand description

Transform a velocity from one frame to another

Given a velocity in frame A and a transform from frame A to frame B, computes the equivalent velocity in frame B.

For a point moving with velocity v_a in frame A, the velocity v_b in frame B is: v_b = R * v_a + ω × (R * p_a) where:

  • R is the rotation matrix from A to B
  • ω is the angular velocity of frame A relative to frame B
  • p_a is the position of the point in frame A
  • × represents the cross product

For transform chain conversion, we follow similar rules as spatial transforms.