/*----------------------------------------------------------------------*/ /* p2 * /\ * / \ * side1 / \ side0 * / \ * /________\ * p0 side2 p1 * */ public Triangle2D(Vector2 p0, Vector2 p1, Vector2 p2) { this.p0 = p0; this.p1 = p1; this.p2 = p2; side0 = new HesseNormalForm(p2, p1); side1 = new HesseNormalForm(p0, p2); side2 = new HesseNormalForm(p1, p0); area = Area(p0, p1, p2); }
/*----------------------------------------------------------------------*/ /* leftTop rightTop * +---+ * | | * +---+ * leftBottom rightBottom */ public Bounding2D(Vector2 leftBottom, Vector2 rightBottom, Vector2 rightTop, Vector3 leftTop) { this.leftBottom = leftBottom; this.rightBottom = rightBottom; this.rightTop = rightTop; this.leftTop = leftTop; right = new HesseNormalForm(rightTop, rightBottom); top = new HesseNormalForm(leftTop, rightTop); left = new HesseNormalForm(leftBottom, leftTop); bottom = new HesseNormalForm(rightBottom, leftBottom); leftBottomToRightTop = new HesseNormalForm(rightTop, leftBottom); areaLeftTop = Triangle2D.Area(leftBottom, rightTop, leftTop); areaRightBottom = Triangle2D.Area(leftBottom, rightBottom, rightTop); }