Manim 學習筆記(一)--常用的幾個函式和操作

近我者赤發表於2024-07-26

常用的幾個函式和操作

**import big_ol_pile_of_manim_imports import * ** 從 big_ol_pile_of_manim_imports.py 中匯入了需要用到的模組

class Hello_World(Scene) 建立一個繼承自Scene的一個類;

def construct(self) construct方法對於manim很特殊,manim呼叫這個方法來建立動畫。所以基本上這個方法是在執行manim時必不可少的;

x=TextMobject("語句",color=顏色) 建立一個物件,內容為“語句”,顏色為“顏色”

self.play(Write(name) 輸出 name 物件的內容

self.wait(x) 等待 x 秒

x=Rectangle(color=顏色) 建立一個矩形,顏色為“顏色”

x.surround(y) 物件 x 包裹物件 y

x=VGroup(a,b) 合併 a,b 到一個群組中

x.scale() 設定大小

x.set_color 設定顏色

x.set_height 設定尺寸

self.play(FadeIn(x)) 讓 x 物件漸入顯示

self.play(FadeOut(x)) 讓 x 物件漸出

self.play(Transform(x,y)) 從 x 到 y

self.ApplyMethod(x.屬性,number)) ,把 x 的某個屬性放大 number 倍,x 可以是一個群組

x=Circle() /Annulus()/Ellipse()/Square()/Triangle()/Polygon()/Line() 圓 圓環 橢圓 方形 三角形 多邊形 線

屬性:color fill_color fill_opacity height width 顏色 內部填充顏色 不透明度 高度 寬度

或用 x.set_xxxx

self.add(x) 物件 x 直接出現

self.play(GrowFromCenter(x)) 讓 x 物件從中間一步步生成

self.play(FadeInFromDown(x)) 讓 x 物件從下面漸入

self.play(FadeInFrom(x,vector)) 讓 x 物件從 vector 方向漸入

x=Line([x1,y1,c1],[x2,y2,c2]) 一條起點 (x1,y1) ,終點 (x2,y2)

x=Annulus(inner_radius,outer_radius) 內半徑,外半徑

x.shift() 接受一個向量,圖形初始位置的平移,其中可以填 DOWN,LEFT,RIGHT,UP 常量

DOWN 等價於 np.array([0,-1,0])

單位長度 一個預設的圓(Circle)其半徑為一個單位,預設的動畫場景高度為8個單位

B.next_to(A,vecor) 物體 B 在 vector (eg ,np.array([1,2,0]),UP) 定義方向上挨著 A

B.rotate(degree) 讓B旋轉 degree(弧度制)

self.play(ApplyMethod(A.shift, vector)) 直接使用shift等方式改變的位置是沒有動畫的,如果要動畫的話可以使用這個來實現A以向量vector進行移動的動畫

x.to_edge(UP/RIGHT/DOWN/LEFT) 到邊緣

x.get_corner(vector) x 的 vector 角落

x.match_color(y) 讓 x 和 y 顏色一樣

x.bg=BackGroundRectangle(x,屬性) x 背景的屬性設定

x.rotate(TAU(n/360)) 將 x 旋轉 n 度 ,其中, TAU=2np.pi

x.set_color_by_gradient(color1,color2,...) x 顏色按設定漸變

書寫 LaTeX 的時候,用 x=TexMobject("") 等價於 x=TextMobject("$$"),,其中,‘\’ 的意義成為空格,兩個'\ ' 才表示後跟公式

幾個常用的技巧:

最佳化動畫出現/消失方式 manim使用(五) 動畫效果-建立動畫 - 知乎 (zhihu.com)
manim邊學邊做--MathTex

相關文章