跳到正文
cccskills
免费在 GitHub 公开

manimgl-best-practices

Create mathematical animations in ManimGL using Python, with guidance for equations, graphs, 3D scenes, and camera movement. Includes interactive development workflows, examples, and templates for testing changes and rendering scenes to video.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Trigger when: (1) User mentions "manimgl" or "ManimGL" or "3b1b manim", (2) Code contains `from manimlib import *`, (3) User runs `manimgl` CLI commands, (4) Working with InteractiveScene, self.frame, self.embed(), ShowCreation(), or ManimGL-specific patterns. Best practices for ManimGL (Grant Sanderson's 3Blue1Brown version) - OpenGL-based animation engine with interactive development. Covers InteractiveScene, Tex with t2c, camera frame control, interactive mode (-se flag), 3D rendering, and checkpoint_paste() workflow. NOT for Manim Community Edition (which uses `manim` imports and `manim` CLI).

查看安装方法

适用场景

  • Animate equations and mathematical derivations
  • Visualize functions and graphs
  • Build 3D scenes with camera movement
  • Test animation changes interactively

包含的文件(107)

  • SKILL.md7.3 KB
  • examples/attention_arcs_animation.py8.1 KB
  • examples/attention_pattern_dots.py4.3 KB
  • examples/attention_scenes.py33.9 KB
  • examples/attention_softmax_masking.py3.7 KB
  • examples/autoregressive_flow.py7.0 KB
  • examples/basic_multihead.py5.0 KB
  • examples/bloch_sphere_3d.py6.9 KB
  • examples/block_collision_basic.py5.4 KB
  • examples/blocks_3d.py7.2 KB
  • examples/collision_phase_space.py10.0 KB
  • examples/complex_s_plane.py9.8 KB
  • examples/cost_function.py3.9 KB
  • examples/cube_projection_3d.py6.3 KB
  • examples/damped_solutions_splane.py9.2 KB
  • examples/dot_product_visualization.py5.5 KB
  • examples/double_slit_interference.py11.1 KB
  • examples/eigenvalue_equations.py7.2 KB
  • examples/eigenvector_flow_field.py6.5 KB
  • examples/eigenvector_matrix_transformation.py6.2 KB
  • examples/elastic_collision_vectors.py10.5 KB
  • examples/embedding_matrix.py5.5 KB
  • examples/equation_transforms.py10.0 KB
  • examples/exponential_derivative.py8.2 KB
  • examples/fibonacci_eigenvalues.py5.9 KB
  • examples/gradient_descent_basic.py6.8 KB
  • examples/hexagon_cube_correspondence.py2.8 KB
  • examples/integration_visualization.py6.9 KB
  • examples/laplace_integral.py9.3 KB
  • examples/light_polarization.py11.2 KB
  • examples/linear_regression.py3.8 KB
  • examples/llm_prediction_pipeline.py9.3 KB
  • examples/lorenz_attractor.py5.3 KB
  • examples/lozenge_tiling.py3.2 KB
  • examples/max_random_process.py5.8 KB
  • examples/mlp_forward_pass.py8.7 KB
  • examples/mlp_network_icon.py3.2 KB
  • examples/mlp_neuron_activation.py7.7 KB
  • examples/mlp_neurons_flow.py10.1 KB
  • examples/mlp_relu_visualization.py5.3 KB
  • examples/mlp_vector_space.py8.6 KB
  • examples/mlp_weight_matrix.py8.5 KB
  • examples/multi_head_attention.py8.3 KB
  • examples/network_block_flow.py8.4 KB
  • examples/neural_network_basic.py4.3 KB
  • examples/parallax_starfield.py6.3 KB
  • examples/probability_distribution.py12.2 KB
  • examples/probability_output.py12.1 KB
  • examples/quantum_gates.py8.7 KB
  • examples/qubit_state_vector.py6.0 KB
  • examples/query_key_dot_products.py4.2 KB
  • examples/query_key_space_mapping.py6.3 KB
  • examples/radial_wave_visualization.py7.6 KB
  • examples/rotating_exponentials.py9.3 KB
  • examples/semantic_similarity.py5.8 KB
  • examples/simple_test.py1.8 KB
  • examples/softmax_visualization.py4.8 KB
  • examples/solve_damped_ode.py9.1 KB
  • examples/spring_mass_system.py9.6 KB
  • examples/sqrt_random_process.py4.8 KB
  • examples/superposition_effect.py9.0 KB
  • examples/three_d_surfaces.py6.4 KB
  • examples/three_d_vector_space.py3.3 KB
  • examples/token_embeddings_flow.py5.9 KB
  • examples/token_probability_distribution.py6.5 KB
  • examples/token_sampling.py6.1 KB
  • examples/token_to_embedding.py8.1 KB
  • examples/tokenization_demo.py6.0 KB
  • examples/transit_animation.py6.2 KB
  • examples/value_matrix_transform.py7.0 KB
  • examples/vector_fields.py7.5 KB
  • examples/wave_amplitude_visualization.py12.8 KB
  • examples/weight_matrix_product.py5.7 KB
  • examples/weights_vs_data.py6.5 KB
  • examples/word_vector_analogy.py5.6 KB
  • examples/zone_plate_hologram.py11.5 KB
  • LICENSE.txt1.5 KB
  • references/equation_transforms.md2.5 KB
  • references/integration_visualization.md2.3 KB
  • references/parallax_starfield.md4.4 KB
  • references/rotating_exponentials.md2.5 KB
  • references/spring_mass_system.md3.0 KB
  • references/three_d_surfaces.md2.5 KB
  • references/transit_animation.md2.3 KB
  • references/vector_fields.md2.6 KB
  • rules/3d.md8.1 KB
  • rules/animation-groups.md9.9 KB
  • rules/animations.md3.8 KB
  • rules/camera.md10.2 KB
  • rules/cli.md8.1 KB
  • rules/colors.md8.1 KB
  • rules/config.md8.3 KB
  • rules/creation-animations.md8.2 KB
  • rules/embedding.md10.1 KB
  • rules/frame.md3.4 KB
  • rules/interactive.md3.2 KB
  • rules/mobjects.md3.6 KB
  • rules/scenes.md2.3 KB
  • rules/styling.md9.2 KB
  • rules/t2c.md5.8 KB
  • rules/tex.md2.9 KB
  • rules/text.md5.1 KB
  • rules/transform-animations.md10.0 KB
  • templates/3d_scene.py6.6 KB
  • templates/basic_scene.py3.4 KB
  • templates/interactive_scene.py1.7 KB
  • templates/math_scene.py8.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

How to use

Read individual rule files for detailed explanations and code examples:

Core Concepts

Creation & Transformation

Text & Math

  • rules/tex.md - Tex class, raw strings R"...", and LaTeX rendering
  • rules/text.md - Text mobjects, fonts, and styling
  • rules/t2c.md - tex_to_color_map (t2c) for coloring math expressions

Styling & Appearance

3D & Camera

  • rules/3d.md - 3D objects, surfaces, Sphere, Torus, parametric surfaces, lighting
  • rules/camera.md - frame.reorient(), Euler angles, fix_in_frame(), camera animations

Interactive Development

Configuration & CLI

  • rules/cli.md - manimgl command, flags (-w, -o, -se, -l, -h), rendering options
  • rules/config.md - custom_config.yml, directories, camera settings, quality presets

Working Examples

Complete, tested example files demonstrating common patterns:

Scene Templates

Copy and modify these templates to start new projects:

Quick Reference

Basic Scene Structure

from manimlib import *

class MyScene(InteractiveScene):
    def construct(self):
        # Create mobjects
        circle = Circle()

        # Add to scene (static)
        self.add(circle)

        # Or animate
        self.play(ShowCreation(circle))  # Note: ShowCreation, not Create

        # Wait
        self.wait(1)

Render Command

# Render and preview
manimgl scene.py MyScene

# Interactive mode - drop into shell at line 15
manimgl scene.py MyScene -se 15

# Write to file
manimgl scene.py MyScene -w

# Low quality for testing
manimgl scene.py MyScene -l

Key Differences from ManimCE

FeatureManimGL (3b1b)Manim Community
Importfrom manimlib import *from manim import *
CLImanimglmanim
Math textTex(R"\pi")MathTex(r"\pi")
SceneInteractiveSceneScene
Create animShowCreationCreate
Cameraself.frameself.camera.frame
Fix in framemob.fix_in_frame()self.add_fixed_in_frame_mobjects(mob)
Packagemanimgl (PyPI)manim (PyPI)

Interactive Development Workflow

ManimGL's killer feature is interactive development:

# Start at line 20 with state preserved
manimgl scene.py MyScene -se 20

In interactive mode:

# Copy code to clipboard, then run:
checkpoint_paste()           # Run with animations
checkpoint_paste(skip=True)  # Run instantly (no animations)
checkpoint_paste(record=True) # Record while running

Camera Control (self.frame)

# Get the camera frame
frame = self.frame

# Reorient in 3D (phi, theta, gamma, center, height)
frame.reorient(45, -30, 0, ORIGIN, 8)

# Animate camera movement
self.play(frame.animate.reorient(60, -45, 0))

# Fix mobjects to stay in screen space during 3D movement
title.fix_in_frame()

LaTeX with Tex class

# Use raw strings with capital R
formula = Tex(R"\int_0^1 x^2 \, dx = \frac{1}{3}")

# Color mapping with t2c
equation = Tex(
    R"E = mc^2",
    t2c={"E": BLUE, "m": GREEN, "c": YELLOW}
)

# Isolate substrings for animation
formula = Tex(R"\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}")
formula.set_color_by_tex("n", BLUE)

Common Patterns

Embedding for debugging

def construct(self):
    circle = Circle()
    self.play(ShowCreation(circle))
    self.embed()  # Drops into IPython shell here

Set floor plane for 3D

self.set_floor_plane("xz")  # Makes xy the viewing plane

Backstroke for text readability

text = Text("Label")
text.set_backstroke(BLACK, 5)  # Black outline behind text

Installation

# Install ManimGL
pip install manimgl

# Check installation
manimgl --version

Common Pitfalls to Avoid

  1. Version confusion - Ensure you're using manimgl, not manim (community version)
  2. ShowCreation vs Create - ManimGL uses ShowCreation, not Create
  3. Tex vs MathTex - ManimGL uses Tex with capital R raw strings
  4. self.frame vs self.camera.frame - ManimGL uses self.frame directly
  5. fix_in_frame() - Call on the mobject, not the scene
  6. Interactive mode - Use -se flag for interactive development

License & Attribution

This skill contains example code adapted from 3Blue1Brown's video repository by Grant Sanderson.

License: CC BY-NC-SA 4.0

  • Attribution required - Credit both 3Blue1Brown and the adapter
  • NonCommercial - Not for commercial use
  • ShareAlike - Derivatives must use the same license

See LICENSE.txt for full details.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

3d-asset-generation

免费有简介AI 评分 90分

从文字或图像生成3D模型,并与目录素材搭配使用。在Blender中检查形状、材质、大小和接地情况,记录生成条件、来源及费用,再将素材加入场景。

  • 根据文字生成独特的3D道具
  • 将概念图中的物体转为3D模型
  • 用目录中的植被和岩石填充背景
calesthio/OpenMontage7.1万2026年10月17日 更新

acestep

免费有简介AI 评分 80分

使用ACE-Step 1.5生成视频背景音乐和带歌词的歌曲,可指定曲风、时长、速度与调性,也支持改编参考音频,以及从混合音频中分离人声或乐器。

  • 制作适合视频场景的背景音乐
  • 制作带歌词的短广告曲
  • 将参考音频改编为爵士风格
calesthio/OpenMontage7.1万2026年10月17日 更新

agents

免费有简介AI 评分 80分

使用ElevenLabs创建语音对话助手或角色,配置声音、应答规则、语言模型及外部工具,支持嵌入网站,并通过Twilio集成设置电话外呼。

  • 创建回答咨询的语音机器人
  • 在网站中嵌入语音引导
  • 制作可对话的语音角色原型
calesthio/OpenMontage7.1万2026年10月17日 更新

ai-video-gen

免费有简介AI 评分 90分

根据文字描述或参考图片生成AI视频,并按用途和费用选择生成服务。支持设置画面比例、查看生成进度,以及通过Gemini Omni对话修改现有视频。

  • 将文字描述的场景制作成视频
  • 为商品照片添加动态效果
  • 制作社交媒体竖屏视频
calesthio/OpenMontage7.1万2026年10月17日 更新

ai-video-gen

免费有简介AI 评分 70分

根据文字或参考图像生成AI视频,并按用途、可用服务和预算选择模型。可制作社交平台竖屏短片、让商品照片动起来,也可通过对话编辑已有片段。

  • 制作社交平台竖屏短片
  • 为商品照片添加动态效果
  • 按预算和风格选择生成服务
calesthio/OpenMontage7.1万2026年10月17日 更新

atlas-cloud

免费有简介AI 评分 90分

通过Atlas Cloud使用多种模型生成和编辑图像与视频,只需一个API密钥,即可保存生成素材,以及所用模型、提交设置和预估费用等记录。

  • 通过同一服务生成图像和视频
  • 利用参考素材编辑商品图
  • 参考图像、视频和音频生成视频
calesthio/OpenMontage7.1万2026年10月17日 更新

查看 calesthio 的全部技能

报告此技能的问题