EOS 2  1.1.0
Einfache Objektbasierte Sprache
Triangle.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.game.geom;
2 
3 import java.util.Arrays;
4 
5 import de.lathanda.eos.base.math.Point;
6 import de.lathanda.eos.base.math.Vector;
15 public class Triangle {
16  private double[] x;
17  private double[] y;
18  public Triangle(double x1, double y1, double x2, double y2, double x3, double y3) {
19  x = new double[] {x1, x2, x3};
20  y = new double[] {y1, y2, y3};
21  }
22  public Triangle(double[] x, double[] y) {
23  this.x = x;
24  this.y = y;
25  }
26  public double getX(int i) {
27  return x[i];
28  }
29  public double getY(int i) {
30  return y[i];
31  }
32  @Override
33  public String toString() {
34  StringBuilder s = new StringBuilder("Triangle ");
35  for(int i = 0; i < 3; i ++) {
36  s.append("("+x[i]+"/"+y[i]+")");
37  }
38  return "Triangle [x=" + Arrays.toString(x) + ", y=" + Arrays.toString(y) + "]";
39  }
40  public double getArea() {
41  return new Vector(x[1]-x[0], y[1]-y[0]).crossproduct(new Vector(x[1]-x[2], y[1]-y[2]))/2;
42  }
43  public Point getCenter() {
44  return new Point((x[0]+x[1]+x[2])/3, (y[0]+y[1]+y[2])/3);
45  }
46  public void move(double dx, double dy) {
47  for(int i = 0; i < 3; i++) {
48  x[i] += dx;
49  y[i] += dy;
50  }
51 
52  }
53 }
double crossproduct(Vector b)
Definition: Vector.java:455
Triangle(double[] x, double[] y)
Definition: Triangle.java:22
Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
Definition: Triangle.java:18
void move(double dx, double dy)
Definition: Triangle.java:46
Impressum