Example #1
0
        public static LDPolygon getHugeTriangle(LDRect rect)
        {
            Debug.Assert(rect.left() < rect.right());
            Debug.Assert(rect.top() < rect.bottom());

            // 1) 与えられた矩形を包含する円を求める
            //      円の中心 c = 矩形の中心
            //      円の半径 r = |p - c| + ρ
            //    ただし、pは与えられた矩形の任意の頂点
            //    ρは任意の正数
            LDVector2 center=new LDVector2(rect.center());
            LDVector2 topLeft=new LDVector2(rect.topLeft());
            float radius = center.distanceToPoint(topLeft);

            radius += 1.0f;//適当に大きくする

            // 2) その円に外接する正三角形を求める
            LDCircle circle=new LDCircle(center.toPoint(), radius);
            return circle.getCircumscribedTriangle();
        }
Example #2
0
        public static LDPolygon getHugeTriangle(LDRect rect)
        {
            Debug.Assert(rect.left() < rect.right());
            Debug.Assert(rect.top() < rect.bottom());

            // 1) 与えられた矩形を包含する円を求める
            //      円の中心 c = 矩形の中心
            //      円の半径 r = |p - c| + ρ
            //    ただし、pは与えられた矩形の任意の頂点
            //    ρは任意の正数
            LDVector2 center  = new LDVector2(rect.center());
            LDVector2 topLeft = new LDVector2(rect.topLeft());
            float     radius  = center.distanceToPoint(topLeft);

            radius += 1.0f;//適当に大きくする

            // 2) その円に外接する正三角形を求める
            LDCircle circle = new LDCircle(center.toPoint(), radius);

            return(circle.getCircumscribedTriangle());
        }