package maps;
/**
A coordinate conversion that scales and translates coordinates.
*/
public class ScaleConversion implements CoordinateConversion {
private double xOrigin;
private double yOrigin;
private double xScale;
private double yScale;
/**
Construct a ScaleConversion.
@param xOrigin The x coordinate of the new origin.
@param yOrigin The y coordinate of the new origin.
@param xScale The scale factor for x coordinates.
@param yScale The scale factor for y coordinates.
*/
public ScaleConversion(double xOrigin, double yOrigin, double xScale, double yScale) {
this.xOrigin = xOrigin;
this.yOrigin = yOrigin;
this.xScale = xScale;
this.yScale = yScale;
}
@Override
public double convertX(double x) {
return (x - xOrigin) * xScale;
}
@Override
public double convertY(double y) {
return (y - yOrigin) * yScale;
}
}