Hi Onno,
Wowsers.
At the moment, I was looking at simple 2D space for the following reason: If
the planets are all moving more or less on the same plane (not entirely
realistic to be sure!), then for purposes of visualization, one could go with a
2D surface and get the gist of planetary motion issues - as most of the planets
will be relatively on the same plane.
As for ignoring time spent accelerating - the formula Displacement = starting
velocity x time + 1/2 acceleration x time x time would be just as easily
implemented as ignoring the time spent accelerating. That is why I worked on
being able to record the built up velocity vector using polar coordinates
centered on the craft itself. That is also why I had to figure out how to add
vectors for acceleration and built up velocity together, and then finalize the
answer relative to the sun. While a little tricky, it shouldn't take all too
much effort to do (or I wouldn't have tried to do it!). When I get the chance,
I'll dig up my notes on what I figured out, and write it out as an algorithm.
This way, either of us can code it (assuming you want this for yourself that
is!)
As for programming on your vacation time, I have to smile at that knowing that
when I go on a camping vacation, my long suffering wife puts up with the stuff
I take, which includes a calculator, notebooks, and of course, gaming books.
When one is camping for a week with a tent, that tends to give one a lot of
time to think about things. :)
As I've mentioned before, graphics is definitely not my strong suit, and any
zooming in and/or out is something I will have to teach myself to do with
VB.NET, but I'm guessing that you're more capable with what you use (probably
not VB.NET) than I will ever be with anything. So I will definitely be
interested in anything you craft together!
Now, the ignoring of solar sailing craft? What might be fun in the long run is
to keep your options open in the sense that phase I of the program might
include only Traveller style constant acceleration reactionless drives. Phase
II might include reaction engine space craft, while Phase III might include
solar sailing craft. If you want, I'll dig up the formula for calculating
"sling shot" velocities based on using any of the planetary masses. I think
I've posted that formula at the other GURPS website...
Hal
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Onno Meyer
Sent: Wednesday, October 12, 2011 5:45 AM
To: The GURPSnet mailing list
Subject: RE: [gurps] Planetary movement and checking the Math
Hello Hal,
I'm not supposed to do any programming on my vacation, but a
little design can't hurt :-)
* Will your program be two-dimensional or three-dimensional?
The error of pressing everything into the ecliptic rivals
what you get from circularizing orbits, so if you do one,
why not the other?
* There might be four of five kinds of object on your map.
- The sun, at the center of it all, as reference point.
- Planets moving around the sun.
- Possibly moons moving around the planets.
- Constant-acceleration spacecraft, with an accel stat.
- Variable-acceleration craft, where accel changes over
time and delta-V is limited. It might be possible to
to ignore time spent accelerating, and to assume an
instant vector change followed by coasting.
I'm ignoring solar sailers, interstellar rocks, etc.
* There should be a "tabletop display" with a zoom function
and a clock which can be slowed, stopped, accelerated and
reset.
* The position of the planets could be calculated like that
of a coasting spacecraft, subject to the gravity of the
sun, and moons could be coasting around their planets.
As mentioned, that is probably overkill. Have the planets
move on a circle around the sun, and the moons move on a
circle around the planets. They move with the clock.
* For spacecraft, the first stage of the project covers
movement from one planet to another. Enter start time,
accel or delta-V, and the destination, and the system
calculates a flight plan. This is shown on the tabletop
display the same way planetary orbits are show, with
hash marks representing time. Probably ships get a
smaller time scale, and different hash marks.
* Really useful, and really difficult, would be various
"intercept calculator" options -- ship A moves from Mars
to Ceres, can ship B from Earth make an intercept or
even rendezvous? If so, where and when does it happen?
I'm using intercept to describe "same place, same time,
different vector" and rendezvous for "same place, same
time, same vector".
* There could also a tool which gives the next launch
window for minimum-time or minimum-delta-V flights
between planets.
* GT has two-dimensional, hexgrid, vector maneuvering rules.
Maybe the program should be able to zoom in to this scale,
to help with space combat.
That sounds like something like the running example/exercise
for a semester-long course Object-Oriented Programming 101.
Regards,
Onno
_______________________________________________
GurpsNet-L mailing list <[email protected]>
http://mail.sjgames.com/mailman/listinfo/gurpsnet-l
_______________________________________________
GurpsNet-L mailing list <[email protected]>
http://mail.sjgames.com/mailman/listinfo/gurpsnet-l