2014-04-16 3 views
-1

원에 두 점이 있습니다. 중심으로부터의 각도와 1 점의 좌표를 압니다. 나는 다른 지점의 좌표를 찾고 싶다. 나는 회전 행렬을 곱하여 포인트를 찾는 것이 필요하다고 생각합니다. C++에서 어떻게 할 수 있습니까? 거기에 어떤 기능이 있습니까?C++의 좌표계에서 점을 계산하십시오.

+0

을 얻기 위해 다시 원점을, 원의 중심에 원점을 이동 회전을 적용하고 이동해야합니다 너는 이미 시험해 보았고, 실제로 갇혀있는 곳은 어디 였니? 귀하의 질문을 향상 시키십시오 (** 편집 **). –

답변

1

당신은 직접 X COS (각도)를 사용하여 계산할 수 있습니다 - Y 죄 (각도) X 죄 (각도) + Y COS (각도)

코사인 죄 기능 math.h 에서 사용할 수를 회전은 반 시계 방향 이고 회전은 원점을 기준으로합니다. '각도'는 라디안이어야합니다. 원의 중심이 원점에 위치하지 않은 경우

다음 먼저 무슨 짓을 다른 지점

+0

그래서 newX = x * cos (angle) - y * sin (angle)처럼 쓰고 올바른 좌표를 계산할 것입니다. 맞습니까? – user3126199

+0

예 newX = x * cos (각도) - y * sin (각도) 및 newY = x * sin (각도) + y * cos (각도). 회전은 반 시계 방향으로 이루어지며 각도는 라디안이어야합니다. 시계 방향으로 원하면 '-angle'을 할 수 있습니다. – BlAcKBirD

관련 문제