Class Scaler

java.lang.Object
skyview.geometry.Transformer
skyview.geometry.Scaler
All Implemented Interfaces:
java.io.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

    Modifier and Type Method 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.

    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 java.lang.String getName()
      What is a name for this component?
      Specified by:
      getName in interface Component
    • getDescription

      public java.lang.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​(java.io.PrintStream out)
      Show the scaler.