ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Manim in Google Colaboratory
    카테고리 없음 2024. 12. 6. 16:40

    1. Manim 및 필수 패키지 설치

    먼저, Colab 노트북의 코드 셀에 아래 명령어를 입력하여 필요한 패키지를 설치합니다:

    !sudo apt update # 설치하고자 하는 라이브러리들이 최신 정보를 기반으로 다운로드되도록 한다.
    !sudo apt install libcairo2-dev ffmpeg \
        texlive texlive-latex-extra texlive-fonts-extra \
        texlive-latex-recommended texlive-science \
        tipa libpango1.0-dev
    !pip install manim # Python의 패키지 관리자(Pip)를 사용해 Manim을 설치합니다.
    !pip install IPython==8.21.0 # Manim과 함께 사용되는 IPython의 호환성 문제를 방지하기 위해 특정 버전을 명시적으로 설치합니다.

     

     

    sudo의 정의

    • 리눅스에서 특정 명령을 관리자 권한으로 실행하기 위한 도구

    sudo는 무엇의 약자인가?

    • superused do

    apt의 정의

    • 소프트웨어를 다운로드하고 설치하는 도구

    libcairo2-dev의 정의

    • 2D 그래픽을 그리는 데 필요한 라이브러리

    libcairo2-dev의 기능

    • 벡터, 그래픽, 이미지 렌더링 등에 사용된다.

     

    ffmpeg의 정의

    • 비디오 및 오디오 처리 도구.

    ffmpeg가 필요한 이유

    • Manim은 동영상을 생성하기 때문에 필수다.

    texlive, texlive-latex-extra, texlive-fonts-extra 등의 목적

    • 수학 방정식이나 텍스트를 깔끔하게 표현하기 위해 LaTeX을 사용하게 해준다.

    libpango1.0-dev의 정의

    • 텍스트 레이아웃 라이브러리.

    libpango1.0-dev가 필요한 이유

    • 텍스트를 화면에 그릴 때 필요하다.

    IPython의 기능

    • Python 코드를 쉽게 실행하고 결과를 확인하는 환경을 제공한다.
    • Jupyter Notebook 등에서도 사용된다.

    2. 런타임 재시작

    설치가 완료되면, Colab 상단 메뉴에서 '런타임' > '런타임 다시 시작'을 선택하여 런타임을 재시작합니다.

     

    3. Manim 사용 예시

    from manim import * # Manim 라이브러리에서 모든 기능을 가져옵니다.
    # Scene, Square, Circle, Transform 등 Manim의 도구를 사용하기 위해 필수입니다.
    
    %%manim -qm -v WARNING SquareToCircle # Jupyter Notebook에서 Manim 애니메이션을 실행할 때 사용하는 매직 명령어입니다.
    
    class SquareToCircle(Scene): # Manim에서 애니메이션은 항상 Scene 클래스를 기반으로 작성됩니다.
       def construct(self): # construct 함수 안에 애니메이션에 필요한 객체 생성 및 동작을 정의합니다.
          square = Square() # 이 사각형은 초기 상태로 화면에 나타날 모양입니다.
          circle = Circle() # 이 원은 사각형이 변형되어 최종적으로 나타날 모양입니다.
          circle.set_fill(PINK, opacity=0.5 # 원에 분홍색 채우기 색상을 설정하고, 투명도를 50%로 만듭니다.
          self.play(Create(square)) # 객체가 점진적으로 화면에 나타나는 애니메이션입니다.
          self.play(Transform(square, circle)) # 사각형을 점진적으로 원으로 변형하는 애니메이션을 실행합니다.
          self.wait() # 애니메이션이 끝난 뒤 일정 시간 동안 화면을 유지합니다. 여기서는 시간이 명시되지 않았으므로 기본값(1초)을 사용합니다.
    •  

     

     

    반응형
Designed by Tistory.