You can pass a "radius" or "size" parameter to the point command,  
which will make them smaller or larger. Also, you can look at the  
line3d command (pass it a list of points to get a curved line).

On Nov 11, 2008, at 8:11 PM, acardh wrote:

> I am drawing the line in this way:
>
> res=100
> theta1=38.7598
> phi1=-121.294
> theta2=40.3503
> phi2=-74.6594
> myline=[]
> for i in range(1,100):
>         myline[i] = ((i/res)*theta1 + ((res-i)/res)*theta2, (i/res)
> *phi1 + ((res-i)/res)*phi2)
> mydots = [(cos(t*theta)*cos(t*phi), sin(t*theta)*cos(t*phi), sin
> (t*phi)) for theta, phi in myline]
> #plotting
> world + sum([point3d(v, color='red') for v in city_coords]) + sum
> ([point3d(v, color='green') for v in mydots])
>
> Is there a way to draw the dots in 2D and not in 3D? I tried with just
> "point" instead of "point3d" but it didn't work. I would prefer to
> draw the line in 2D and keep the points for the cities in 3D.
>
> Thanks
>
>
> On Nov 10, 3: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