2017-05-01 9 views
0

많은 장소를 살펴본 결과, 표준 중점 원 알고리즘 (전체 원을 만들기 위해 8 각형을 사용)을 설명하는 리소스를 발견하지 못했습니다. 원. 저는 이것을 사용하여 시야 반경 내에서 타일을 찾습니다.시작 각도와 끝 각도를 얻기 위해 중간 점 원 알고리즘을 변경하는 방법은 무엇입니까?

내가 사용하고있는 코드는 알고리즘을 구현하는 기본 Wikipedia 코드입니다.

"처리 중"을 사용하여 프로토 타입을 생성합니다.

이 알고리즘이 어떻게 작동하는지 이해하려고 노력 중이므로 수정할 수는 있지만 문제가 있습니다.

답변

0

래스터 화하는 점이 각도 (점)로 지정한 범위에 속하면 중간 점 알고리즘 또는 Bresenham 알고리즘을 조건으로 확장 할 수 있습니다. 범위를 얻으려면 원에서 출발점과 끝점을 찾아야합니다. 이것은 극좌표의 도움으로 쉽게 수행 할 수 있습니다. 반경이 r 인 원이 있고 각도가 theta이고 중심이 C(x0,y0) 인 경우 원의 점은 pCircle(x,y) = (x0 + r * cos theta, y0 + r * sin theta)으로 계산할 수 있습니다. 각도는 라디안 단위입니다.

+0

고맙습니다. 저는 삼각법과 극좌표 시스템에 익숙합니다. 더 자세히 조사한 후에 나는 당신이 묘사 한 것을 보여주는 무언가를 발견했습니다. 여기 같은 문제에 부딪친 사람들은 그것을 실천할 수있는 링크가 있습니다. http://answers.google.com/answers/threadview/id/769733.html 감사합니다. Croolman! –