삼각형의 외접원: 외접원의 반지름(radius of circumcircle of a triangle)
Image Recognition/Fundamental 2012. 10. 13. 20:27
세 점
세 점이 일직선 위에 놓이지 않기 위해서는
를 만족해야 한다.

그림의 삼각형에서
이제 삼각형 면적은 세 변의 길이 (
또한, 삼각형의 면적을 세 점이 일직선 위에 있는가를 테스트하는 식으로 표현하면
처럼 쓸 수 있다. 따라서 삼각형의 외접원의 반지름은 아래처럼 주어진다.
double circumradius(CPoint A, CPoint B, CPoint C) {
double ax = C.x - B.x, ay = C.y - B.y;
double bx = A.x - C.x, by = A.y - C.y;
double crossab = ax * by - ay * bx;
if (crossab != 0) {
double a = hypot(ax, ay);
double b = hypot(bx, by);
double cx = B.x - A.x, cy = B.y - A.y;
double c = hypot(cx, cy);
return (0.5 * a * b * c / fabs(crossab));
} else
return 0; //collinear
};
728x90
'Image Recognition > Fundamental' 카테고리의 다른 글
삼각형의 외접원: 외접원의 중심 2(center of circumcircle of a triangle) (9) | 2012.10.20 |
---|---|
삼각형의 외접원: 외접원의 중심(center of circumcircle of a triangle) (0) | 2012.10.19 |
Ellipse Parameters (0) | 2012.10.13 |
float 타입 변수의 절대값은? (0) | 2012.02.17 |
x 보다 크거나 같은 가장 작은 2^n ? (0) | 2012.02.13 |