원 그래프를 그리는 것 중, 세 점을 지나는 원을 그리는 내용이다. 먼저 점 3개가 주어졌다고 하자.
이 때, 이 세 점을 지나는 원의 중점은 다음 그림과 같이 두 점씩을 이은 선의 수직 이등분선의 교점이 된다. 이 때, 연결선은 임의의 두 점을 선택해도 무방하다.

여기서는 위와 같이 연결선을 만들었다고 가정한다.
/**
@brief 세점을 지나는 원의 중심점과 반지름을 구한다.
@param * r: 원의 반지름
@param * psRelMatchPos: 원의 중심점 좌표
@param * psCenterPoint: 세점들의 좌표
@return Error code
*/
ATF_ERR_T CiADAS_ReconstructorDlg ::Get_Three_Point_Circle(float* r, AT_FPOINT* psRelMatchPos, const AT_FPOINT* psCenterPoint)
{
float d1 = (psCenterPoint[1].x - psCenterPoint[0].x)/(psCenterPoint[1].y - psCenterPoint[0].y);
float d2 = (psCenterPoint[2].x - psCenterPoint[1].x)/(psCenterPoint[2].y - psCenterPoint[1].y);
float cx = ((psCenterPoint[2].y - psCenterPoint[0].y) + (psCenterPoint[1].x + psCenterPoint[2].x) * d2 - (psCenterPoint[0].x + psCenterPoint[1].x) * d1)/(2 * (d2 - d1));
float cy = (-d1 * (cx-(psCenterPoint[0].x + psCenterPoint[1].x)/2) + (psCenterPoint[0].y + psCenterPoint[1].y)/2 );
psRelMatchPos->x = cx;
psRelMatchPos->y = cy;
*r = sqrt(pow((float)(psCenterPoint[0].x - cx), 2) + pow((float)(psCenterPoint[0].y - cy), 2));
return ATF_ERR_NONE;
}| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 27 | 특정 파일이 있는지 확인하는 배치 스크립트 | 운영자 | 2019.04.06 | 14663 |
| 26 | 키보드 입력을 처리하기 | pjk | 2014.05.24 | 6335 |
| 25 | 체크박스가 선택되어 있는지 확인하는 GetCheck() | pjk | 2014.05.24 | 8793 |
| 24 | 윈도우 프로그래밍에서의 데이터 형 | pjk | 2014.10.13 | 6696 |
| 23 | 원의 중심과 반지름을 이용한 원 그리기 | pjk | 2014.05.30 | 8351 |
| 22 | 양끝이 평평한 pen(펜)의 굵기와 색깔 지정해서 선 그리기 | pjk | 2014.05.26 | 5677 |
| 21 | 쓰레드 동기화 기법 | pjk | 2014.05.24 | 6126 |
| 20 | 시리얼 통신 (COM Port open) | pjk | 2014.11.17 | 8748 |
| » |
세 점을 지나는 원 (3 Point Circle)
| pjk | 2014.06.05 | 13990 |
| 18 | 선의 스타일과 색상 및 굵기 지정방법 | pjk | 2014.05.24 | 5694 |
| 17 | 메모리 비트맵 | pjk | 2014.05.24 | 5626 |
| 16 | 디렉토리(directory) 접근 C++ Win32 함수 총정리 | pjk | 2014.10.13 | 6579 |
| 15 |
두점을 지나고 반지름을 알고있을 때 원의 중심점을 찾기
| pjk | 2014.06.09 | 10312 |
| 14 | WndProc | pjk | 2014.10.17 | 5135 |
| 13 | WinCE 디버그메시지 사용법(DEBUGMSG, RETAILMSG, ERRORMSG, NKDbgPrintfW) | pjk | 2014.07.21 | 6757 |
| 12 |
visual studio에서 유니코드 제어 문자 삽입
| makersweb | 2015.05.29 | 6642 |
| 11 |
Visual Studio MFC에서 디버깅용 콘솔 창 띄우기
| pjk | 2014.05.24 | 9894 |
| 10 | SetPixel() 을 사용하여 원을 그리기... | pjk | 2014.06.05 | 11838 |
| 9 | PictureControl 크기 구하기 | pjk | 2014.05.24 | 5476 |
| 8 | MFC의 다각형 그리기 | pjk | 2014.05.24 | 17353 |