日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何做出3blue1brown的动画视频

發布時間:2024/8/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何做出3blue1brown的动画视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信很多人都知道3Blue1Brown,這是一個由斯坦福大學的數學系學生Grant Sanderson 創建的YouTube 頻道。該頻道從獨特的視覺角度解說高等數學,內容包括線性代數、微積分、神經網絡、黎曼猜想、傅里葉變換以及四元數等等。

B站主要是一群漢化組的小伙伴在翻譯視頻并且上傳,視頻質量當然是非常高而且特色鮮明。因為他的視頻不是用pr剪輯出來的,而是用程序寫出來的。如果你用心去看幾個視頻你會發現門檻并不高,至少作為科普視頻來說只要用心看和體會的確會有一些意想不到的收獲。

為了能用可視化的方式讓大家體會到數學中的幾何之美,他自己寫了做視頻中的動畫的腳本。過于有趣的π醬成功激發了我想在本地嘗試運行動畫腳本的想法,全網目前沒有很好的系列學習manim引擎的入門教程,但在知乎和CSDN上還是有不少人在學習并且總結,安裝教程還是可以找到滴。

文章目錄

        • 環境依賴
        • 必要配置
            • 動畫制作引擎manim
            • miktex
            • ffmpeg
        • 配置環境變量
        • 命令行測試
        • 創建manim
        • 跳轉到manim的根目錄
        • 實例測試

環境依賴

Windows 10
Anaconda3
python 3.8.5

必要配置

動畫制作引擎manim

manim下載到本地,之后解壓后到一個合適的位置,即可使用(此為manim動畫引擎所包含的全部文件)。

miktex

miktex直接安裝即可,安裝路徑中不要包含中文!此為windows平臺下的Tex套件,TeX 是一種排版語言,主要用于處理視頻中包含的文字信息。

ffmpeg

ffmpeg同樣直接安裝,解壓后將…/bin/目錄添加進用戶環境變量(此為音視頻流處理軟件)。

配置環境變量

對anaconda、ffmpeg的bin目錄配置環境變量。

命令行測試

右擊"Anaconda Prompt"-“更多”-“以管理員身份運行”
分別輸入命令,

python --version
latex --version
xelatex --version
ffmpeg -version



當均輸出正確的版本號則配置成功。否則檢查文件的路徑等問題。

創建manim

  • 打開前面下載并解壓后的 manim 文件夾,該文件夾的路徑就稱為 manim的根目錄,在該根目錄中新建一個空白文件夾media,并在該根目錄中新建一個名字為MEDIA_DIR的.txt文件。

  • 打開MEDIA_DIR.txt,輸入剛剛新建的media文件夾所在的路徑并保存。

  • 跳轉到manim的根目錄

    cd <manim 的根目錄>


    之后安裝一些必要的第三方庫

    python -m pip install -r requirements.txt

    實例測試

    python -m manim example_scenes.py SquareToCircle -pl

    效果如下

    python -m manim example_scenes.py WarpSquare -pl

    python -m manim example_scenes.py WriteStuff -pl

    python -m manim example_scenes.py UpdatersExample -pl

    class OpeningManimExample(Scene):def construct(self):title = TextMobject("This is some \\LaTeX")basel = TexMobject("\\sum_{n=1}^\\infty ""\\frac{1}{n^2} = \\frac{\\pi^2}{6}")VGroup(title, basel).arrange(DOWN)self.play(Write(title),FadeInFrom(basel, UP),)self.wait() ?transform_title = TextMobject("That was a transform")transform_title.to_corner(UP + LEFT)self.play(Transform(title, transform_title),LaggedStart(*map(FadeOutAndShiftDown, basel)),)self.wait() ?grid = NumberPlane()grid_title = TextMobject("This is a grid")grid_title.scale(1.5)grid_title.move_to(transform_title) ?self.add(grid, grid_title) # Make sure title is on top of gridself.play(FadeOut(title),FadeInFromDown(grid_title),ShowCreation(grid, run_time=3, lag_ratio=0.1),)self.wait() ?grid_transform_title = TextMobject("That was a non-linear function \\\\""applied to the grid")grid_transform_title.move_to(grid_title, UL)grid.prepare_for_nonlinear_transform()self.play(grid.apply_function,lambda p: p + np.array([np.sin(p[1]),np.sin(p[0]),0,]),run_time=3,)self.wait()self.play(Transform(grid_title, grid_transform_title))self.wait()

    參考文章:https://www.zhihu.com/question/57357012/answer/723888621

    總結

    以上是生活随笔為你收集整理的如何做出3blue1brown的动画视频的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。