Coyote Graphics Routines

Date: Fri Mar 27 12:14:20 2015

single page | use frames     summary     class     fields     routine details     file attributes

.\

cgnormalize.pro


top cgNormalize

Graphics Utility

result = cgNormalize(range [, Position=float])

This is a utility routine to calculate the scaling vector required to position a graphics primitive of specified range at a specific position in an arbitray coordinate system. The scaling vector is given as a two-element array like this:

scalingVector = [translationFactor, scalingFactor]
The scaling vector should be used with the [XYZ]COORD_CONV keywords of a graphics object or model. For example, if you wanted to scale an X axis into the coordinate range of -0.5 to 0.5, you might type something like this:
xAxis->GetProperty, Range=xRange xScale = cgNormalize(xRange, Position=[-0.5, 0.5]) xAxis, XCoord_Conv=xScale

Parameters

range in required

A two-element vector specifying the data range.

Keywords

Position in optional type=float

A two-element vector specifying the location in the coordinate system you are scaling into. The vector [0.0,1.0] is used by default if Position is not specified.

Examples

Here is how to use this program:

xAxis->GetProperty, Range=xRange xScale = cgNormalize(xRange, Position=[-0.5, 0.5]) xAxis, XCoord_Conv=xScale

Author information

Author:

FANNING SOFTWARE CONSULTING:

David W. Fanning 1645 Sheely Drive Fort Collins, CO 80526 USA Phone: 970-221-0438 E-mail: david@idlcoyote.com Coyote's Guide to IDL Programming: http://www.idlcoyote.com

Copyright:

Copyright (c)1997-2013, Fanning Software Consulting, Inc.

History:

Change History:

Written by: David W. Fanning, OCT 1997. Fixed a problem with illegal divide by zero. 21 April 2005. DWF. Fixed a problem when range[0] is greater than range[1]. 11 July 2006. DWF. Renamed to FSC_Normalize to avoid conflicts with 10,000 other programs named NORMALIZE. 17 October 2008. DWF. Renamed to cgNormalize 6 February 2013. DWF. The number I chose (1e-12) to fix the illegal divide by zero problem was too large. I'm now using 1d-25 instead. 9 September 2013. DWF.

File attributes

Modification date: Fri Mar 27 11:07:41 2015
Lines: 119
Docformat: rst rst