manimce-best-practices

راهنمای ساخت انیمیشن‌های دقیق و حرفه‌ای با Manim Community

این مهارت بهترین روش‌های استفاده از Manim Community Edition را برای ساخت انیمیشن‌های دوبعدی، سه‌بعدی، ریاضی و آموزشی ارائه می‌دهد؛ از ساختاردهی Scene و کار با Mobjectها تا انیمیشن‌سازی، چیدمان، دوربین و updaterها.

همچنین به انتخاب درست MathTex، کنترل زمان‌بندی و easing، رسم نمودار، تنظیمات دوربین و اجرای فرمان‌های manim کمک می‌کند تا کدها پایدارتر، قابل‌نگهداری‌تر و آماده‌ی رندر باشند.

چه چیزی می‌گیرید

  • الگوهای استاندارد برای ساخت `Scene` و سازمان‌دهی کدهای Manim
  • راهنمای کار با `MathTex`، متن، شکل‌ها، نمودارها و مختصات
  • روش‌های حرفه‌ای برای `Transform`، `AnimationGroup`، `LaggedStart` و `updater`ها
  • راهنمای ساخت صحنه‌های سه‌بعدی با `ThreeDScene` و کنترل دوربین
  • دستورهای کاربردی `manim` برای رندر، پیش‌نمایش، کیفیت و بررسی نصب

برای چه کاری خوب است

  • توسعه‌دهندگانی که با Python و Manim Community ویدیوهای آموزشی یا ریاضی می‌سازند
  • پروژه‌هایی که به انیمیشن‌های نموداری، فرمول‌های LaTeX یا شبیه‌سازی‌های بصری نیاز دارند
  • کاربرانی که در تفاوت‌های ManimCE، خطاهای رندر یا طراحی ساختار صحنه مشکل دارند

برای چه کاری نیست

  • پروژه‌هایی که با نسخه‌ی 3b1b یعنی ManimGL، `manimlib` یا فرمان `manimgl` ساخته می‌شوند
  • تدوین عمومی ویدیو یا تولید انیمیشن‌های غیرکدنویسی خارج از اکوسیستم Manim

دربارهٔ این اسکیل

How to use

Read individual rule files for detailed explanations and code examples:

Core Concepts

  • rules/scenes.md - Scene structure, construct method, and scene types
  • rules/mobjects.md - Mobject types, VMobject, Groups, and positioning
  • rules/animations.md - Animation classes, playing animations, and timing

Creation & Transformation

  • rules/creation-animations.md - Create, Write, FadeIn, DrawBorderThenFill
  • rules/transform-animations.md - Transform, ReplacementTransform, morphing
  • rules/animation-groups.md - AnimationGroup, LaggedStart, Succession

Text & Math

  • rules/text.md - Text mobjects, fonts, and styling
  • rules/latex.md - MathTex, Tex, LaTeX rendering, and coloring formulas
  • rules/text-animations.md - Write, AddTextLetterByLetter, TypeWithCursor

Styling & Appearance

  • rules/colors.md - Color constants, gradients, and color manipulation
  • rules/styling.md - Fill, stroke, opacity, and visual properties

Positioning & Layout

  • rules/positioning.md - move_to, next_to, align_to, shift methods
  • rules/grouping.md - VGroup, Group, arrange, and layout patterns

Coordinate Systems & Graphing

  • rules/axes.md - Axes, NumberPlane, coordinate systems
  • rules/graphing.md - Plotting functions, parametric curves
  • rules/3d.md - ThreeDScene, 3D axes, surfaces, camera orientation

Animation Control

  • rules/timing.md - Rate functions, easing, run_time, lag_ratio
  • rules/updaters.md - Updaters, ValueTracker, dynamic animations
  • rules/camera.md - MovingCameraScene, zoom, pan, frame manipulation

Configuration & CLI

  • rules/cli.md - Command-line interface, rendering options, quality flags
  • rules/config.md - Configuration system, manim.cfg, settings

Shapes & Geometry

  • rules/shapes.md - Circle, Square, Rectangle, Polygon, and geometric primitives
  • rules/lines.md - Line, Arrow, Vector, DashedLine, and connectors

Working Examples

Complete, tested example files demonstrating common patterns:

  • examples/basic_animations.py - Shape creation, text, lagged animations, path movement
  • examples/math_visualization.py - LaTeX equations, color-coded math, derivations
  • examples/updater_patterns.py - ValueTracker, dynamic animations, physics simulations
  • examples/graph_plotting.py - Axes, functions, areas, Riemann sums, polar plots
  • examples/3d_visualization.py - ThreeDScene, surfaces, 3D camera, parametric curves

Scene Templates

Copy and modify these templates to start new projects:

  • templates/basic_scene.py - Standard 2D scene template
  • templates/camera_scene.py - MovingCameraScene with zoom/pan
  • templates/threed_scene.py - 3D scene with surfaces and camera rotation

Quick Reference

Basic Scene Structure

from manim import *

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

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

        # Or animate
        self.play(Create(circle))

        # Wait
        self.wait(1)

Render Command

# Basic render with preview
manim -pql scene.py MyScene

# Quality flags: -ql (low), -qm (medium), -qh (high), -qk (4k)
manim -pqh scene.py MyScene

Key Differences from 3b1b/ManimGL

FeatureManim Community3b1b/ManimGL
Importfrom manim import *from manimlib import *
CLImanimmanimgl
Math textMathTex(r"\pi")Tex(R"\pi")
SceneSceneInteractiveScene
Packagemanim (PyPI)manimgl (PyPI)

Jupyter Notebook Support

Use the %%manim cell magic:

%%manim -qm MyScene
class MyScene(Scene):
    def construct(self):
        self.play(Create(Circle()))

Common Pitfalls to Avoid

  1. Version confusion - Ensure you're using manim (Community), not manimgl (3b1b version)
  2. Check imports - from manim import * is ManimCE; from manimlib import * is ManimGL
  3. Outdated tutorials - Video tutorials may be outdated; prefer official documentation
  4. manimpango issues - If text rendering fails, check manimpango installation requirements
  5. PATH issues (Windows) - If manim command not found, use python -m manim or check PATH

Installation

# Install Manim Community
pip install manim

# Check installation
manim checkhealth

Useful Commands

manim -pql scene.py Scene    # Preview low quality (development)
manim -pqh scene.py Scene    # Preview high quality
manim --format gif scene.py  # Output as GIF
manim checkhealth            # Verify installation
manim plugins -l             # List plugins

دانلود ZIP