Code Search for Developers
 
 
  

ComplexRectangle.java from GridBlocks at Krugle


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

GridBlocks

GridBlocks builds a grid application framework via easy-to-use building blocks in distributed environment. The framework offers components for Grid security, distributed storage, computing, and Portlet web interfaces.

Project homepage: http://sourceforge.net/projects/gridblocks
Programming language(s): Java,JSP,XML
License: other

  ComplexNumber.java
  ComplexRectangle.java