Package skyview.geometry
Class Scaler
- java.lang.Object
-
- skyview.geometry.Transformer
-
- skyview.geometry.Scaler
-
- All Implemented Interfaces:
Serializable
,Component
public class Scaler extends Transformer implements Component
This class does 2-D scalings, rotations and linear transformations.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Scaler
add(Scaler trans)
Add a second affine transformation to this one and return the composite transformation.void
dump(PrintStream out)
Show the scaler.String
getDescription()
What is a descrition for this component?protected int
getInputDimension()
What is the dimensionality of the input to a ScalerString
getName()
What is a name for this component?protected int
getOutputDimension()
What is the dimensionality of the output of a Scalerdouble[]
getParams()
void
interchangeAxes()
Interchange the X and Y axesScaler
inverse()
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 Detail
-
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 Detail
-
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
public String getName()
What is a name for this component?
-
getDescription
public String 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
public Scaler inverse() throws TransformationException
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
public Scaler add(Scaler trans)
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
public boolean isInverse(Transformer trans)
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
public void dump(PrintStream out)
Show the scaler.
-
-