2014-03-29 7 views
-1

원 안쪽이나 바깥 쪽 마우스 위치를 기준으로 사각형을 회전하려고합니다.원의 바깥 쪽 원 변환

마우스의 위치에 가장 가까운 원에서 점을 결정할 수 있다면 그 점을 대상으로 사용하여 원을 따라 사각형을 변형 할 수 있습니다.

그러나 그 위치를 찾는 방법을 알 수는 없습니다. 아마도 y = mx + b를 사용하여 마우스 위치에서 선을 따라 원의 점에 도달 할 때까지 이동했다고 생각했습니다.

그러나이 문제는 내가 원의 모든 점을 가지고 있지 않으며 원의 수천 개가 아닌 경우 수백 개가 있다는 것입니다.

마우스 위치가 원 밖에있는 경우 마우스 위치에 가장 가까운 원에서 점을 찾으려면 어떻게해야합니까?

+1

질문을하지 않은 것 같아서 원하는 것이 무엇인지 명확하지 않습니다. 귀하의 게시물을 명확히하십시오. – Ffisegydd

+0

이 (가) 여전히 불분명한지 알려주세요. – user3222029

+0

지금까지 사용해 본 코드가 있습니까? 어떤 라이브러리/패키지를 사용하고 있습니까? 이런 종류의 정보가 없으면 누군가가 당신을 도울 수 없을 것입니다. – Ffisegydd

답변

0

math.atan2()을 사용하면 가운데에서 커서의 각도를 알 수 있습니다. 원은 중심에서 고정 된 거리가되므로 더 많은 삼각뿔로 원의 한 지점으로 각도와 거리를 변환 할 수 있습니다.

angle = math.atan2(ymouse - ycenter, xmouse - xcenter)