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

Related tags

Video 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 and under the MIT license, the contents of this project are intended only to be used for 3Blue1Brown videos themselves.

Copyright © 2021 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
VIT - VideoInTerminal. A quick piece of code to play videos in your terminal using python

VIT VIT - VideoInTerminal. A quick piece of code to play videos in your terminal using python.

ShellTear 3 Mar 3, 2022
It is a simple python package to play videos in the terminal using characters as pixels

It is a simple python package to play videos in the terminal using characters as pixels

Joel Ibaceta 1.4k Jan 7, 2023
A Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

Adnan Ahmad 82 Jan 3, 2023
Python Script for Streaming YouTube Videos in VLC Media Player.

Short Description Use this Simple Script to stream YouTube Video to VLC

Sijey 6 May 27, 2021
pygamevideo module helps developer to embed videos into their Pygame display

pygamevideo module helps developer to embed videos into their Pygame display. Audio playback doesn't use pygame.mixer.

Kadir Aksoy 10 Dec 28, 2022
Playing videos through S3 buckets (Wasabi, AWS, etc.) through client-side VideoJS player

Playing videos through S3 buckets (Wasabi, AWS, etc.) through client-side VideoJS player without incurring ingress/egree traffic on EC2 Instance.

Syed Umar Arfeen 8 Mar 28, 2022
A python generator that converts youtube videos to ascii art in your console.

Video To ASCII A python generator that converts youtube videos to ascii art in your console. This has not been tested for windows! Example Normal mode

Julian Jones 24 Nov 2, 2022
goal: render videos on eu4's timeline function

Rendering Videos on the EU4 Time Line This repository contains code to create an eu4-savefile that plays back a video in question.

null 29 Dec 24, 2022
Youtube as covert-channel - Control systems remotely and execute commands by uploading videos to Youtube

covert-tube A program to control systems remotely by uploading videos to Youtube using Python to create the videos and the listener, emulating some ma

Ricardo Ruiz 101 Nov 1, 2022
Text2Video's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images to include in the video.

Text2Video Text2Video's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images

Josh Chen 19 Nov 22, 2022
Script simples para baixar vídeos/áudios/playlist do YouTube

?? VilelaTube ▶️ Script simples para baixar vídeos/áudios/playlist do YouTube Requisitos • Como usar • Melhorias futuras ⚠️ Atenção! ⚠️ Lembre-se de a

João Victor Vilela dos Santos 2 Nov 3, 2021
A GUI based datamoshing apllication for everyone! Apply this glitch to your videos and gifs. Supports all video formats!

A GUI based datamoshing apllication for everyone! Apply this glitch to your videos and gifs. Supports all video formats!

Akascape 131 Dec 31, 2022
A simple Telegram bot to extract hard-coded subtitle from videos using FFmpeg & Tesseract.

Video Subtitle Extractor Bot A simple Telegram bot to extract hard-coded subtitle from videos using FFmpeg & Tesseract. Note that the accuracy of reco

null 14 Oct 28, 2022
DICexport is a GUI (PyQt5) to export digital image correlation videos

DIC Video Exporter DICexport is a GUI (PyQt5) to export digital image correlation videos. It offers the flexibility to choose a selected range of a vi

Chaoyi Zhu 0 Jun 23, 2022
Add the dislike count back to my YouTube videos via a comment containing that information.

YouTube Dislikes Forrest Knight Python Version 3.0+ Only use if you know what the code actually does. I'm not responsible for your use of this code in

Forrest Knight 155 Dec 19, 2022
Program to play videos with props in Apex Legends

R5Fresh A video player for the Apex Legends mod R5Reloaded

null 9 Nov 13, 2022
A telegram bot for compressing/encoding videos in h264 format.

Video-Encoder-Bot a telegram bot for compressing/encoding videos in h264 format. Configuration Add values in environment variables or add them in conf

Weeb >.< 61 Dec 29, 2022
This will help you study and avoid moving mouse coz u dont need mouse for watching youtube videos

This will help you study and avoid moving mouse coz u dont need mouse for watching youtube videos. Neither u need it for pdfs just use your keyboard

KorryKatti 5 Jan 7, 2022
A Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

null 1 Mar 8, 2022