Planets¶
Draft
This page is scaffolded. The outline below marks what it should cover.
A Planet (and the Earth preset)
is a world-level entity that ties a planet-fixed frame to the shared
fields.
To cover¶
- The planet-fixed frame — axis + rotation rate, and the symbolic +
numpy transforms between
PlanetFrameandWorldFrame. - Cartesian surface geometry — base
Planetis only a rotating Cartesian frame and uses radial scene-up.Earthseparately owns the oblate WGS-84 ellipsoid used by its physical fields and collision surface. Datum and latitude/longitude conversion belong to the consuming device adapter; Manta accepts the resulting planet-fixed Cartesian point. A spherical Earth isEarth(flattening=0.0). - Standing disturbances — what
Earthauto-registers on the world's shared fields: point-mass + J2 gravity (J2 on by default for the oblate Earth — with the spinning frame's centrifugal term it makes the ellipsoid an equipotential, so gravity is normal to the sea surface), anOcean+ ISAAtmospherepair of fluid regimes (baseline media built onPlanetFrameFluid) split at the ellipsoid, the sea surface as a solidEllipsoidcollision obstacle, a dipole magnetic field. - Initial-state factories —
earth.position(...),earth.velocity(...),earth.velocity(0, 0, 0)and how they resolve to WorldFrame seeds at compile time. Scene—earth.scene_at(planet_point)returns a local East/North/Up frame fixed in the planet's body frame, used as numeric I/O glue while the dynamics stay in WorldFrame:scene.at_rest(...)for full rigid-attachment placement (orbital velocity + body spin rate + local-tangent attitude) in small scene-local coordinates,scene.relative(state)to report a craft's pose/velocity scene-relative, andscene.world_pose(t)to anchor rendering (publish the scene's world pose, log children relative to it, track it) so the planet can stay at its true scale at the world origin.- Multiple planets in one world, superposing into the shared fields.
- Earth's rotation and the gyrocompass — sensing Earth-rate (see the gyrocompass demo).
Source material¶
- Reference: Planets
- Code:
manta/planets/*.py