본문 바로가기
programming language/MATLAB

MATLAB Harmonographs

by __observer__ 2012. 6. 11.
반응형

구글링을 하다가 아래 포스팅을 발견 했습니다.

 

http://www.walkingrandomly.com/?p=151

 

위 블로그의 주인장은 영국의 맨체스터 대학에서 science and engineering applications support specialist 로 근무하고 있다고 하는데~

 

대충봐도 배울 것들이 참~ 많더군요.

 

위 주소는 Harmonographs 에 대한 내용을 담고 있는데~ Harmonographs 라는게 참 잼나는 내용이더군요.

 

추 두 개를 이용하여 한쪽 추에는 연필을 달고 한쪽 추에는 종이판을 연결합니다. 이때 연필과 종이판은 맞닿아 있죠 ~~

 

그 담에 추를 움직이게 하면 추의 움직임에 따라 그림이 그려 지겠죠~

 

이런걸 Harmonographs 라고 한다는 군요. 아닌가? ㅋㅋ

 

어쨌든 이렇게 해서 그려지는 그림을 보니… 참 예쁘더군요.

 

위 블로그에는 친절하게도 각 그림의 상수 값들이 자세히 설명되어 있어서 MATLAB 으로 따라서 그려 봤습니다.

 

f1=3.001;    f2=2;    f3=3;    f4=2; 

d1=0.004;    d2=0.0065;    d3=0.008;    d4=0.019; 

p1=0;    p2=0;    p3=pi/2;    p4=3*pi/2;

 

t=linspace(0,10000,200000);

 

xt=exp(-d1.*t).*sin(t.*f1+p1)+exp(-d2.*t).*sin(t.*f2+p2);

yt=exp(-d3.*t).*sin(t.*f3+p3)+exp(-d4.*t).*sin(t.*f4+p4);

    

figure1 = figure('Color',[1 1 1]);

plot(xt,yt), axis off 

   

위 코드를 돌려보면 아래와 같은 그림이 나옵니다. 예쁘죠?

 

두번째 그림 부터는 위 코드에서 변수들만 각각 바꾸면 됩니다. 

f1=10; f2=3; f3=1; f4=2; 

d1=0.039; d2=0.006; d3=0; d4=0.0045; 

p1=0; p2=0; p3=pi/2; p4=0;

세번째 

f1=2.01; f2=3; f3=3; f4=2; 

d1=0.0085; d2=0; d3=0.065; d4=0.0; 

p1=0; p2=7*pi/16; p3=0; p4=0;

네번째~ 전 이 그림이 특히 좋은데... 마치 나비가 날아가는 것 같습니다. ㅋㅋ

f1=2; f2=6; f3=1.002; f4=3; 

d1=0.02; d2=0.0315; d3=0.02; d4=0.02; 

p1=pi/16; p2=3*pi/2; p3=13*pi/16; p4=pi;


반응형

댓글