Expand description
Terrell rotation: apparent rotation of fast-moving objects due to finite light speed.
Structs§
- Terell
Renderer - Terrell renderer: renders fast-moving objects with apparent rotation.
Functions§
- apparent_
position - Compute the apparent position of an object accounting for light travel time. The observer sees the object at its retarded position.
- finite_
light_ speed_ positions - For multiple objects, compute where they appear based on retarded time. Each object is (position, velocity). Returns apparent positions.
- light_
travel_ delays - Compute the time delay for light from each vertex to reach the observer.
- render_
moving_ cube - Render a moving cube: compute apparent vertex positions considering light travel time.
velocityis the cube’s velocity,observeris the observer position.cube_verticesare the 8 corners of the cube in the cube’s rest frame. - retarded_
time - Compute the retarded time: the time at which light must have left the object to arrive at the observer at the current time. t_retarded = t - |object_pos - observer_pos| / c
- sphere_
appearance_ deviation - Check if Terrell rotation makes a sphere still appear circular. Returns the max deviation from circular appearance.
- terrell_
rotation_ angle - Terrell rotation angle: the apparent rotation angle of an object moving at speed v.
For an object at angle
object_anglefrom the direction of motion, the apparent rotation is approximately arcsin(v/c). - unit_
cube_ vertices - Generate unit cube vertices centered at origin.