Search in sources :

Example 1 with Interval2D

use of edu.princeton.cs.algs4.Interval2D in project algorithms-sedgewick-wayne by reneargento.

the class Exercise3 method drawAndCreateIntervals.

private static void drawAndCreateIntervals(Interval2D[] intervals, double min, double max) {
    StdDraw.setCanvasSize(1024, 512);
    StdDraw.setPenRadius(.015);
    StdDraw.setXscale(min, max);
    StdDraw.setYscale(min, max);
    for (int i = 0; i < intervals.length; i++) {
        Interval1D width = generateInterval1D(min, max);
        Interval1D height = generateInterval1D(min, max);
        Interval2D interval = new Interval2D(width, height);
        interval.draw();
        intervals[i] = interval;
        intervalMap.put(interval, new Interval1D[] { width, height });
    }
}
Also used : Interval1D(edu.princeton.cs.algs4.Interval1D) Interval2D(edu.princeton.cs.algs4.Interval2D)

Example 2 with Interval2D

use of edu.princeton.cs.algs4.Interval2D in project AlgorithmsSolutions by Allenskoo856.

the class Ex03 method main.

public static void main(String[] args) {
    int N = Integer.parseInt(args[0]);
    double min = Double.parseDouble(args[1]);
    double max = Double.parseDouble(args[2]);
    StdDraw.setXscale(min, max);
    StdDraw.setYscale(min, max);
    Point2D[] leftTopPoints = new Point2D[N];
    Point2D[] rightBottomPoints = new Point2D[N];
    Interval2D[] intervals = new Interval2D[N];
    for (int i = 0; i < N; i++) {
        double a = StdRandom.uniform(min, max);
        double b = StdRandom.uniform(min, max);
        double left, right, top, bottom;
        Interval1D x, y;
        if (a < b) {
            left = a;
            right = b;
        } else {
            left = b;
            right = a;
        }
        x = new Interval1D(left, right);
        a = StdRandom.uniform(min, max);
        b = StdRandom.uniform(min, max);
        if (a < b) {
            top = a;
            bottom = b;
        } else {
            top = b;
            bottom = a;
        }
        y = new Interval1D(top, bottom);
        leftTopPoints[i] = new Point2D(left, top);
        rightBottomPoints[i] = new Point2D(right, bottom);
        intervals[i] = new Interval2D(x, y);
        intervals[i].draw();
    }
    int containNum = 0, intervalNum = 0;
    for (int i = 0; i < N - 1; i++) {
        for (int j = 0; j < N; j++) {
            if (j > i && intervals[i].intersects(intervals[j])) {
                intervalNum++;
            }
            if (j != i && intervals[i].contains(leftTopPoints[j]) && intervals[i].contains(rightBottomPoints[j])) {
                containNum++;
            }
        }
    }
    System.out.println("Interval count: " + intervalNum);
    System.out.println("Contain count: " + containNum);
}
Also used : Interval1D(edu.princeton.cs.algs4.Interval1D) Point2D(edu.princeton.cs.algs4.Point2D) Interval2D(edu.princeton.cs.algs4.Interval2D)

Example 3 with Interval2D

use of edu.princeton.cs.algs4.Interval2D in project algorithms-sedgewick-wayne by reneargento.

the class Exercise22 method main.

public static void main(String[] args) {
    Exercise22 exercise22 = new Exercise22();
    Point2D point2D = exercise22.new Point2D(20, 13);
    StdOut.println(point2D.hashCode());
    Interval interval = exercise22.new Interval(1, 999);
    StdOut.println(interval.hashCode());
    Interval1D interval1D1 = new Interval1D(10.2, 30.20);
    Interval1D interval1D2 = new Interval1D(2, 1000);
    Interval2D interval2D = exercise22.new Interval2D(interval1D1, interval1D2);
    StdOut.println(interval2D.hashCode());
    Date date = exercise22.new Date(18, 4, 1989);
    StdOut.println(date.hashCode());
}
Also used : Interval1D(edu.princeton.cs.algs4.Interval1D)

Aggregations

Interval1D (edu.princeton.cs.algs4.Interval1D)3 Interval2D (edu.princeton.cs.algs4.Interval2D)2 Point2D (edu.princeton.cs.algs4.Point2D)1