답변:
간단한 수학을 사용하여 그렇게 할 수 있습니다.
X := originX + cos(angle)*radius;
Y := originY + sin(angle)*radius;
(originX, originY) 는 원의 중심입니다. 반경 은 반경입니다. 그게 다야.
이것은 사인과 코사인이 수학적으로 단위 원과 관련되어 있기 때문에 작동합니다 .
이미지 제공 : LucasVB (자작) [공개 도메인, 위키 미디어 공용 통해 . (70 %로 축소)
Krom으로 표시된 파라 메트릭 방정식을 사용할 수 있습니다. 우리가 왜이 공식을 사용했는지 이해하려면 방정식이 무엇인지 이해해야합니다. 이 방정식은 파라 메트릭 circle of circle 에서 파생됩니다 .
아래 다이어그램에 표시된대로 원점이 중심 (O)으로 그려진 원을 고려합니다.
반지름이 r 인 원의 원주에 "p"점을 찍으면
OP (Origin to p)의 각도를 θ로 설정하십시오. x 축에서 p의 거리를 y로 지정 y 축에서 p의 거리를 x로 설정
위의 가정을 사용하여 아래와 같이 삼각형을 얻습니다.
이제 우리는 cos θ = base / hypotenuse 이고 sin θ = vertical / hypotenuse
이것은 우리에게 cos θ = x / r 과 sin θ = y / r을줍니다
:: x = r * cos θ 및 y = r * sin θ
그러나 원이 원점이 아니고 (a, b)에 있다면 원의 중심이 이동되었다고 말할 수 있습니다
x 축의
단위 b
축의 y 축 단위
이러한 원에 대해 x와 y 축에 시프트를 추가하여 그에 따라 매개 변수 방정식을 변경할 수 있습니다.
x = a + (r * cos θ)
y = b + (r * sin θ)
여기서 a & b는 원 중심의 x, y 좌표입니다.
따라서 우리는 x와 y가 반지름 r을 갖는 원의 원주에서 점의 좌표를 발견했습니다.
sin (x + a) 및 cos (x + a) 수식을 사용하고 sin (a) 및 cos (a)를 계산할 수있는 또 다른 트릭이 있습니다.이 각도는 이동하려는 각도입니다. 현재 위치에서 한 번만 가능하며 각 단계에서 곱셈과 덧셈을 수행하십시오.
sin (x + a) = sin (x) * cos (a) + cos (x) * sin (a), iirc.
물론, 그것은 일정한 각속도를 가정합니다.
그러나 제한된 산술 정밀도에주의하십시오. 과거의 "원형"모션은 시간이 지남에 따라 가끔 반올림되는 결과로 나선을 그리는 방식으로 구현되었습니다. 각 회전 후 위치를 (x0, y0)으로 재설정해야 할 수도 있습니다.