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

因為本篇涉及內(nèi)容為我實現(xiàn)自己需求的最后一步,因此本篇專欄為系列的最后一篇。
這次主要內(nèi)容為介紹為給動畫加隨動的說明文字,主要包括兩種情況:1. 在動畫中直觀表現(xiàn)的形狀參數(shù)(如變化中形狀的面積和邊長);2. 與動畫演化過程相關(guān),但并非動畫中直接表現(xiàn)的參數(shù)(如時間)。對于前者,manim中的UpdatersExample示例就是一個優(yōu)秀的實現(xiàn)方案。而我所需要的后者則是我使用刷新的方式實現(xiàn)的。具體代碼片段如下,直接創(chuàng)建一個類把代碼寫入運行即可看到效果
如果需要調(diào)整時間尺度可以通過調(diào)節(jié)range或者建立另一個變量與time的關(guān)系實現(xiàn),但要注意兩點:1. 如果需要動畫與顯示數(shù)值隨動需要將逐幀動畫也寫入循環(huán)內(nèi);2. self.add, self.wait, self.remove必須按此順序?qū)懭?,若按照self.remove, self.add, self.wait編寫,則self.remove將失效。
本系列至此已展示了我在實現(xiàn)自己需求過程中所用到的全部功能。因為最初使用manim模塊只是為了制作一個用于展示原理的動畫,所以并沒有對該模塊進(jìn)行特別深入的研究。而寫這個系列也只是因為百度到的關(guān)于manim3D部分的講解不多,且大多為復(fù)制粘貼的文章,其余僅存不多的文章也有代碼過于陳舊不能運行的問題。起初寫本系列是為了訂正這部分代碼,但寫到后面我開始覺得應(yīng)該加入一些自己的理解供讀者參考。雖然自己理解的部分比較傾向于暴力實現(xiàn),但說不定也能作為一個參考?
總之manim學(xué)習(xí)筆記到這就告一段落了,總之是趕上了暑假的尾巴沒咕。后面可能會了解一下多進(jìn)程(multiprocessing)模塊,如果有什么新的想法還會開新坑的(doge)