본문 바로가기

InfoGraph/파이썬 matplotlib 애니메이션

(5)
[찾아보기]matplotlib로 만든 애니메이션 모음 이 페이지는 matplotlib 애니메이션으로 만든 예제들을 보여주고, 해당 애니메이션 소스코드 및 설명이 있는 페이지 링크를 제공하는 페이지입니다. 01. matplotlib를 이용해서 애니메이션 그래프(Animation Graph) 만들기 matplotlib 애니메이션 제작을 위해 필요한 프로그램 깔기 등에 대해 가이드 해줌 02. [예제]사인 곡선(사인 그래프, sine graph) 그리기 03. [예제]흐르는 물결같은 사인파(사인 그래프, sine graph) 그리기 04. n이 커질수로 점점 펄스파가되는 애니메이션(변하는 텍스트 n값도 애니메이션) -끝-
04. n이 커질수로 점점 펄스파가되는 애니메이션(변하는 텍스트 n값도 애니메이션) 시간이 흐름에 따라 점점 펄스파(구형파)처럼 변하는 애니메이션을 만들어보겠다. 이러한 파형을 그리는 수식은 아래와 같다. $$ \sum _{n=1} ^{\infty} {\frac {4}{n\pi} \sin {nx}}$$ 이 수식은, 아래 그림과 같은 완벽한 펄스파를 푸리에 급수로 변환하면 나온다. 유도식이 궁금하면 여기 참조: 04-6. 푸리에 급수 예제를 손으로 풀어보기 이 애니메이션을 만들기 위한 핵심 코드는 아래와 같다. title = ax.text(1,1.7,"",bbox={'facecolor':'w', 'alpha':0.5,'pad':5},ha="center") def update(i): global yy y = (4/(i*np.pi))*np.sin(i*x) yy += y line.set_dat..
03. [예제]흐르는 물결같은 사인파(사인 그래프, sine graph) 그리기 아래 영상처럼, 물결이 흐르는 듯한 그래프를 만들어 볼 것이다. 원리는 간단하다. 사인 함수에서 $\sin {(x-a)}$는 $\sin x$의 그래프를 $a$만큼 오른쪽으로 이동한 것과 같다는 원리를 이용. 핵심 코드는 update 함수 안에 있다. def update(i): y = np.sin(x-i) # i만클 shift하는 것임 line.set_data(x, y) return ln, 동영상의 각 프레임마다 이 update함수가 호출될 것이고, 호출될 때마다 $i$값이 1,2,3...으로 증가되어 보내질 것이다. 그렇다면 그 때의 y값은 아래 그림과 같은 모양을 띨 것이고, 이 그림들을 연속으로 보여주면, 마치 파형이 이동하는 것처럼 보일 것이다. 전체 소스는 아래와 같다. import numpy a..
02. [예제]사인 곡선(사인 그래프, sine graph) 그리기 첫 번째 예제이기에, 상세히 코드를 설명할 것이고, 작성된 코드를 이용해서 mp4 및 gif로 만드는 방법도 소개할 것이다. 이다음 예제부터는 애니메이션 핵심 코드를 중심으로만 설명할 예정. 사인 곡선을 그리는 애니메이션을 만들어볼 것이다. 그런데, 애니메이션 코드로 바로 들어가기 전에, 일반적인 정지되어 있는 사인 곡선을 먼저 그려보겠다. 그것이 애니메이션 코드를 바로 소개하는 것보다, 이해가 더 잘될 거 같다. 사인 곡선을 그리는 코드의 핵심은, 1)$x$에 해당하는 값들을 생성하고, 2) 그 $x$ 값들의 sine값을 구해서 $y$에 저장하고, 3) plot 하는 것. 1) x = np.linspace(0, 2*np.pi, 100) 2) y = np.sin(x) 3) plt.plot(x,y) 주피터..
01. matplotlib를 이용해서 애니메이션 그래프(Animation Graph) 만들기 파이썬에서 그래프를 그리게 해주는 matplotlib에는, 정적인 그래프뿐 아니라, 동영상 애니메이션 그래프를 만들어주는 기능도 있다. 예를 들어 이런 거다. 이에 대한 코드는 여기 참조. (Matplotlib 사이트에서 샘플로 제시하는 코드이다.) matplotlib.org/stable/gallery/animation/double_pendulum.html 사전 준비 작업 (추가 프로그램 설치) 위와 같은 동영상을 만드는 것은, matplotlib의 함수를 써서 하면 되는데, 이것을 mp4나 gif로 만들어서 보려면 추가로 프로그램을 설치해야 한다. (matplotlib 패키지는 이미 설치되어있다고 가정) ffmpeg ImageMagic 위의 두 개를 따로따로 설치해도 되는데, ImageMagic 설치파..