桂平做網(wǎng)站公司百度seo怎么提高排名
相逢情便深,恨不相逢早?
第一眼看見(jiàn)上面這種類型的視頻我就深深被它的簡(jiǎn)約清楚所折服,我覺(jué)得它完全符合我的審美,我也相信只要了解過(guò)制作這種視頻的軟件的人都會(huì)喜歡上它。運(yùn)用這種風(fēng)格比較有名的是b站里的一位up主名叫3Blue1Brown,下圖是他的主頁(yè),有興趣的朋友可以自行去了解。
?這個(gè)軟件的名字叫Manim。不過(guò)因?yàn)檫@款軟件是基于python的,所以想要使用這款軟件的人需要一定的編程能力,所以沒(méi)有學(xué)過(guò)編程的朋友想要學(xué)習(xí)就需要更加努力。
進(jìn)入它的官網(wǎng),查閱技術(shù)文檔(鏈接),點(diǎn)擊示例,可以看到很多的例子。?入門一項(xiàng)技術(shù),先學(xué)會(huì)一些示例還是非常重要的,我一個(gè)個(gè)看吧。
?示例Example Gallery
雖然文檔是英文的,但我覺(jué)得讀起來(lái)是可以接受的。網(wǎng)上也有對(duì)應(yīng)的中文文檔,也可以使用擴(kuò)展,我習(xí)慣使用edge瀏覽器,中文插件我用的是mate translate。需要說(shuō)的是,以下的分享都是我第一眼看見(jiàn)代碼猜想它應(yīng)該具有的意思,畢竟是邊學(xué)邊寫,如果有錯(cuò)誤我也不會(huì)修改,請(qǐng)閱讀的人仔細(xì)辨別。
1.標(biāo)識(shí)ManimCELogo
?MathTex應(yīng)該表示某種數(shù)學(xué)字符集,r應(yīng)該就是表示一種解析,mathbb應(yīng)該就是一種字體,就是形如logo中的那樣,fill_color代表設(shè)置顏色,scale應(yīng)該表示變形。
后面把M移動(dòng)了一下,可以看出來(lái)對(duì)象創(chuàng)建的默認(rèn)位置是框架的中心。
fill_opacity應(yīng)該表示透明度。
不過(guò)這個(gè)origin代表什么?
?我畫了一張圖,發(fā)現(xiàn)origin代表的就是中心點(diǎn)的意思。
值得注意的是每個(gè)實(shí)例下提供了可以相關(guān)的參考,不過(guò)為了趕進(jìn)度,就沒(méi)有細(xì)看。
2.大注釋BraceAnnotation
?
?
?值得注意的是上面大括號(hào)方向的設(shè)置,默認(rèn)情況大括號(hào)水平向下,經(jīng)過(guò)line.copy()就將方向調(diào)整為紅色箭頭方向,pi代表180度,也就是再順時(shí)針旋轉(zhuǎn)90度也就到了圖所示的位置,不過(guò)這不就應(yīng)該結(jié)束了嗎?可能后面的get_unit_vector代表的是將初始得容器顯現(xiàn)。
3.矢量VectorArrow?
不過(guò)buff我不理解,就查了一下,官網(wǎng)的解釋為:?
buff?(float) – The distance of the arrow from its start and end points.
翻譯過(guò)來(lái)就是指長(zhǎng)度,痛苦的是矢量長(zhǎng)度為0但它的長(zhǎng)度卻不為0,這里暫且理解為一種默認(rèn)值。
4.漸變GradientImageFromArray?
?可以發(fā)現(xiàn),邊框有內(nèi)邊距。
5.布爾運(yùn)算BooleanOperations
以上運(yùn)算分別表示交集、并集、異或集和差集。?
//交Intersection(ellipse1, ellipse2, color=GREEN, fill_opacity=0.5)
//并Union(ellipse1, ellipse2, color=ORANGE, fill_opacity=0.5)
//異或Exclusion(ellipse1, ellipse2, color=YELLOW, fill_opacity=0.5)
//差Difference(ellipse1, ellipse2, color=PINK, fill_opacity=0.5)
?注意,A-B表示從A中去除B的成分(-表示差運(yùn)算)。
6.形狀軌跡運(yùn)動(dòng)PointMovingOnShapes?
旋轉(zhuǎn)是指點(diǎn)繞著某點(diǎn)旋轉(zhuǎn)一周。?
7.周圍移動(dòng)MovingAround
?
?8.移動(dòng)角MovingAngle
先看一下初始幀。?
?動(dòng)畫。
移動(dòng)的那根線是放在了軌跡theta_tracker里,為這根線綁定一個(gè)更新器add_updater,在這個(gè)更新器里設(shè)置變化的角度,在后面動(dòng)畫調(diào)用的時(shí)候可以通過(guò)設(shè)置theta_tracker里的動(dòng)畫的值間接調(diào)用旋轉(zhuǎn)方法?,文字部分同理。
可以看出來(lái)add_updater和形如tracker是一套組合。
9.移動(dòng)點(diǎn)MovingDots?
10. 組合點(diǎn)移動(dòng)1MovingGroupToDestination?
?
?11.移動(dòng)邊框MovingFrameBox?
?對(duì)于latex的數(shù)學(xué)編輯語(yǔ)法,推薦一個(gè)網(wǎng)站學(xué)習(xí),latex在線。
可以通過(guò)提示學(xué)習(xí)。?
12.旋轉(zhuǎn)更新器RotationUpdater?
?
13.點(diǎn)軌跡PointWithTrace??
?
14.正弦函數(shù)SinAndCosFunctionPlot?
15.最小值A(chǔ)rgMinExample?
16.區(qū)域GraphAreaPlot
?
17.多邊形軸線PolygonOnAxes
?
18.熱圖HeatDiagramPlot?
?19.跟隨相機(jī)FollowingGraphCamera
?20.移動(dòng)框架MovingZoomedSceneAround
?
?這部分大致看一下,了解了解。
21.固定框架對(duì)象測(cè)試FixedInFrameMObjectTest?
?
22.三維光源位置ThreeDLightSourcePosition?
?23.三維相機(jī)旋轉(zhuǎn)ThreeDCameraRotation
24.三維相機(jī)錯(cuò)覺(jué)旋轉(zhuǎn)ThreeDCameraIllusionRotation
?
?25.三維曲面圖ThreeDSurfacePlot?
下載lnstallation?
我電腦系統(tǒng)是windows。
?manim依賴于python和ffmpeg,箭頭所指的是下載地址。
ffmpeg下載具體可以參考:如何下載。
manim下載:
打開(kāi)cmd,輸入
pip install manim -i https://mirrors.aliyun.com/pypi/simple/
測(cè)試一下。
新建manim.py文件,寫入代碼。
from manim import *class PointMovingOnShapes(Scene):def construct(self):circle = Circle(radius=1, color=BLUE)dot = Dot()dot2 = dot.copy().shift(RIGHT)self.add(dot)line = Line([3, 0, 0], [5, 0, 0])self.add(line)self.play(GrowFromCenter(circle))self.play(Transform(dot, dot2))self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)self.play(Rotating(dot, about_point=[2, 0, 0]), run_time=1.5)self.wait()
?在manim.py文件所在的瀏覽框內(nèi)輸入cmd,回車,在cmd窗口中輸入命令:
manim manim.py manim -p -ql
成功生成。
?
?
?參考手冊(cè)Reference Manual
示例只是幫助我們快速入門,想要精通還是需要一步一個(gè)腳印。
這部分就不一一來(lái)說(shuō)了,以animation為例。
?
?對(duì)于技術(shù)中的一個(gè)類可以看三點(diǎn):參數(shù)、示例和方法。
參數(shù)。
示例。
?方法。
?然后就一個(gè)個(gè)看完吧。