mirror of
https://github.com/3b1b/manim.git
synced 2025-07-28 12:32:36 +08:00
update docs
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
custom_default
|
custom_config
|
||||||
==============
|
==============
|
||||||
|
|
||||||
``directories``
|
``directories``
|
||||||
@ -18,12 +18,13 @@ custom_default
|
|||||||
file and saved the last frame, then the final directory structure will be like:
|
file and saved the last frame, then the final directory structure will be like:
|
||||||
|
|
||||||
.. code-block:: text
|
.. code-block:: text
|
||||||
:emphasize-lines: 8, 10
|
:emphasize-lines: 9, 11
|
||||||
|
|
||||||
manim/
|
manim/
|
||||||
├── manimlib/
|
├── manimlib/
|
||||||
│ ├── animation/
|
│ ├── animation/
|
||||||
│ ├── ...
|
│ ├── ...
|
||||||
|
│ ├── default_config.yml
|
||||||
│ └── window.py
|
│ └── window.py
|
||||||
├── output/
|
├── output/
|
||||||
│ ├── images
|
│ ├── images
|
||||||
@ -31,18 +32,18 @@ custom_default
|
|||||||
│ └── videos
|
│ └── videos
|
||||||
│ └── Scene1.mp4
|
│ └── Scene1.mp4
|
||||||
├── code.py
|
├── code.py
|
||||||
├── custom_default.yml
|
└── custom_config.yml
|
||||||
└── manim.py
|
|
||||||
|
|
||||||
But if you set ``mirror_module_path`` to ``True``, the directory structure will be:
|
But if you set ``mirror_module_path`` to ``True``, the directory structure will be:
|
||||||
|
|
||||||
.. code-block:: text
|
.. code-block:: text
|
||||||
:emphasize-lines: 7
|
:emphasize-lines: 8
|
||||||
|
|
||||||
manim/
|
manim/
|
||||||
├── manimlib/
|
├── manimlib/
|
||||||
│ ├── animation/
|
│ ├── animation/
|
||||||
│ ├── ...
|
│ ├── ...
|
||||||
|
│ ├── default_config.yml
|
||||||
│ └── window.py
|
│ └── window.py
|
||||||
├── output/
|
├── output/
|
||||||
│ └── code/
|
│ └── code/
|
||||||
@ -51,8 +52,7 @@ custom_default
|
|||||||
│ └── videos
|
│ └── videos
|
||||||
│ └── Scene1.mp4
|
│ └── Scene1.mp4
|
||||||
├── code.py
|
├── code.py
|
||||||
├── custom_default.yml
|
└── custom_config.yml
|
||||||
└── manim.py
|
|
||||||
|
|
||||||
- ``raster_images``
|
- ``raster_images``
|
||||||
The directory for storing raster images to be used in the code (including
|
The directory for storing raster images to be used in the code (including
|
@ -4,14 +4,16 @@ CLI flags and configuration
|
|||||||
Command Line Interface
|
Command Line Interface
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
To run manim, you need to enter the directory at the same level as ``manim.py``
|
To run manim, you need to enter the directory at the same level as ``manimlib/``
|
||||||
and enter the command in the following format into terminal:
|
and enter the command in the following format into terminal:
|
||||||
|
|
||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
python manim.py <code>.py <Scene> <flags>
|
manimgl <code>.py <Scene> <flags>
|
||||||
|
# or
|
||||||
|
manim-render <code>.py <Scene> <flags>
|
||||||
|
|
||||||
- ``<code>.py`` : The python file you wrote. Needs to be at the same level as ``manim.py``, otherwise you need to use an absolute path or a relative path.
|
- ``<code>.py`` : The python file you wrote. Needs to be at the same level as ``manimlib/``, otherwise you need to use an absolute path or a relative path.
|
||||||
- ``<Scene>`` : The scene you want to render here. If it is not written or written incorrectly, it will list all for you to choose. And if there is only one ``Scene`` in the file, this class will be rendered directly.
|
- ``<Scene>`` : The scene you want to render here. If it is not written or written incorrectly, it will list all for you to choose. And if there is only one ``Scene`` in the file, this class will be rendered directly.
|
||||||
- ``<flags>`` : CLI flags.
|
- ``<flags>`` : CLI flags.
|
||||||
|
|
||||||
@ -48,6 +50,7 @@ flag abbr function
|
|||||||
``--write_all`` ``-a`` Write all the scenes from a file
|
``--write_all`` ``-a`` Write all the scenes from a file
|
||||||
``--open`` ``-o`` Automatically open the saved file once its done
|
``--open`` ``-o`` Automatically open the saved file once its done
|
||||||
``--finder`` Show the output file in finder
|
``--finder`` Show the output file in finder
|
||||||
|
``--config`` Guide for automatic configuration
|
||||||
``--file_name FILE_NAME`` Name for the movie or image file
|
``--file_name FILE_NAME`` Name for the movie or image file
|
||||||
``--start_at_animation_number START_AT_ANIMATION_NUMBER`` ``-n`` Start rendering not from the first animation, but from another, specified by its index. If you passin two comma separated values, e.g. "3,6", it will end the rendering at the second value.
|
``--start_at_animation_number START_AT_ANIMATION_NUMBER`` ``-n`` Start rendering not from the first animation, but from another, specified by its index. If you passin two comma separated values, e.g. "3,6", it will end the rendering at the second value.
|
||||||
``--resolution RESOLUTION`` ``-r`` Resolution, passed as "WxH", e.g. "1920x1080"
|
``--resolution RESOLUTION`` ``-r`` Resolution, passed as "WxH", e.g. "1920x1080"
|
||||||
@ -57,15 +60,15 @@ flag abbr function
|
|||||||
``--video_dir VIDEO_DIR`` directory to write video
|
``--video_dir VIDEO_DIR`` directory to write video
|
||||||
========================================================== ====== =================================================================================================================================================================================================
|
========================================================== ====== =================================================================================================================================================================================================
|
||||||
|
|
||||||
custom_default
|
custom_config
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
In order to perform more configuration (about directories, etc.) and permanently
|
In order to perform more configuration (about directories, etc.) and permanently
|
||||||
change the default value (you don't have to add flags to the command every time),
|
change the default value (you don't have to add flags to the command every time),
|
||||||
you can modify ``custom_default.yml``. The meaning of each option is in
|
you can modify ``custom_config.yml``. The meaning of each option is in
|
||||||
page :doc:`../documentation/custom_default`.
|
page :doc:`../documentation/custom_config`.
|
||||||
|
|
||||||
You can also use different ``custom_default.yml`` for different directories, such as
|
You can also use different ``custom_config.yml`` for different directories, such as
|
||||||
following the directory structure:
|
following the directory structure:
|
||||||
|
|
||||||
.. code-block:: text
|
.. code-block:: text
|
||||||
@ -74,13 +77,13 @@ following the directory structure:
|
|||||||
├── manimlib/
|
├── manimlib/
|
||||||
│ ├── animation/
|
│ ├── animation/
|
||||||
│ ├── ...
|
│ ├── ...
|
||||||
|
│ ├── default_config.yml
|
||||||
│ └── window.py
|
│ └── window.py
|
||||||
├── project/
|
├── project/
|
||||||
│ ├── code.py
|
│ ├── code.py
|
||||||
│ └── custom_default.yml
|
│ └── custom_config.yml
|
||||||
├── custom_default.yml
|
└── custom_config.yml
|
||||||
└── manim.py
|
|
||||||
|
|
||||||
When you enter the ``project/`` folder and run ``python ../manim.py code.py <Scene>``,
|
When you enter the ``project/`` folder and run ``manimgl code.py <Scene>``,
|
||||||
it will overwrite ``manim/custom_default.yml`` with ``custom_default.yml``
|
it will overwrite ``manim/custom_config.yml`` with ``custom_config.yml``
|
||||||
in the ``project`` folder.
|
in the ``project`` folder.
|
@ -11,7 +11,7 @@ SquareToCircle
|
|||||||
.. manim-example:: SquareToCircle
|
.. manim-example:: SquareToCircle
|
||||||
:media: ../_static/example_scenes/SquareToCircle.mp4
|
:media: ../_static/example_scenes/SquareToCircle.mp4
|
||||||
|
|
||||||
from manimlib.imports import *
|
from manimlib import *
|
||||||
|
|
||||||
class SquareToCircle(Scene):
|
class SquareToCircle(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
|
@ -55,15 +55,6 @@ For Anaconda
|
|||||||
|
|
||||||
git clone https://github.com/3b1b/manim.git
|
git clone https://github.com/3b1b/manim.git
|
||||||
cd manim
|
cd manim
|
||||||
conda env create -f environment.yml
|
conda create -n manim python=3.8
|
||||||
|
conda activate manim
|
||||||
Using virtualenv and virtualenvwrapper
|
pip install -e .
|
||||||
--------------------------------------
|
|
||||||
|
|
||||||
After installing ``virtualenv`` and ``virtualenvwrapper``
|
|
||||||
|
|
||||||
.. code-block:: sh
|
|
||||||
|
|
||||||
git clone https://github.com/3b1b/manim.git
|
|
||||||
mkvirtualenv -a manim -r requirements.txt manim
|
|
||||||
python -m manim example_scenes.py OpeningManimExample
|
|
@ -14,9 +14,9 @@ directory structure:
|
|||||||
├── manimlib/
|
├── manimlib/
|
||||||
│ ├── animation/
|
│ ├── animation/
|
||||||
│ ├── ...
|
│ ├── ...
|
||||||
|
│ ├── default_config.yml
|
||||||
│ └── window.py
|
│ └── window.py
|
||||||
├── custom_default.yml
|
├── custom_config.yml
|
||||||
├── manim.py
|
|
||||||
└── start.py
|
└── start.py
|
||||||
|
|
||||||
And paste the following code (I will explain the function of each line in detail later):
|
And paste the following code (I will explain the function of each line in detail later):
|
||||||
@ -24,7 +24,7 @@ And paste the following code (I will explain the function of each line in detail
|
|||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
from manimlib.imports import *
|
from manimlib import *
|
||||||
|
|
||||||
class SquareToCircle(Scene):
|
class SquareToCircle(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
@ -38,7 +38,7 @@ And run this command:
|
|||||||
|
|
||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
python manim.py start.py SquareToCircle
|
manimgl start.py SquareToCircle
|
||||||
|
|
||||||
A window will pop up on the screen. And then you can :
|
A window will pop up on the screen. And then you can :
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ Run this command again:
|
|||||||
|
|
||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
python manim.py start.py SquareToCircle -os
|
manimgl start.py SquareToCircle -os
|
||||||
|
|
||||||
At this time, no window will pop up. When the program is finished, this rendered
|
At this time, no window will pop up. When the program is finished, this rendered
|
||||||
image will be automatically opened (saved in the subdirectory ``images/`` of the same
|
image will be automatically opened (saved in the subdirectory ``images/`` of the same
|
||||||
@ -71,7 +71,7 @@ Next, let's take a detailed look at what each row does.
|
|||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
from manimlib.imports import *
|
from manimlib import *
|
||||||
|
|
||||||
This will import all the classes that may be used when using manim.
|
This will import all the classes that may be used when using manim.
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ Let's change some codes and add some animations to make videos instead of just p
|
|||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
from manimlib.imports import *
|
from manimlib import *
|
||||||
|
|
||||||
class SquareToCircle(Scene):
|
class SquareToCircle(Scene):
|
||||||
def construct(self):
|
def construct(self):
|
||||||
@ -147,14 +147,14 @@ Run this command this time:
|
|||||||
|
|
||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
python manim.py start.py SquareToCircle
|
manimgl start.py SquareToCircle
|
||||||
|
|
||||||
The pop-up window will play animations of drawing a square and transforming
|
The pop-up window will play animations of drawing a square and transforming
|
||||||
it into a circle. If you want to save this video, run:
|
it into a circle. If you want to save this video, run:
|
||||||
|
|
||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
python manim.py start.py SquareToCircle -ow
|
manimgl start.py SquareToCircle -ow
|
||||||
|
|
||||||
This time there will be no pop-up window, but the video file (saved in the subdirectory
|
This time there will be no pop-up window, but the video file (saved in the subdirectory
|
||||||
``videos/`` of the same level directory of ``start.py`` by default) will be automatically
|
``videos/`` of the same level directory of ``start.py`` by default) will be automatically
|
||||||
@ -209,7 +209,7 @@ at the end of the code to enable interaction:
|
|||||||
|
|
||||||
self.embed()
|
self.embed()
|
||||||
|
|
||||||
Then run ``python manim.py start.py SquareToCircle``.
|
Then run ``manimgl start.py SquareToCircle``.
|
||||||
|
|
||||||
After the previous animation is executed, the ipython terminal will be opened on
|
After the previous animation is executed, the ipython terminal will be opened on
|
||||||
the command line. After that, you can continue to write code in it, and the statement
|
the command line. After that, you can continue to write code in it, and the statement
|
||||||
@ -245,7 +245,7 @@ empty scene containing only ``self.embed()``, you can directly run the following
|
|||||||
|
|
||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
python manim.py
|
manimgl
|
||||||
|
|
||||||
You succeeded!
|
You succeeded!
|
||||||
--------------
|
--------------
|
||||||
|
@ -12,14 +12,13 @@ Below is the directory structure of manim:
|
|||||||
|
|
||||||
.. code-block:: text
|
.. code-block:: text
|
||||||
|
|
||||||
├── manim.py # Manim command entry
|
manimlib/ # manim library
|
||||||
├── custom_default.yml # Default configuration
|
├── __init__.py
|
||||||
└── manimlib/ # manim library
|
├── __main__.py
|
||||||
├── __init__.py # run from here
|
├── default_config.yml # Default configuration file
|
||||||
├── config.py # Process CLI flags
|
├── config.py # Process CLI flags
|
||||||
├── constants.py # Defined some constants
|
├── constants.py # Defined some constants
|
||||||
├── extract_scene.py # Extract and run the scene
|
├── extract_scene.py # Extract and run the scene
|
||||||
├── imports.py # Import all required files in manimlib
|
|
||||||
├── shader_wrapper.py # Shaders' Wrapper for convenient control
|
├── shader_wrapper.py # Shaders' Wrapper for convenient control
|
||||||
├── window.py # Playback window
|
├── window.py # Playback window
|
||||||
├── tex_templates/ # Templates preset for LaTeX
|
├── tex_templates/ # Templates preset for LaTeX
|
||||||
@ -31,8 +30,6 @@ Below is the directory structure of manim:
|
|||||||
│ ├── scene_file_writer.py # Used to write scene to video file
|
│ ├── scene_file_writer.py # Used to write scene to video file
|
||||||
│ ├── scene.py # The basic Scene class
|
│ ├── scene.py # The basic Scene class
|
||||||
│ ├── three_d_scene.py # Three-dimensional scene
|
│ ├── three_d_scene.py # Three-dimensional scene
|
||||||
│ ├── graph_scene.py # GraphScene (with coordinate axis)
|
|
||||||
│ ├── reconfigurable_scene.py
|
|
||||||
│ ├── sample_space_scene.py # Probability related sample space scene
|
│ ├── sample_space_scene.py # Probability related sample space scene
|
||||||
│ └── vector_space_scene.py # Vector field scene
|
│ └── vector_space_scene.py # Vector field scene
|
||||||
├── animation/
|
├── animation/
|
||||||
@ -100,11 +97,12 @@ Below is the directory structure of manim:
|
|||||||
├── bezier.py # For bezier curve
|
├── bezier.py # For bezier curve
|
||||||
├── color.py # For color
|
├── color.py # For color
|
||||||
├── config_ops.py # Process CONFIG
|
├── config_ops.py # Process CONFIG
|
||||||
├── customization.py # Read from custom_default.yml
|
├── customization.py # Read from custom_config.yml
|
||||||
├── debug.py # Utilities for debugging in program
|
├── debug.py # Utilities for debugging in program
|
||||||
├── family_ops.py # Process family members
|
├── family_ops.py # Process family members
|
||||||
├── file_ops.py # Process files and directories
|
├── file_ops.py # Process files and directories
|
||||||
├── images.py # Read image
|
├── images.py # Read image
|
||||||
|
├── init_config.py # Configuration guide
|
||||||
├── iterables.py # Functions related to list/dictionary processing
|
├── iterables.py # Functions related to list/dictionary processing
|
||||||
├── paths.py # Curve path
|
├── paths.py # Curve path
|
||||||
├── rate_functions.py # Some defined rate_functions
|
├── rate_functions.py # Some defined rate_functions
|
||||||
|
@ -24,7 +24,7 @@ And here is a Chinese version of this documentation: https://manim.ml/shaders
|
|||||||
:caption: Documentation
|
:caption: Documentation
|
||||||
|
|
||||||
documentation/constants
|
documentation/constants
|
||||||
documentation/custom_default
|
documentation/custom_config
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
Reference in New Issue
Block a user