Dizzy999
dizzy-theme
Dizzy999
전체 방문자
오늘
어제
  • 분류 전체보기 (34)
    • Machine Learning (1)
      • 논문 리뷰 (0)
      • 수학통계 이론 (1)
      • 짧은글 (0)
    • 알고리즘 (22)
      • 알고리즘 이론 (1)
      • 알고리즘 문제 (20)
      • 짧은글 (1)
    • 프로그램 (2)
      • 프로그래밍 용어 및 상식 (1)
      • C++ (1)
    • 미니프로젝트 (0)
      • Moon Tracker (0)
    • Theme (0)
      • 짧은글 (0)
    • 아두이노&라즈베리파이 (1)
      • 아두이노 (0)
      • 라즈베리파이 (1)
    • Miscellaneous (3)
      • 이과가 이해한 Color (3)
    • OpenCV (0)
      • Tutorial (0)
    • Manim (5)
      • Tutorial (5)

블로그 메뉴

  • 홈
  • 방명록
  • 태그

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dizzy999

dizzy-theme

Manim/Tutorial

[Manim] Tutorial 3 - Object 애니메이트

2022. 5. 29. 01:48

Mobject 움직이기

manim에서 Object들을 특별히 Mobject라고 그들의 Community에서 명칭 하고 있다.
이전 Tutorial에서 Moject들을 생성하는 것을 배웠는데 이번에는 생성된 Mobject들을 움직이는(animate) 하는 방법을 배워보자

방법은

1. Mobejct의 뒤에 .animate  를 붙이고
2. 적당한 method를 붙여 self.play() 안에 넣으면 된다.

※ 또는 그에 준하는 함수들 ( ex. ReplacementTransform 같은 )을 넣으면 된다.

예를 들어 code를 예시로 들면 

circle = Circle()                                         #  circle이라는 객체를 생성한다.
self.play(Create(square))                         #  circle 객체를 생성한다. (여기까지가 Tutorial 2 과정)
self.play(square.animate.rotate(PI / 4))   #  객체를 animate.rotate를 붙여 회전 , 그것을 self.play 에 넣어 실행 시킨다.

 

Code 예시

init 부분에서 사각형을 형성해놓고 construct 부분에서 생성 / 변형을 이루는 구조이다.

from manim import *
import math

class Tutorial3_Ex1( Scene ):
    
    def __init__(self ):
        super().__init__() # 필수적으로 필요하다
        self.A = Square()

    def construct(self):
        self.play(Create(self.A))
        self.play(self.A.animate.rotate(PI / 4))
        
        self.wait()

 

두 가지 Mobject를 동시에 생성 및 변형하는 방법은 self.play 에 comma로 이어서 써주면 된다. 

class Tutorial3_Ex1( Scene ):
    
    def __init__(self ):
        super().__init__() # 필수적으로 필요하다
        self.A = Square()
        self.B = Triangle()
        self.B.next_to(self.A,RIGHT)
        
    def construct(self):
        self.play(Create(self.A),
                  Create(self.B)
                  )
        
        
        self.play(self.A.animate.rotate(PI / 4) , 
                  self.B.animate.rotate(PI / 4) 
                  )
        
        self.wait()

 

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Manim > Tutorial' 카테고리의 다른 글

[manim] Function and Method  (0) 2022.05.29
[Manim] Tutorial 2 - Object 생성  (0) 2022.05.25
[Manim] Tutorial 1 - manim의 동작 방식  (0) 2022.05.23
Manim 설치 방법  (0) 2022.04.13
    'Manim/Tutorial' 카테고리의 다른 글
    • [manim] Function and Method
    • [Manim] Tutorial 2 - Object 생성
    • [Manim] Tutorial 1 - manim의 동작 방식
    • Manim 설치 방법
    Dizzy999
    Dizzy999

    티스토리툴바