Code for the manim-generated scenes used in 3blue1brown videos

Related tags

Miscellaneous videos
Overview

This project contains the code used to generate the explanatory math videos found on 3Blue1Brown.

This almost entirely consists of scenes generated using the library Manim. See also the community maintained version at ManimCommunity.

Note, while the library Manim itself is open source under and MIT license, the contents of this project are intended only to be used for 3Blue1Brown videos themselves.

Copyright © 2020 3Blue1Brown

Comments
  • Wordle no output

    Wordle no output

    When running the scenes.py using: python scenes.py I get an error saying no module manimlib and when i use: manimgl scenes.py I get no output then it says manimgl v1.4.1 and it tells me some info about the configuration. any ideas? image

    opened by viruspro 18
  • keyError : 'data' from wordle.py

    keyError : 'data' from wordle.py

    DATA_DIR = os.path.join(get_directories()["data"], "wordle") KeyError: 'data'

    after checking what get_directories() returns, I can't seem to find any key named data

    so what is inside this 'data' ?

    opened by umaruta4 14
  • [QUESTION/HELP] - Wordle Solver

    [QUESTION/HELP] - Wordle Solver

    I can't for the life of me figure out how to run and use/play with the wordle solver..Nothing here is understandable nor do I know what to do, what goes where, what to install, what to edit, what file to run, what commands to execute, etc...

    The "wordle.py" file and it's related stuff is non existent now. Like it got deleted overnight. For idk what reason.. (Idk what file to run.)

    A very simple step by step guide would be greatly appreciated for this difficult, confusing and mountainous mess of a repository.

    Any help on how to get the wordle solver to run, such as commands and where to run said commands is what I'm looking for. (I'd ask this in a discussions area but that isn't enabled in this repo.)

    God, the more I look at this repo, the code, and trying to figure out how anything works..the more confused and I get xD

    opened by therealOri 11
  • Starting the different files

    Starting the different files

    Hi guys. I have a completely basic question. How can I start the different Python scripts. Manim is properly installed and ready to run. However, I don't know how to proceed here. Can you help me? With kind regards @Zeyecx

    PS C:\...\videos> python .\_2020\chess.py
    Traceback (most recent call last):
      File "C:\Users\Zeyecx\Desktop\tmp\videos\_2020\chess.py", line 1, in <module>
        from manim_imports_ext import *
    ModuleNotFoundError: No module named 'manim_imports_ext'
    

    Even in manim itself, I cannot start the project.

    PS C:\...\videos> manim .\_2020\chess.py
    Traceback (most recent call last):
      File "c:\programdata\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "c:\programdata\anaconda3\lib\runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "C:\ProgramData\Anaconda3\Scripts\manim.exe\__main__.py", line 7, in <module>
      File "c:\programdata\anaconda3\lib\site-packages\manimlib\__init__.py", line 9, in main
        config = manimlib.config.get_configuration(args)
      File "c:\programdata\anaconda3\lib\site-packages\manimlib\config.py", line 155, in get_configuration
        module = get_module(args.file)
      File "c:\programdata\anaconda3\lib\site-packages\manimlib\config.py", line 150, in get_module
        spec.loader.exec_module(module)
      File "<frozen importlib._bootstrap_external>", line 783, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File ".\_2020\chess.py", line 1, in <module>
        from manim_imports_ext import *
    ModuleNotFoundError: No module named 'manim_imports_ext'
    
    opened by ghost 11
  • Running `scenes.py InitialDemo` can't find manimlib

    Running `scenes.py InitialDemo` can't find manimlib

    I'm trying to run the Wordle solver, and when I run scenes.py InitialDemo I always get an error about not being able to find manimlib. From what I know I have everything I need, so I have no idea why it isn't finding it.

    Traceback (most recent call last):
      File "C:\Users\Noelle\Desktop\Wordle solver\scenes.py", line 1, in <module>
        from manim_imports_ext import *
      File "C:\Users\Noelle\Desktop\Wordle solver\manim_imports_ext.py", line 1, in <module>
        from manimlib import *
    ModuleNotFoundError: No module named 'manimlib'
    
    opened by NoelleTGS 8
  • Error when trying to run InitialDemo scene

    Error when trying to run InitialDemo scene

    I tried to run the following command similar to what I saw in the video and got the following error. Any idea what I need to do to fix it? The manimgl was installed from the latest community distribution manually but I tried pip install manimgl with the same issue. Just running "python _2022/wordle.py" is fine though.

    manim) markyoung@macbook-pro-3 videos % manimgl _2022/wordle.py InitialDemo ManimGL v1.4.1 Traceback (most recent call last): File "/Users/markyoung/opt/anaconda3/envs/manim/bin/manimgl", line 33, in sys.exit(load_entry_point('manimgl', 'console_scripts', 'manimgl')()) File "/Users/markyoung/Projects/manim/manimlib/main.py", line 25, in main scene.run() File "/Users/markyoung/Projects/manim/manimlib/scene/scene.py", line 76, in run self.setup() File "_2022/wordle.py", line 1406, in setup super().setup() File "_2022/wordle.py", line 778, in setup self.add_guess_value_grid_title() File "_2022/wordle.py", line 805, in add_guess_value_grid_title underline.match_y(first.get_bottom() + 0.025 * DOWN) File "/Users/markyoung/Projects/manim/manimlib/mobject/mobject.py", line 1195, in match_y return self.match_coord(mobject, 1, direction) File "/Users/markyoung/Projects/manim/manimlib/mobject/mobject.py", line 1186, in match_coord mobject.get_coord(dim, direction), AttributeError: 'numpy.ndarray' object has no attribute 'get_coord'

    opened by cobase2010 7
  • `manimgl wordle.py InitialDemo` get  an error

    `manimgl wordle.py InitialDemo` get an error

    AttributeError: 'numpy.ndarray' object has no attribute 'get_coord'

    image image

    Package | Version -- | -- manimgl | v1.2.0 or latest MiKTeX | v22.1

    System information name|Version -- | -- windows | 10 Python | 3.10.2

    1. I have already installed manimgl
    2. I got pattern_matrix.npy by running python wordle.py
    3. When I ran manimgl wordle.py InitialDemo, I got the error, but I don't know where I was wrong
    opened by nwulqx 5
  • Problem with scenes.py

    Problem with scenes.py

    I got simulations.py to work but when I run scenes.py nothing happens. There are no errors it just creates a new line and does nothing. I have all the manimgl requirements and have it installed.

    opened by sethyo7 4
  • Where do you run the Wordle code?

    Where do you run the Wordle code?

    I was wondering where you write the wordle code? is it in python? if so, how do you do it? I've never run manim before or any github code at that, can someone give me a full walkthrough on how to do it

    thanks in advance

    opened by SuperSuperHunter 4
  • Wordle application is

    Wordle application is "Killed"

    When I try to execute the program via python3 wordle.py, I get the following error.

    Screenshot_20220208_094528

    I believe I correctly created the directories necessary for custom_config.yml.

    opened by ajschwieterman 4
  • Handling duplicates in guesses and actual word

    Handling duplicates in guesses and actual word

    When there's a duplicate in our guess but there's no or less duplicates in the original word, it should be handled effectively.

    Scenario 1: When the first instance is at the correct position Word: ABCDE Guess: ABACB

    Current implementation shows: image

    Whereas, it should ideally be image

    Scenario 2: When the first instance is at the wrong position Word: ABCDE Guess: BADAE

    Current implementation shows: image

    Whereas, it should ideally be image

    Special Cases: When the duplicate count is less in the actual word than guess Word: ABBCD Guess: ABCBB

    Current implementation shows: image

    Whereas, it should ideally be image

    opened by sid-1698 4
  • Generate the pattern matrix in blocks

    Generate the pattern matrix in blocks

    When I have tried to run the Wordle solver on Dungleon puzzles, I have noticed that the script would crash due to an excessive RAM usage. This is caused by the number of allowed guesses which is larger in Dungleon than in Wordle.

    By building the pattern matrix in blocks of length 13000, the script remains the same for Wordle puzzles, and works for larger puzzles such as Dungleon's.

    I have tested this change on a refactored version of your script (to simplify dependencies), and I have copied the changes to my fork of your repository in order to create this pull request, so I have not tested my changes in your script as it is. Feel free to check that everything still works as intended.

    opened by woctezuma 0
  • cannot run examples for lake of image resources

    cannot run examples for lake of image resources

    cannot run examples for lake of image resources

    folder = get_directories()["pi_creature_images"]
    

    KeyError: 'pi_creature_images'

    where can i get the resources under this paths:

    raster_images: "/Users/grant/Dropbox/3Blue1Brown/images/raster" vector_images: "/Users/grant/Dropbox/3Blue1Brown/images/vector" pi_creature_images: "/Users/grant/Dropbox/3Blue1Brown/images/pi_creature/svg" sounds: "/Users/grant/Dropbox/3Blue1Brown/sounds" data: "/Users/grant/Dropbox/3Blue1Brown/data"

    thx~

    opened by timedcy 0
  • ModuleNotFoundError: No module named 'manimlib.scene.interactive_scene'

    ModuleNotFoundError: No module named 'manimlib.scene.interactive_scene'

    I'm on mac os Monterey, and i'm trying to run this code, I've looked through the other issues and tried all the solutions that apply to my OS. However, none of them have worked for me. I have manimgl, I've imported sys and added sys.path.append(".")/(".."). Whenever I run "python3 scenes.py InitialDemo" it gives me the ModuleNotFoundError: No module named 'manimlib.scene.interactive_scene' error. I would really like to run this code, and any help would be greatly appreciated. Thank you!

    opened by kowen917 1
  • Missing animation / simulation for Betrand's paradox

    Missing animation / simulation for Betrand's paradox

    I would like to play with the simulation(s) for Betrand's paradox in order to find the flaw in my reasoning. :)

    I am a software engineer and a very casual armchair mathematician, but the following thought experiment leads me to the conclusion that one of the three selection methods is invalid. However it also stands to reason that there must be a flaw in the following since this problem has stood for over 100 years and no one has declared the following observation a fault.
    Consider the "random radial point" method. Described on Wikipedia as “Choose a radius of the circle, choose a point on the radius and construct the chord through this point and perpendicular to the radius” If we assume for a moment that the circle has its center at the origin, these directions could be rendered simply as choose an angle theta and a distance r’ < r. Or more simply choose a point in the interior of the circle using polar notation. If we imagine that r’ is the radius of an inscribed circle we can observe that all chords drawn tangent to the inscribed circle have equal length. This again tells us that the angle theta at which the chosen radius is drawn has no bearing on the length of the resulting chord, or the probability of its length being longer or shorter than s. Since the angle is not important, it may be instructive to choose a convenient angle like 0 (or the positive X axis in the Cartesian plane). Doing this we observe that the probability of our chord being longer than s is 0.5. But we can also make a couple of other observations. First we note that the numerical representation of our chosen point is the same for the polar coordinate (r,theta) and the Cartesian coordinate (X,Y). Somehow it seems we doing something equivalent to choosing a random interior point with its Y coordinate fixed to 0. Second we should observe that the midpoint of each chord lies on the X axis. So this method is simply the “random midpoint” method in disguise. This method appears to be a fraud and a cheat, as it makes a show of choosing two random numbers to select a chord even though only one of them has any bearing on the length of the chord. 
    On the one hand the method seems valid in that it can select any chord of the circle. But on the other hand seems invalid since it discards half the randomness (entropy?) generated in the selection of the chord’s midpoint. 
    
    opened by chazste 0
Owner
Grant Sanderson
I make videos about math.
Grant Sanderson
Blender pluggin (python script) that adds a randomly generated tree with random branches and bend orientations

Blender pluggin (python script) that adds a randomly generated tree with random branches and bend orientations

Travis Gruber 2 Dec 24, 2021
UUID_ApiGenerator - This an API that will return a key-value pair of randomly generated UUID

This an API that will return a key-value pair of randomly generated UUID. Key will be a timestamp and value will be UUID. While the

null 1 Jan 28, 2022
Procedurally generated Oblique Strategies for writing your own Oblique Strategies

Procedurally generated Oblique Strategies for writing your own Oblique Strategies.

Gordon Brander 13 Aug 17, 2022
Originally used during Marketplace.tf's open period, this program was used to get the profit of items bought with keys and sold for dollars.

Originally used during Marketplace.tf's open period, this program was used to get the profit of items bought with keys and sold for dollars. Practically useless for me now, but can be used as an example of tkinter.

BoggoTV 1 Dec 11, 2021
A repository containing an introduction to Panel made to be support videos and talks.

?? Awesome Panel - Introduction to Panel THIS REPO IS WORK IN PROGRESS. PRE-ALPHA Panel is a very powerful framework for exploratory data analysis and

Marc Skov Madsen 51 Nov 17, 2022
Donatus Prince 6 Feb 25, 2022
Automatically skip sponsor segments in YouTube videos playing on Apple TV.

iSponsorBlockTV Skip sponsor segments in YouTube videos playing on an Apple TV. This project is written in asycronous python and should be pretty quic

David 64 Dec 17, 2022
Small exercises to get you used to reading and writing Python code!

Pythonlings Welcome to Pythonlings, an automated Python tutorial program (inspired by Rustlings and Haskellings). WIP This program is still working in

鹤翔万里 5 Sep 23, 2022
The dynamic code loading framework used in LocalStack

localstack-plugin-loader localstack-plugin-loader is the dynamic code loading framework used in LocalStack. Install pip install localstack-plugin-load

LocalStack 5 Oct 9, 2022
TrainingBike - Code, models and schematics I've used to interface my stationary training bike with PC.

TrainingBike Code, models and schematics I've used to interface my stationary training bike with PC. You can find more information about the project i

null 1 Jan 1, 2022
A Linux webcam plugin for BGMv2 as used in our demos.

The goal of this repository is to supplement the main Real-Time High Resolution Background Matting repo with a working demo of a videoconferencing plu

Andrey Ryabtsev 144 Dec 27, 2022
tidevice can be used to communicate with iPhone device

h 该工具能够用于与iOS设备进行通信, 提供以下功能 截图 获取手机信息 ipa包的安装和卸载 根据bundleID 启动和停止应用 列出安装应用信息 模拟Xcode运行XCTest,常用的如启动WebDriverAgent测试

Alibaba 1.8k Dec 30, 2022
HPomb Is Socail Engineering Tool , Used For Bombing , Spoofing and Anonymity Available For Linux And Android(Termux)

HPomb v2020.02 Coming Soon Created By Secanonm HPomb Is Socail Engineering Tool , Used For Bombing , Spoofing and Anonymity Available For Linux And An

Secanonm 10 Jul 25, 2022
Ikaros is a free financial library built in pure python that can be used to get information for single stocks, generate signals and build prortfolios

Ikaros is a free financial library built in pure python that can be used to get information for single stocks, generate signals and build prortfolios

Salma Saidane 64 Sep 28, 2022
The most widely used Python to C compiler

Welcome to Cython! Cython is a language that makes writing C extensions for Python as easy as Python itself. Cython is based on Pyrex, but supports mo

null 7.6k Jan 3, 2023
Inspect the resources of your android projects and understand which ones are not being used and could potentially be removed.

Android Resources Checker What This program will inspect the resources of your app and help you understand which ones are not being used and could pot

Fábio Carballo 39 Feb 8, 2022
Information about a signed UEFI Shell that can be used when Secure Boot is enabled.

SignedUEFIShell During our research of the BootHole vulnerability last year, we tried to find as many signed bootloaders as we could. We searched all

Mickey 61 Jan 3, 2023
This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time

This is a multi-app executor that it used when we have some different task in a our applications and want to run them at the same time. It uses SQLAlchemy for ORM and Alembic for database migrations.

Majid Iranpour 5 Apr 16, 2022
A weekly dive into commonly used modules in the Rust ecosystem, with story flavor!

The goal of this project is to bring the same concept as PyMOTW to the Rust world. PyMOTW was an invaluable resource for me when I was learning Python years ago, and I hope that I can help someone in a similar way. Each week we'll dive into a module and explore some of the functionality that we can find there while following along the adventures of some colourful characters.

Scott Lyons 20 Aug 26, 2022