## nbody-app.pkg
# One way to run this app from the base-directory commandline is:
#
# linux% my
# eval: make "src/lib/x-kit/tut/nbody/nbody-app.lib";
# eval: nbody_app::run ();
# Compiled by:
#
src/lib/x-kit/tut/nbody/nbody-app.libpackage nbody_app {
#
package v = gravity_simulator::v;
fun make_data (x, y, vx, vy, m, r, cs)
=
( (x, y), # position
(vx, vy), # velocity
m, # mass
r, # radius
cs # "cs" was probably "color specification"
);
planet_data
=
map
make_data
# position velocity
# (x, y ) (vx, vy ) mass radius cs
# ------------ ------------ ------- ------ ------------
[ ( 0.0, 0.0, 0.0, 0.0, 1.99e33, 8, THE "orange"),
(5.85e12, 0.0, 0.0, 4.76e6, 3.29e26, 2, THE "yellow"),
(1.08e13, 0.0, 0.0, 3.51e6, 4.84e27, 4, THE "green" ),
(1.50e13, 0.0, 0.0, 2.97e6, 5.98e27, 4, THE "blue" ),
(2.25e13, 0.0, 0.0, 2.43e6, 6.57e26, 3, THE "red" ),
(7.80e13, 0.0, 0.0, 1.30e6, 1.90e30, 6, THE "brown" )
# ( 7.80e13, 0.0, 0.0, 1.30e6, 1.90e32, 6, THE "brown" ),
# (-7.80e13, 0.0, 0.0, -1.30e6, 1.90e32, 6, THE "goldenrod1")
];
# animate_sim_g is from
src/lib/x-kit/tut/nbody/animate-sim-g.pkg package animate_sim
=
animate_sim_g (
package gravity_simulator = gravity_simulator;
planet_data = planet_data;
);
run = animate_sim::do_it;
selfcheck = animate_sim::selfcheck;
};