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(); }
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()); }