2012-07-04 3 views
0

막대기 그림이 있다고 가정 해 봅시다. 스틱 그림에 팔꿈치와 손이 있다고 가정 해 봅시다. 스틱 피규어가 팔꿈치를 움직이지 않고 손을 풍차에서 돌리고 싶어한다면 어떨까요? 팔꿈치가 원의 중심 역할을하고 손이 항상 원의 원주 위에 있어야하고 팔꿈치와 손의 정확한 위치를 알고 있다면 반경을 유지하면서 원의 둘레를 어떻게 움직일 수 있습니까 (팔꿈치와 손 사이의 팔의 길이는 정말로 줄어들거나 성장하지 않기 때문에)?도를 기준으로 한 원주에서 점 찾기

원의 중심이 팔꿈치 인 원주를 따라 손의 좌표를 이동해야합니다. 이것은 2D입니다.

두 점의 좌표가 있습니다. 점 사이의 선의 길이 인 반경을 계산할 수 있습니다. 원의 중심과 반지름을 알면 원 원주를 따라 손을 어떻게 회전시킬 수 있습니까? 반경을 유지하면서 원주의 위치를 ​​변경하고 싶습니다. 기본적으로 힌지가 달린 것처럼 행동해야합니다.

P.S : 그림이 있지만 스택 오버플로가 너무 새롭다 고했습니다 ... Stack Overflow.

+0

아마도이 질문에 대한 답변은 도움이 될 것입니다 : http://stackoverflow.com/questions/839899/how-do-i-calculate-a-point-on-a-circles-circumference – pm08

답변

2

기본 삼각 함수는 말한다 :

x = r * cos(a); 
y = r * sin(a); 

이 계정에 손의 회전을하지 않고, 그냥 손목이 될 것입니다 원의 점을 보여줍니다. 그게 네가 쫓아 온거야?

편집 : 죄송합니다. 팔꿈치가 (0, 0)이고 x + ve가 맞고 y + ve가 올라가 있다고 가정합니다. 브라우저에서 일어나는로, y는 다음 대신 추가로 빼기, 아래로했습니다 +이며, 경우

wx = ex + r * cos(a); 
wy = ey + r * sin(a); 

: 팔꿈치 감안할 때

가에있다 (예, EY)는 손목에 있습니다.

+1

대개 cos() sin()은 라디안 단위의 인수를 취합니다. 각도가도 (degree)로 표시되면 (질문 대상에서 제안한 것처럼) 우선 pi/180을 곱해야합니다. –

+0

물론 'a'는 각이라고 명시해야합니다. – mathematician1975

+0

감사합니다. 손목은 내가 의미했던 것입니다. 미안하지만 내 질문은 모호했습니다. 나는 그것을 줄 것이다, 나는 왜 그것이 작동하지 않을지 모르겠다. –