manim學(xué)習(xí)筆記(三)

3D動(dòng)畫:
上一個(gè)專欄中我們已經(jīng)實(shí)現(xiàn)了一個(gè)傾斜的球面的生成(Example 5),這次我們給這個(gè)球面設(shè)置一個(gè)動(dòng)畫。
Example 1
首先我們給這個(gè)球面添加一個(gè)軸心(生成球面的軸心),整體代碼如下
運(yùn)行結(jié)果如圖

Example 2
此時(shí)能夠明顯看出遮擋關(guān)系是錯(cuò)誤的。因此為了實(shí)現(xiàn)正確的遮擋,我們應(yīng)該分段生成這個(gè)軸心,相應(yīng)部分的代碼修改如下
運(yùn)行結(jié)果如圖

Example 3
接下來(lái)我們給這兩個(gè)幾何體設(shè)置動(dòng)畫,相應(yīng)部分的代碼修改如下
其中self.play的參數(shù)結(jié)構(gòu)為(動(dòng)畫類1(幾何體1),動(dòng)畫類2(幾何體2),...,動(dòng)畫類m(幾何體n),axis=轉(zhuǎn)動(dòng)平面的法向量[x,y,z],angle=轉(zhuǎn)動(dòng)角(弧度制),run_time=動(dòng)畫執(zhí)行時(shí)間(s)),同一個(gè)self.play中的動(dòng)畫同時(shí)執(zhí)行,需要先后執(zhí)行的動(dòng)畫應(yīng)按執(zhí)行順序?qū)懺诓煌膕elf.play中。
上面代碼的執(zhí)行結(jié)果如圖

相機(jī)(camera)的轉(zhuǎn)動(dòng):
Example 4
我在源代碼中沒(méi)有找到能夠漸進(jìn)改變相機(jī)視角的屬性,因此選擇了相對(duì)比較暴力的轉(zhuǎn)動(dòng)方式,代碼如下
運(yùn)行結(jié)果如圖所示


下一期將會(huì)展示在動(dòng)畫中添加隨動(dòng)參數(shù)值的方法
P.S. 最近收到了不少求助的私信,大部分的私信我盡量做出了答復(fù)。本人才疏學(xué)淺,接觸manim的時(shí)間也不過(guò)半個(gè)月,也沒(méi)有辦法系統(tǒng)性地對(duì)這個(gè)模塊進(jìn)行講解,因此這個(gè)系列也只用了學(xué)習(xí)筆記的形式來(lái)寫。而且私信中不少問(wèn)題也是我沒(méi)見(jiàn)過(guò)的,只能靠之前的一些經(jīng)驗(yàn)判斷問(wèn)題來(lái)源,因此我也不確定我的答復(fù)是否幫助了那些同學(xué),如果我的方法沒(méi)有起到效果我也只能說(shuō)一聲抱歉。不過(guò)我還是比較希望私信詢問(wèn)的同學(xué)可以直接將問(wèn)題留言給我而不要只是開篇抒情(doge)