public class Scaler extends Transformer implements Component
Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
Scaler |
add(Scaler trans)
Add a second affine transformation to this one and return the composite
transformation.
|
void |
dump(java.io.PrintStream out)
Show the scaler.
|
java.lang.String |
getDescription()
What is a descrition for this component?
|
protected int |
getInputDimension()
What is the dimensionality of the input to a Scaler
|
java.lang.String |
getName()
What is a name for this component?
|
protected int |
getOutputDimension()
What is the dimensionality of the output of a Scaler
|
double[] |
getParams() |
void |
interchangeAxes()
Interchange the X and Y axes
|
Scaler |
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.
|
transform, transform
public Scaler(double x0, double y0, double a00, double a01, double a10, double a11)
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.public double[] getParams()
protected int getOutputDimension()
getOutputDimension
in class Transformer
protected int getInputDimension()
getInputDimension
in class Transformer
public java.lang.String getName()
public java.lang.String getDescription()
getDescription
in interface Component
public void transform(double[] x, double[] y)
transform
in class Transformer
x
- The input point (should be double[2])y
- The output point (should be double[2])public Scaler inverse() throws TransformationException
inverse
in class Transformer
TransformationException
- if the forward transformation matrix is singular.public Scaler add(Scaler trans)
trans
- A second transformation which is applied after the transformation
described in 'this'.public boolean isInverse(Transformer trans)
isInverse
in class Transformer
public double scale()
public void interchangeAxes()
public void dump(java.io.PrintStream out)