[Date Index]
[Thread Index]
[Author Index]
3d-2d points
*To*: mathgroup at smc.vnet.net
*Subject*: [mg24463] 3d-2d points
*From*: Jeff Moran <prism at ulster.net>
*Date*: Tue, 18 Jul 2000 00:59:08 -0400 (EDT)
*Sender*: owner-wri-mathgroup at wolfram.com
Here's the problem:
On a 1:2 aspect ratio flat map of the Earth, using virtual colored gels
over the geographic satellite imagery, we divided the globe
into a dodecahedron12 identical pentagons with 3 converging at either
pole and six around the equator. Using the 3D program
Lightwave, we rendered an image of each pentagon face on. We know the
coordinates, in latitude and longitude, of each point of
each pentagon, so given the coordinates of a location somewhere on the
globe (e.g. New York City @ 40N42 and 74W00)--we can
determine the pentagon to which the location belongs.
Our problem is plotting an accurate representation of the location on
the rendered image. Our programmer (Aaron) was given very
helpful math on how to convert 3D coordinates to 2D which he translated
(roughly) into this code:
-------------------------------------------------
loc = location coord
center = pentagon center coord
sloc = loc - center --subtract center from loc coord to make it relative
to the center of the pentagon
theta = (PI * sloc.horz) / 180 convert coord to radians..
phi = (PI * sloc.vert) / 180
r = 3.5530 -- radius of the sphere in Lightwave
x = r * sin(theta) * cos(phi)
y = r * sin(phi)
z = r * cos(theta) * cos(phi)
f + .4696 -- focal length in Lightwave
d = 6.3682 -- the distance between the center of the sphere and the
viewer in Lightwave
sx = (f * x) / (d - z) -- 2D coords of the loc..
sy = (f * y) / (d - z)
----------------------------------
The problem we are encountering now is that this doesn't account for the
way latitude curves around the globe. This is especially
apparent around the poles (in the uppermost three and lowermost three
pentagons) where the curve is most pronounced. The
formula treats all locations as if the pentagon were centered (none are)
on the equator and prime meridian.
Prev by Date:
**Re: A strange bug in Solve**
Next by Date:
**RE: fade to mauve**
Previous by thread:
**Re: Need to reduce 2 lists so that only {x,y} pairs with same x remain**
Next by thread:
**ReadList: Is it really slow?**
| |