Package skyview.geometry
Class Scaler
java.lang.Object
skyview.geometry.Transformer
skyview.geometry.Scaler
- All Implemented Interfaces:
Serializable
,Component
This class does 2-D scalings, rotations and linear transformations.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionScaler
(double x0, double y0, double a00, double a01, double a10, double a11) Create a scaler where y0 = x0 + a00*x0 + a01*x1, y1 = x0+a10*x0+a11*x1. -
Method Summary
Modifier and TypeMethodDescriptionAdd a second affine transformation to this one and return the composite transformation.void
dump
(PrintStream out) Show the scaler.What is a descrition for this component?protected int
What is the dimensionality of the input to a ScalergetName()
What is a name for this component?protected int
What is the dimensionality of the output of a Scalerdouble[]
void
Interchange the X and Y axesinverse()
Return the inverse transformation.boolean
isInverse
(Transformer trans) Is this an inverse of the current scaler?double
scale()
What is the scale of this transformation? This is defined as the ratio of the lengths between a unit transformation on input.void
transform
(double[] x, double[] y) Scale a single point where the user supplies the output.Methods inherited from class skyview.geometry.Transformer
transform, transform
-
Constructor Details
-
Scaler
public Scaler(double x0, double y0, double a00, double a01, double a10, double a11) Create a scaler where y0 = x0 + a00*x0 + a01*x1, y1 = x0+a10*x0+a11*x1.- Parameters:
x0
- The X offsety0
- The Y offseta00
- Coefficient of the transformation matrix.a01
- Coefficient of the transformation matrix.a10
- Coefficient of the transformation matrix.a11
- Coefficient of the transformation matrix.
-
-
Method Details
-
getParams
public double[] getParams() -
getOutputDimension
protected int getOutputDimension()What is the dimensionality of the output of a Scaler- Specified by:
getOutputDimension
in classTransformer
-
getInputDimension
protected int getInputDimension()What is the dimensionality of the input to a Scaler- Specified by:
getInputDimension
in classTransformer
-
getName
What is a name for this component? -
getDescription
What is a descrition for this component?- Specified by:
getDescription
in interfaceComponent
-
transform
public void transform(double[] x, double[] y) Scale a single point where the user supplies the output.- Specified by:
transform
in classTransformer
- Parameters:
x
- The input point (should be double[2])y
- The output point (should be double[2])
-
inverse
Return the inverse transformation.- Specified by:
inverse
in classTransformer
- Returns:
- A transformation object that scales in the opposite direction.
- Throws:
TransformationException
- if the forward transformation matrix is singular.
-
add
Add a second affine transformation to this one and return the composite transformation.- Parameters:
trans
- A second transformation which is applied after the transformation described in 'this'.- Returns:
- The combined transformation.
-
isInverse
Is this an inverse of the current scaler?- Specified by:
isInverse
in classTransformer
-
scale
public double scale()What is the scale of this transformation? This is defined as the ratio of the lengths between a unit transformation on input. and the output. -
interchangeAxes
public void interchangeAxes()Interchange the X and Y axes -
dump
Show the scaler.
-