It might be a little easier to generate a straight-line list of points
and then normalize them to length 1.

-M. Hampton

On Nov 10, 4:44 pm, Robert Bradshaw <[EMAIL PROTECTED]>
wrote:
> On Nov 10, 2008, at 12:57 PM, acardh wrote:
>
>
>
>
>
> > One more question about this. How can I draw a line between any two
> > given points?
>
> > I am doing this
> > world = sphere((0,0,0), size=1, color='blue')
> > cities = [(38.7598, -121.294),(40.3503, -74.6594),(27.959, -82.4821)]
> > t = RDF(pi/180)
> > city_coords = [(cos(t*theta)*cos(t*phi), sin(t*theta)*cos(t*phi),
> > sin(t*phi)) for theta, phi in cities]
> > world + sum([point3d(v, color='red') for v in city_coords])
>
> > How can I draw a line between these cities? I am not sure if there is
> > a direct function to do this. One way to do this might be drawing a
> > series of dots between any two cities using geocoordinates too.
> > Thanks
>
> There is a line command, but it draws a straight line (as if you were
> drilling a tunnel through the earth. The easiest would be your idea
> of making a set of dots.
>
>
>
> > On Nov 9, 8:53 pm, acardh <[EMAIL PROTECTED]> wrote:
> >> Thanks Robert, it's exactly what I needed. It was so easy for you, I
> >> guess.
>
> >> :o)
>
> >> On Nov 9, 12:28 am, Robert Bradshaw <[EMAIL PROTECTED]>
> >> wrote:
>
> >>> On Nov 8, 2008, at 7:52 PM, acardh wrote:
>
> >>>> Hi,
> >>>> Plotting an sphere is straightforward but I need help in how to
> >>>> draw
> >>>> points on the sphere. The sphere will represent the Earth and the
> >>>> points will be some geo-coordinates .
>
> >>>> Thanks!!!
>
> >>> This depends on how your points are given. I'm going to assume you
> >>> have latitude/longitude (in degrees), called phi and theta
> >>> respectively. Then one would draw the sphere via
>
> >>> sage: world = sphere((0,0,0), radius=1, color='blue')
>
> >>> Here I'm making 100 random cities.
> >>> sage: cities = [(ZZ.random_element(-180,180), ZZ.random_element
> >>> (-90,90)) for _ in range(100)]
>
> >>> Now I'll convert polar coordinates to regular xyz coordinates.
> >>> sage: t = RDF(pi/180)
> >>> sage: city_coords = [(cos(t*theta)*cos(t*phi), sin(t*theta)*cos
> >>> (t*phi), sin(t*phi)) for theta, phi in cities]
>
> >>> Now I'll plot them
> >>> sage: world + sum([point3d(v, color='red') for v in city_coords])
>
> >>> I could have, of course, done something more interesting than
> >>> "points"
> >>> sage: world + sum([tetrahedron(size=.1, color='yellow').translate(v)
> >>> for v in city_coords])
>
> >>> - Robert
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to