Giter Site home page Giter Site logo

reducible's Introduction

Reducible

Repository containing all code for the videos on the Reducible YouTube channel. This entire repository makes use of 3blue1brown's open source library manim: https://github.com/3b1b/manim In the more recent videos, I have used Manim Community edition: https://www.manim.community/

Some updates to the Repo as of October 31, 2021

On the latest video relating to marching squares (2021/MarchingSquares/scene.py, I have decided to start using the Manim Community version. The version has been well-maintained by a group of developers and more documentation on setup of Manim Community can be found here: https://www.manim.community/ All other videos utilize an old version of the manim repo from https://github.com/3b1b/manim

In general, I avoided changing too much of the source of manim to minimize the issues others may have trying out the code. There is one case where I changed the source code for manim for the graph theory videos. If you run into any issues with running the graph theory videos, see this issue: #1. Another case where I have modified the source library for manim is adding colors in the manimlib/constants.py. If you see colors not defined when trying to run the code, you must define the hex value of the color inside the COLOR_MAP dictionary in that file.

Some notes on changes to repository as of March 23, 2021

For the 2021/GJK/gjk.py code, which contains all the animations for the GJK video, one new dependency is required in addition to manim dependencies: the Python Shapely library (used for some animations involving concave shape intersection and union -- a problem I tried hacking on but ran into too many issues to be able to use in a video -- this library saved the day).

Installation instructions for Shapely can be found here: https://pypi.org/project/Shapely/ Documentation can be found here: https://shapely.readthedocs.io/en/stable/manual.html

Additionally, I have updated the manimlib from the original 2019 version I was using for my first few videos to the more recent May 2020 version that works quite well for the more recent videos. I have made some minor additions/modifications to the library for my own use cases as well. Note, this version of manim still uses Cairo as a backend. There are several versions of manim now, the one I recommend for most people is the Manim Community Edition (CE) which has good documentation and good community support. I started this channel before this existed so I spent a lot of time digging into the library on my own, but now, with Manim CE, development and support is significantly easier.

There is also a ManimGL version that uses openGL https://github.com/3b1b/manim. I am still figuring out this version of manim and I may move towards it in the future for some projects I have in mind. I do not recommend starting with the openGL version, since it is still not quite stable and still a work in progress on Grant's side of things as far as I know. It is also much trickier to learn, but that's just my opinion.

reducible's People

Contributors

nipunramk avatar

Stargazers

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

Watchers

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

reducible's Issues

Beginners are having problems learning the author's source code

Dear author, I am a beginner and have encountered a fundamental problem. I have installed the latest version of the manimgl, then feel your work is very good, so I want to work began to learn from you, after I download your video source code, I found that my computer can't run, so, want to request you to see if I can make it to the one in the current version should be how to run your source code, although it is the foundation, but for beginners heartfelt thanks to you.
This is the file structure after I opened it and a lot of errors. At this point, I have installed the latest version of Manimgl on my computer python
baogao

Problem with FFTGraph in fft.py - set_color with a list instead of a single string

I'm having a problem running your FFT/fft.py (FFTGraph scene). set_color is expecting a string rather than a list of strings and is therefore producing the following error:

   edges[i].set_color(color=[BLUE, SKY_BLUE])
File "/home/mark/.local/lib/python3.8/site-packages/manim/mobject/types/vectorized_mobject.py", line 283, in set_color
   self.color = colour.Color(color)
File "/home/mark/.local/lib/python3.8/site-packages/colour.py", line 988, in __init__
   self.web = color if color else 'black'
File "/home/mark/.local/lib/python3.8/site-packages/colour.py", line 1006, in __setattr__
   fc(value)
File "/home/mark/.local/lib/python3.8/site-packages/colour.py", line 1084, in set_web
   self.hex = web2hex(value)
File "/home/mark/.local/lib/python3.8/site-packages/colour.py", line 664, in web2hex
   if web.startswith('#'):
AttributeError: 'list' object has no attribute 'startswith'

startswith is a string method (not a list method), so I can understand why the error is happening. Is there some modification you made to colour.py in order to accept lists? I've tried to fix it myself, but I don't know manim's code well enough to know how to solve it, or your code for that matter (I can't even tell how it's even mixing between the two specified colors). BTW, I had to guess a value for SKY_BLUE and did correctly modify constants.py

How do you compile your BFS source code ?

I tried to compile your BFS src code via manim bfs.py Introduction -pl and got few errors. Do you use custom library instead of official ? how do you compile your changes ?

here are a few error example of errors I got (1) DARK_BLUE_B is not defined (2) geometry.py is not matching the official file in manimlib

  File "bfs.py", line 300, in highlight_node
    surround_circle = Circle(radius=node.circle.radius * scale_factor, start_angle=start_angle, TAU=-TAU)
  File "/usr/local/lib/python3.8/site-packages/manimlib/mobject/geometry.py", line 314, in __init__
    Arc.__init__(self, 0, TAU, **kwargs)
TypeError: __init__() got multiple values for argument 'start_angle'

Seeking help with the TSPProblem project

Hello! I like your video very much. I copied it on your github, and I want to try to run it. There are some problems during the running process. Please answer me after busy work. Thank you very much, waiting for your reply .
Currently, I am running the code of: 2022/TSPProblem/solving_tsp.py. When rendering the "LowerBoundTSP", "Christofides", and "AntSimulation" scene classes, an error is reported: ModuleNotFoundError: No module named 'python_tsp', you can also upload this file to github.

In addition, TSPProblem resources, such as related png and svg images, can also be uploaded to github, so that it is very complete, thank you very much for your sharing and help! !

yours truly!
My email: [email protected]

Can't reproduce without image assets.

I am trying to learn more about the manim library. I am a complete beginner and in the process of searching for some tutorials, I found your content on YouTube. Congratulations on doing such a fantastic job. I thought I will try to learn more from your codebase but in order to reproduce the code, there are a bunch of image assets (for eg, dog.png, rose.jpg etc in JPEGCompression vid) that are needed. Where can I find those?

May I ask what are your Manim version, Python version, dependencies version?

May I ask what are your Manim version, Python version, dependencies version?

I really appreciate your project about FFT in 2020/FFT, and I would like to reproduce it.
If convenient, export and push the dependency requirement. txt.

  • Manim:

  • Python:

I see many folders in your source code, which one is the code for the anim video?

Looking forward to your reply, thank you!

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.