示例#1
0
    /*----------------------------------------------------------------------*/

    /*             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);
    }
示例#2
0
    /*----------------------------------------------------------------------*/

    /*      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);
    }