Beispiel #1
0
  @Test
  public void testComputeRotationAngle() {
    IPoint pt1 = ShapeFactory.createPoint();

    assertEquals(Double.NaN, pt1.computeRotationAngle(null, null), 0.1);
    assertEquals(Double.NaN, pt1.computeRotationAngle(ShapeFactory.createPoint(), null), 0.1);
    assertEquals(Double.NaN, pt1.computeRotationAngle(null, ShapeFactory.createPoint()), 0.1);

    assertEquals(
        0.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(1, 0), ShapeFactory.createPoint(1, 0)),
        0.1);
    assertEquals(
        0.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(0, 1), ShapeFactory.createPoint(0, 1)),
        0.1);
    assertEquals(
        0.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(-1, 0), ShapeFactory.createPoint(-1, 0)),
        0.1);
    assertEquals(
        0.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(0, -1), ShapeFactory.createPoint(0, -1)),
        0.1);

    assertEquals(
        Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(1, 0), ShapeFactory.createPoint(0, 1)),
        0.1);
    assertEquals(
        Math.PI,
        Math.abs(
            pt1.computeRotationAngle(
                ShapeFactory.createPoint(1, 0), ShapeFactory.createPoint(-1, 0))),
        0.1);
    assertEquals(
        3. * Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(1, 0), ShapeFactory.createPoint(0, -1)),
        0.1);

    assertEquals(
        Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(0, 1), ShapeFactory.createPoint(-1, 0)),
        0.1);
    assertEquals(
        Math.PI,
        Math.abs(
            pt1.computeRotationAngle(
                ShapeFactory.createPoint(0, 1), ShapeFactory.createPoint(0, -1))),
        0.1);
    assertEquals(
        -Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(0, 1), ShapeFactory.createPoint(1, 0)),
        0.1);

    assertEquals(
        Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(-1, 0), ShapeFactory.createPoint(0, -1)),
        0.1);
    assertEquals(
        Math.PI,
        Math.abs(
            pt1.computeRotationAngle(
                ShapeFactory.createPoint(-1, 0), ShapeFactory.createPoint(1, 0))),
        0.1);
    assertEquals(
        -Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(-1, 0), ShapeFactory.createPoint(0, 1)),
        0.1);

    assertEquals(
        -3. * Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(0, -1), ShapeFactory.createPoint(1, 0)),
        0.1);
    assertEquals(
        Math.PI,
        Math.abs(
            pt1.computeRotationAngle(
                ShapeFactory.createPoint(0, -1), ShapeFactory.createPoint(0, 1))),
        0.1);
    assertEquals(
        -Math.PI / 2.,
        pt1.computeRotationAngle(ShapeFactory.createPoint(0, -1), ShapeFactory.createPoint(-1, 0)),
        0.1);
  }