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 -~----------~----~----~----~------~----~------~--~---