-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
We will try to produce an object id schema system to keep track of objects and bodies. Some will be generated from within this libarary, others will be populated from MetaSim either directly or proxy from other reference engines. Top level positions/coordinates take precedent. Other parameters are meta, and might be equally synonmous with other reference engines. This is just a sketch of data that would be important.
- Identifiers
sim_id: [simulation id] from MetaSim/WebHex
guid: [global id] local
ss_id: [Solar system id] local, for getting absolute coordinates - Position Cartesian (center of mass, maybe integration later for moon volcanism)
x [barycentric ss position] local to send to renderer
y [barycentric ss position] local to send to renderer
z [barycentric ss position] local to send to renderer
vx [barycentric ss velocity] local to send to renderer
vy [barycentric ss velocity] local to send to renderer
vz [barycentric ss velocity] local to send to renderer - Revolution
per [period time to do one revolution if in stable orbit] = native year
phase [phase of the year,]
ses [seasonality of the planet based on rotation angles] - Rotation
http://en.wikipedia.org/wiki/File:Earth_precession.svg
w_p [rotation angle 'pitch'] = axial tilt
w_r [rotation angle 'roll'] = precesion
w_y [rotation angle 'yaw'] = time of day
f_p [rotation freq 'pitch']
f_r [rotation freq 'roll']
f_y [rotation freq 'yaw'] - Optional position equations to send to renderer
Eq(x, y, z) = Equation[ If Parabolic, If Hyperbolic, If Ellipse, Else NONE]
Parse from python to JavaScript to describe orbit of planet in case network lag slows
positioning. Each equation would include orbital params seen below: - Store radial/cyl coordinates as well for easier calculation internal
pos.r [radial position]
pos.w [theta angle ]
pos.p [phi angle]
pos.h [height = z] - Primary Descriptors
mass [mass of the object] local for modeling
mass_units [kg/tons, fractional Earth mass, etc]
objtype [object type: asteroid, comet, planetoid, rocky, terra, gas] local to send to M.S., terrainRE
subtype [ex. rocky->mercurial, etc] local to send to M.S., terrainRE - Secondary Descriptors
objage [how old it is]
tmp-avg [average "surface" temperature]
atmo [array for renderer, color, opacity, reflictivity, will feed renderer parameters]
density [average density calculated from size and mass]
metl [Metalicity]
ele [primary elements]
bom [bombardment level, to determine crater count for terrain] to terrainRE - Object descriptors if spheroid
sa-a [Semi-axis on x axis]
sa-b [Semi-axis on y axis]
sa-z [Semi-axis on z axis] - If non-spheroid / IE asteroid
- For large scale modeling, no data pull needed. For modeling Binary asteroids or rotations, there will be a dedicated script for converting asteroid into a density point cloud. Will work closely with terrain.
- Internal Modeling -[might talk to geologyRE later, but some elements need to be in this reference engine for tidal force modeling]
density[x,y,z]/[r,w,p]~~~
material[x,y,z]/[r,w,p] - Interplanetary Medium
dust[x, y, z, ion] clumped dust volumes into spatial model.
radCart[x,y,z, a, b, g, em] radiation map of the solar system
radObj[r, obj_id] [radiation level as a function of radius from an object] - alpha, beta, gamma, EM
Flairs TBD
Comet trails TBD
Accretion/Protoplanetary discs TBD
Planetary Nebulae (PNe) TBD