omegaFromRotationDeltas

How fast a rotating shape's surface moves, from its rotation this frame and last frame, so a swarm inside it can be dragged along.

omegaFromRotationDeltas(
  prev: {x: number; y: number; z: number} | null,
  next: {x: number; y: number; z: number},
  dt: number,
): {x: number; y: number; z: number} | null

Import sim from shaders/std and use sim.agentFrame.omegaFromRotationDeltas.

Angles in radians, dt in seconds. Null on the first frame.

Parameters

NameTypeNotes
prev{x: number; y: number; z: number} | null
next{x: number; y: number; z: number}
dtnumber

Example

om = agentFrame.omegaFromRotationDeltas(prevRot, next, dt) ?? om

See also

  • entrainmentFromOmega — The values force.containment reads for a rotating shape: the rotation rate capped at cap, and an entrain gain that grows with the rate up to gainMax.