This is off-topic here, but I know some of you were math majors and probably know the answer to this easily.
I've been working on a little Python program to generate sundial charts. The sundial's gnonom casts a shadow on a flat surface that takes the shape of a hyperbola as the sun moves across the sky. I've been calculating this shape the brute force way, by rotating vectors using numpy, and seeing where they intersect the sundial surface plane. This works very well, but it's quite slow. What I'm wondering is, given a particular shape of double-napped cone (cone's angle is 180-2*sun_relative_declination, where sun_relative_declination is between 0 and 23.45 degrees), the distance between the points of the cones and the plane (the height the gnomon shadow-caster), and the angle of the plane through the cones (latitude), can I calculate the formula of the resulting hyperbola? I've spend days looking up information on hyperbolas and conic sections online and I haven't found any information yet on calculating the hyperbola based on the conics' parameters. Lots of diagrams of sliced cones though, all of the parallel to the axis of the cone. But in my case the slice is always at an angle (specified by one's latitude). Perhaps there is no formulaic way of calculating this, but I think there must be. I can post a diagram of what the cones look like and an explanation of the variables if someone wishes. /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
