Manim
Manim 은 Mathematical Animation Engine 의 약자이며, 3Blue1Brown 이라는 유튜브 채널을 운영하고 있는 Grand Sanderson 이 개발하여 2021년에 공개한 Python 패키지이다. "그래서 Manim 으로 무엇을 할 수 있냐?" 하면 백문이불여일견이라고 아래 영상을 살짝 재생해보자.
위 영상의 내용에서 보는 것처럼, 컨텐츠는 반드시 수학과 관련이 있어야 할 필요는 없다. 다만 Manim 패키지에 latex 가 포함되어 있어서 수식 표현에 특화된 것으로 보인다.
설치 과정
윈도우 환경에서 Manim 패키지를 설치하는 과정 또는 순서는 1) Python 설치, 2) Get-ExecutionPolicy 확인 (필요하면, Set-ExecutionPolicy 를 이용하여 설정), 3) Chocolatey 설치, 4) ManimCE 설치이며, 아래에서는 각 단계를 간략하게 설명하였다.
1) Python 설치
Manim 패키지 설치를 위해서는 Python 3.8 버전 이상의 설치가 필요하다. 참고로 나는 아래 링크로 들어가서 Python 3.12.8 버전을 다운로드 받아 설치했다. Python 설치 방법에 대한 자세한 설명은 생략한다.
2) Get-ExecutionPolicy 확인
Windows Powershell 프로그램을 관리자 모드로 실행 (아래 그림 참조) 한 다음,
다음의 명령어를 입력한다.
Get-ExecutionPolicy
만약 Restricted 라는 결과가 나오면, 아래 두 줄의 명령어 중에서 한 줄을 골라 실행한다.
Set-ExecutionPolicy AllSigned
Set-ExecutionPolicy Bypass -Scope Process
내 경우에는 Get-ExecutionPolicy 의 결과로 RemoteSigned 가 나왔고, Set-ExecutionPolicy 를 이용하여 AllSigned 로 변경했다.
3) Chocolatey 설치
여전히 Windows Powershell 프로그램에서 아래의 긴 명령어를 입력 (드래그하여 복사 & 붙여넣기 가능) 하여 Chocolatey 를 설치를 시작한다.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
4) ManimCE 설치
Chocolatey 설치가 오류 없이 완료되었다면, 계속해서 아래의 명령어를 이용하여 ManimCE 를 설치한다. 여기에서 ManimCE 는 Manim Community Edition 를 뜻한다.
choco install manimce
마지막으로 설치 확인을 위해 아래의 명령어를 실행해보자.
manim --version
아래 화면과 같이, Manim Community 버전 숫자가 나온다면 정상적으로 설치된 것이다.
튜토리얼 실행
ManimCE 설치를 완료한 다음, VS Code 환경에서 실행해보기 위해 아래의 튜토리얼 코드를 가져왔다.
from manim import *
class CreateCircle(Scene):
def construct(self):
circle = Circle() # create a circle
circle.set_fill(PINK, opacity=0.5) # set the color and transparency
self.play(Create(circle)) # show the circle on screen
출처: Quickstart - Manim Community v0.18.1
위 화면에서 보는 것과 같이, VS Code 환경에서 파일명을 main.py 로 저장하고, 터미널에서 아래의 명령어를 입력하여 튜토리얼 코드를 실행하였다. 번거롭게도 파일 이름 (main.py) 과 클래스 이름 (CreateCircle) 모두 입력해야 한다.
manim -pqm main.py CreateCircle
여기에서 -pqm 은 생성되는 동영상의 품질을 중간으로 (medium) 설정하는 옵션이며, 낮게 (-pql) 또는 높게 (-pqh) 변경할 수도 있다. 세 가지 옵션으로 모두 실행해보니 동영상의 해상도와 초당 프레임 수는 아래 표와 같았다.
해상도 | 초당 프레임 수 | |
-pqh | 1080p | 60 |
-pqm | 720p | 30 |
-pql | 480p | 15 |
실행 결과 생성된 동영상 파일은 다음과 같다.
댓글 (Comments)