Show ComplexRectangle.java syntax highlighted
package mandelbrot.math;
/**
* <code>ComplexRectangle</code>
*
* @author Jakub Jarvenpaa
*/
public class ComplexRectangle {
private static final long serialVersionUID = -1596035554645442123L;
private ComplexNumber lowerLeftCorner;
private ComplexNumber upperRightCorner;
public ComplexRectangle(String areaStr) {
String[] a = areaStr.split(",");
ComplexNumber corner1 = new ComplexNumber(Double.parseDouble(a[0]), Double.parseDouble(a[1]));
ComplexNumber corner2 = new ComplexNumber(Double.parseDouble(a[2]), Double.parseDouble(a[3]));
resolveLowerLeftCorner(corner1, corner2);
resolveUpperRightCorner(corner1, corner2);
}
public ComplexRectangle(ComplexNumber corner1, ComplexNumber corner2) {
resolveLowerLeftCorner(corner1, corner2);
resolveUpperRightCorner(corner1, corner2);
}
private void resolveLowerLeftCorner(ComplexNumber corner1, ComplexNumber corner2) {
double lowerLeftReal = Math.min(corner1.getReal(), corner2.getReal());
double lowerLeftComplex = Math.min(corner1.getComplex(), corner2.getComplex());
lowerLeftCorner = new ComplexNumber(lowerLeftReal, lowerLeftComplex);
}
private void resolveUpperRightCorner(ComplexNumber corner1, ComplexNumber corner2) {
double upperRightReal = Math.max(corner1.getReal(), corner2.getReal());
double upperRightComplex = Math.max(corner1.getComplex(), corner2.getComplex());
upperRightCorner = new ComplexNumber(upperRightReal, upperRightComplex);
}
public ComplexNumber getLowerLeftCorner() {
return lowerLeftCorner;
}
public ComplexNumber getUpperRightCorner() {
return upperRightCorner;
}
public double getHeight() {
return upperRightCorner.getComplex() - lowerLeftCorner.getComplex();
}
public double getWidth() {
return upperRightCorner.getReal() - lowerLeftCorner.getReal();
}
public String toString() {
return getLowerLeftCorner().getReal() + ","
+ getLowerLeftCorner().getComplex() + ","
+ getUpperRightCorner().getReal() + ","
+ getUpperRightCorner().getComplex();
}
}
See more files for this project here