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

Home » Public Forums » archive » Polar plots
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Polar Plots [message #24845 is a reply to message #6889] Thu, 26 April 2001 02:25 Go to previous message
Dr. Otto Jusko is currently offline  Dr. Otto Jusko
Messages: 5
Registered: June 2000
Junior Member
I have written a package for analysing data of form profiles i.e.
straightness and roundness profiles. For the roundness case extended polar
plotting is needed. I don't think that it can be used without modification.
But the principle might be of interest.

Basically it works like this:

A plot center is defined and the data is converted to carthesian coordinates.
After that a command like the following is executed:

winkel = array of angular steps
rawdat = polar data
auswfakt = scaling factor
...
rect_dat = cv_coord (from_pol=transpose([[winkel],[rawdat* auswfakt,
rawdat[0]* auswfakt]]),/to_rect)
radius = fltarr(N_elements(winkel)) + plotradius
radius = cv_coord (from_pol=transpose([[winkel],[radius]]),/to_rect)
rect_dat = rect_dat + radius
...
rect_dat[0,*] = rect_dat[0,*] + plot_center[0]
rect_dat[1,*] = rect_dat[1,*] + plot_center[1]
..
plots, noclip=0, rect_dat,/device


For circular axes the following is performed: A max. and min. radius is
defined. Coordinates of the vectors for the axes are calculated.

zwinkel = array of angular steps
LinCnt = Counter for several plot circles
add25 = a small value

maxradius = fltarr(N_elements(zwinkel)) + maxrad[LinCnt]-add25
maxradius = cv_coord (from_pol=transpose([[zwinkel],[maxradius]]),/to_rect)
maxradius[0,*] = maxradius[0,*] + plot_mitte[0]
maxradius[1,*] = maxradius[1,*] + plot_mitte[1]
minradius = fltarr(N_elements(zwinkel)) + minrad[LinCnt]+add25
minradius = cv_coord (from_pol=transpose([[zwinkel],[minradius]]),/to_rect)
minradius[0,*] = minradius[0,*] + plot_mitte[0]
minradius[1,*] = minradius[1,*] + plot_mitte[1]

After that everything is plotted in a single command:

plots, noclip=0, rect_dat,/device


Otto




Chris Bull schrieb:

> Hi all,
>
> I was just wondering if anyone had extended (and is willing to share) the
> IDL basic polar plot routine to include useful things like circular axes
> etc (before I slave over doing it myself! :*)
>
> Regards
>
> Chris Bull
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: sec : U Re: MPI_Plot Was: Something else
Next Topic: Re: AAARGH!!! IDL5.2 crashes with CALL_EXTERNAL

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

Current Time: Fri Oct 10 00:33:34 PDT 2025

Total time taken to generate the page: 0.16126 seconds