Class 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:
  • 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

    Modifier and Type
    Method
    Description
    add(Scaler trans)
    Add a second affine transformation to this one and return the composite transformation.
    void
    Show the scaler.
    What is a descrition for this component?
    protected int
    What is the dimensionality of the input to a Scaler
    What is a name for this component?
    protected int
    What is the dimensionality of the output of a Scaler
    double[]
     
    void
    Interchange the X and Y axes
    Return the inverse transformation.
    boolean
    Is this an inverse of the current scaler?
    double
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 offset
      y0 - The Y offset
      a00 - 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 class Transformer
    • getInputDimension

      protected int getInputDimension()
      What is the dimensionality of the input to a Scaler
      Specified by:
      getInputDimension in class Transformer
    • getName

      public String getName()
      What is a name for this component?
      Specified by:
      getName in interface Component
    • getDescription

      public String getDescription()
      What is a descrition for this component?
      Specified by:
      getDescription in interface Component
    • transform

      public void transform(double[] x, double[] y)
      Scale a single point where the user supplies the output.
      Specified by:
      transform in class Transformer
      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 class Transformer
      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 class Transformer
    • 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.