Giter VIP home page Giter VIP logo

manim's Introduction

《数据结构》代码可视化

项目介绍

Manim 引擎地址:https://github.com/3b1b/manim

Manim 是一个数学动画引擎,使用 Python 代码实现基本动画对象和运动轨迹,利用 FFmpeg 对视频进行串流,通过 OpenGL 及其 GLSL 语言来使用 GPU 进行渲染,最终实现各种动画。我在此基础之上,针对 C++ 版的数据结构的代码,进行可视化创作,使得观众能看懂每一行代码的运行过程

全部视频发布于 B 站:《数据结构》算法模拟动画

代码参考书籍:《算法与数据结构(C++ 版)》

包含数据结构类型:顺序表、单链表、栈、队列、KMP、二叉树、排序、图

部分视频截图(选取自 KMP 算法二叉树Prim 算法

zSj6TH.png

文件介绍

此项目的全部代码仅供参考,只包含关键代码片段,而非整体开发环境

  • manimlib(官方类)

  • manim_tuan(个人类)

    • animation(扩展动画类)
    • mobject(扩展对象类)
    • docs
      • assets(图片)
      • fonts(字体)
  • example(官方提供测试文件)

  • seq(顺序表)

  • links(单链表)

  • stack(栈)

  • queue(队列)

  • kmp(KMP 算法)

  • tree(二叉树)

  • sort(排序算法)

  • graph(图)

  • test(测试集)

  • other(其他测试集)

注意事项!!!

我采用的是 Manim 旧版(目前已经绝版),即用 python -m manim example.py test -pl 运行

新版采用的是 ManimGL(支持即时渲染和键鼠交互),由 manimgl example.py test 运行

PS:推荐使用新版或者社区版(社区版由 Manim 爱好者共同维护,相对更新得更频繁 ~)

manim's People

Contributors

courserli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.