The set command has a units clause that defines the value of 1 unit.
This enhancement proposes that we allow the x axis to be drawn with a different scaling. In a script, all values are written or computed relative to the rest frame. In the same way, all values would still be written or computed with the x axis units matching the t axis units such that the worldline for light falls at a 45° or -45° angle, but a new command would allow the x axis units to be scaled.
For example, if we wrote set units 1 / (365.25 * 24 * 60 * 60); then the units are in seconds (t) and light seconds (x). If we then wrote scaleX 1/299792458; then things would be drawn with the t units still in seconds, but the x units in meters.
Some new unit constants might be useful to go with this:
- SECS_PER_MINUTE = 60
- SECS_PER_HOUR = 60 * SECS_PER_MINUTE
- SECS_PER_DAY = 24 * SECS_PER_HOUR
- SECS_PER_YEAR = 365.25 * SECS_PER_DAY
- M_PER_LIGHT_SECOND = 299792458
- M_PER_LIGHT_MINUTE = M_PER_LIGHT_SECOND * SECS_PER_MINUTE
- M_PER_LIGHT_HOUR = M_PER_LIGHT_SECOND * SECS_PER_HOUR
- M_PER_LIGHT_DAY = M_PER_LIGHT_SECOND * SECS_PER_DAY
- M_PER_LIGHT_YEAR = M_PER_LIGHT_SECOND * SECS_PER_YEAR
The set command has a units clause that defines the value of 1 unit.
This enhancement proposes that we allow the x axis to be drawn with a different scaling. In a script, all values are written or computed relative to the rest frame. In the same way, all values would still be written or computed with the x axis units matching the t axis units such that the worldline for light falls at a 45° or -45° angle, but a new command would allow the x axis units to be scaled.
For example, if we wrote
set units 1 / (365.25 * 24 * 60 * 60);then the units are in seconds (t) and light seconds (x). If we then wrotescaleX 1/299792458;then things would be drawn with the t units still in seconds, but the x units in meters.Some new unit constants might be useful to go with this: