Lissajous

수학 2010/10/27 00:35


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



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

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

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

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

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

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

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

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


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

방정식 ( 예 : x^5 -3*x^4 - 5*x^3 + x^2 + x + 3  = 0 ) 의 근을 찾는 메소드입니다.

함수 f(x) = x^5 -3*x^4 - 5*x^3 + x^2 + x + 3 라고 놓고, 적당한 구간 [a, b]를 선택 합니다.
그래프 상으로 확인해보면 대략 구간 [-2, -1], [0, 1]에 근이 있음을 알 수 있습니다.

구간의 중간값을 x0라고 정의하면, x0 = ( a + b ) / 2 이고,
f(a)*f(x0) 의 결과값이 0 보다 작으면 구간 b를 x0으로 재정의 하고, 0보다 크면 구간 a를 x0로 재정의 합니다.

이러한 계산을 | a - b | 가 적당한 오차범위 내에 들때까지 반복하면 방정식의 해는 ( a + b ) / 2 가 되게 됩니다.

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


바늘을 떨어뜨리는 시행을 반복하여 바늘이 두 평행선에 맞닿을 확률을 이용하여 파이를 구하는 시뮬레이션.
저작자 표시 비영리 변경 금지

'수학' 카테고리의 다른 글

Bisection Method - 방정식의 근 찾기  (0) 2010/09/29
몬테카를로 시뮬레이션 - 파이 구하기  (3) 2010/09/14
Feigenbaum senario  (0) 2010/09/07
전미분 표현에 대하여  (0) 2010/02/24
Posted by 웹눈

Feigenbaum senario

수학 2010/09/07 23:13


저작자 표시 비영리 변경 금지

'수학' 카테고리의 다른 글

몬테카를로 시뮬레이션 - 파이 구하기  (3) 2010/09/14
Feigenbaum senario  (0) 2010/09/07
전미분 표현에 대하여  (0) 2010/02/24
카디오이드와 리마송  (0) 2010/02/13
Posted by 웹눈
http://mathparadigm.blogspot.com/2007/04/blog-post_26.html

'수학' 카테고리의 다른 글

몬테카를로 시뮬레이션 - 파이 구하기  (3) 2010/09/14
Feigenbaum senario  (0) 2010/09/07
전미분 표현에 대하여  (0) 2010/02/24
카디오이드와 리마송  (0) 2010/02/13
Posted by 웹눈
TAG 전미분

다음 형태의 방정식들을 고려하자.

 

r = a +- bcos\theta , r = a +- bsin\theta

 

여기서 a와 b는 양수이다. 이들의 글래프를 리마송(limacons) 이라 부르며, a = b 인 특별한 경우를 심장형(cardioid)이라 부른다.

전형적인 그래프들을 그림 4에 그려 놓았다.

 

 

램니스케이트

다음 방정식 

r^2 = \pm acos2\theta , r^2 = \pm a sin2\theta

의 그래프는 8자 모양의 곡선이며, 램니스케이트(lemniscate)라 부른다.

 

장미

r = a cos n \theta , r = a sin n \theta

위 형태의 극방정식은 꽃잎 모양의 곡선이 되며, 장미(rose)라고 부른다. n이 홀수인 경우는 n개의 꽃잎으로 가지고, n이 짝수인 경우는 2n개의 꽃잎을 가진다.

 

컴퓨팅 예제

  1.  
  2. _t++ ;
  3. _v2d.angle(_t*Math.PI/180) ;
  4. _v2d.length(100*Math.cos(2*_v2d.angle())) ;
  5. _v1d.angle(_t*Math.PI/180) ;
  6. _v1d.length(100*Math.sin(2*_v1d.angle())) ;

 

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.

'수학' 카테고리의 다른 글

몬테카를로 시뮬레이션 - 파이 구하기  (3) 2010/09/14
Feigenbaum senario  (0) 2010/09/07
전미분 표현에 대하여  (0) 2010/02/24
카디오이드와 리마송  (0) 2010/02/13
Posted by 웹눈