comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » An easier way to draw a geodesic?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
An easier way to draw a geodesic? [message #70344] Sat, 03 April 2010 18:24
Aram Panasenco is currently offline  Aram Panasenco
Messages: 41
Registered: April 2010
Member
Hello, everyone! I've been programming in IDL for a little under a
year now, and I am currently building a program part of which involves
graphically selecting a 4-point polygon on a sphere (each side of
which is a geodesic).
For that, I record the user's clicks and moves on the screen and store
the x- and y- coordinates of the points they selected in a 2x4 array.
The array is then processed by a function that transforms it into x-
and y- coordinates of a spherical polygon. To do so, it first converts
the coordinates to spherical using cv_coord. Then it uses the library
function map_2points to find the longitude-latitude path arrays
between the 4 point pairs. Then it combines all the longitudes and
latitudes into one array, and cv_coord's them back into cartesian
coordinates. The points are then used as data for an IDLgrPolyline
object.

The function works, but the resulting polygon looks extremely choppy,
making it practically impossible to do any precision work (which is
necessary). So my question is - how do I draw a geodesic curve without
using three precision-degrading processes (cv_coord, map_2points, and
cv_coord again) in a row?

Thank you,
~Aram Panasenco

P.S. I can post the function that renders the polygon online if
necessary.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Fortran 2003
Next Topic: Using IDL Help on Mac OS clients

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 15:48:38 PDT 2025

Total time taken to generate the page: 0.00437 seconds