히카님이 내주신 숙제가 있어서 여러 방면으로 공부를 하다(?)보니 Constrained Dynamics 라는 자료가 눈에 들어와서 만들어 보았습니다.

이것이 무엇이냐 하면, 운동을 하는 파티클을 구속하는 상황에서 어떻게 운동을 할지 그 운동 방정식을 구하는 방법입니다.

활용하는 관점에서 살펴본다면 어떠한 대상이 어떠한 궤도를 만족하면서 지나가게 하고 싶은데, 이러한 운동을 자연법칙에 입각해서 아주 자연스럽게 구현 할 수 있습니다.

위 플래시에서는 간단한 원궤도에 구속되어 있는 파티클이 초기 위치는 원의 꼭대기, 초기 속도는 우측으로 주어지고 중력장과 같은 외력이 가해지는 상황에서 어떻게 운동을 하게 되는지 그에 대한 운동방정식을 구하여서 구현한 것입니다. 

컨셉은 간단합니다. 파티클에 가해지는 외력과 구속력의 총합은 파티클을 구속 운동하게 만들어야 하는데, 이 조건을 만족시는 구속력을 구하기 위해서, 구속 방정식 C 를 구하고, 이 구속방정식을 만족하면서 동시에 구속력은 일을 하지 않는다라는 포인트를 이용합니다.

p.s - 
구해진 운동방정식을 시뮬레이션 하는데, 오일러 메소드를 사용했더니 금방 오차가 커져버려서 궤도를 이탈해 버립니다.
그래서 오일러-가우스 메소드를 사용해서 시뮬레이션 했더니 그래도 2~3 주기를 넘기질 못하네요.

결국에는 계산 결과 후 생성되는 오차를 억지로 맞춰주었습니다. (구속 방정식을 만족시켜줌..)

자료를 보시다 보면 구속력은 속도의 방향과 일치한다고 나오는데 이것은 원운동일 때만 만족하는 조건입니다. 참고하세요..


저작자 표시 비영리 변경 금지
Posted by 웹눈