2017-12-02 23 views
1

현재 경마장 주변에서 다른 자동차를 움직이려고합니다. I는 선로의 단부 주위 차량의 속도를 변화 시키도록원을 따라 움직이는 물체의 속도를 변경하기위한 공식

Canvas move object in circle

ARCCOS에 기재된 화학식 (1- (d ⁄ R) 2 ⁄ 2)

사용하고 아주 잘 작동합니다. 내가 이해할 수없는 것은 공식이 유도되는 방법입니다. 나는 arcsin 또는 arccos의 두 번째 파생물에서 파생 시키려고 노력하고 있지만 수식을 얻을 수는 없습니다 (그래서 잘못된 경로를 따라 가고 있다고 생각합니다). 어쨌든, 나는 이해하지 못하는 코드를 사용하는 것이 결코 편하지 않으므로 누군가가 나를 위해 그것을 밝힐 수 있으면 감사 할 것입니다.

+0

당신이 여기에 당신이/.. 더 나은 이해를 얻기 위해 매개 변수 및 값을 재생할 수 있습니다,이 예제를 참조나요 : http://jsfiddle.net/m1erickson/Qnk5d/ – Lonely

+0

이것은 순수한 수학 문제이며 프로그래밍과 관련이 없습니다. 해당 링크 게시물의 답변에서 제공하는 파생어를 이해하지 못하는 경우 [수학 SE 사이트] (https://math.stackexchange.com)에서 질문해야합니다. – meowgoesthedog

+0

이 수식을 어떻게 사용하고 있습니까? 무엇 때문에? – MBo

답변

1

링크 된 질문에서 자세히 설명했듯이 원을 따라 객체를 이동하는 것은 각도가 theta 인 단일 각도로 매개 변수를 지정할 수 있습니다.이 각도는 느슨하게 말해서 객체가 이미 얼마나 많은 "회전"을했는지 설명합니다. 이제 문제는 객체가 초기 (현재) 위치 A에서 유클리드 거리 d에서 어떤 각도 theta입니다 : 즉

enter image description here

, 당신은 당신의 시뮬레이션의 시간 단계 delta를 해결할 경우 문제는 거리를 d까지 delta 시간 간격 내에 물체가 변위되도록 각도를 조정 (증가)해야하는 방법에 대해 다시 설명 할 수 있습니다. law of cosines에서

, 하나는 가져옵니다

d^2 = r^2 + r^2 - 2*r*r*cos(theta) = 2*r^2*(1 - cos(theta)) 

따라서 :

cos(theta) = 1 - 1/2*(d/r)^2 

theta = arccos(1 - 1/2*(d/r)^2) 
+0

@ewcz, 고맙습니다. 코드를 읽었을 때 코드가 아니라 아크 AC에 거리가 있다고 생각했습니다. 다이어그램 및 파생에 감사 드리며 매우 명확합니다. – GameQuest