Files
GR-raytracing/src/observer.h
T
2026-08-25 22:45:43 -04:00

25 lines
1.0 KiB
C

#ifndef OBSERVER_H
#define OBSERVER_H
typedef struct {
double coordinate_time;
double coordinate_position[3];
/* e_(0), then spatial (forward, up, right), in coordinate components. */
double tetrad[4][4];
} ObserverState;
ObserverState observer_fixed_at_origin(void);
/* Point the fixed inertial observer at an ICRS-style RA/Dec direction.
* The local spatial axes remain (forward, celestial north, increasing RA). */
ObserverState observer_fixed_at_origin_look_at(double ra_deg, double dec_deg);
/* Static camera at (radius, 0, 0) in Cartesian Kerr--Schild coordinates,
* directed toward the Schwarzschild black hole at the origin. */
int observer_static_schwarzschild_ks(double mass, double radius,
ObserverState *out);
/* Camera at (radius, 0, 0), moving inward at local speed inward_speed with
* respect to the static Schwarzschild observer. */
int observer_inward_schwarzschild_ks(double mass, double radius,
double inward_speed, ObserverState *out);
#endif