Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Video Manim

Hoạt hình Manim CE: Video toán học/thuật toán 3Blue1Brown.

Siêu dữ liệu kỹ năng

NguồnĐi kèm (được cài đặt theo mặc định)
Đường dẫn

skills/creative/manim-video ` | | Phiên bản |

1.0.0 ` | | Nền tảng | Linux, macOS, Windows |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Đường ống sản xuất video Manim

Khi nào nên sử dụng

Sử dụng khi người dùng yêu cầu: giải thích hoạt hình, hoạt ảnh toán học, trực quan hóa khái niệm, hướng dẫn thuật toán, giải thích kỹ thuật, video phong cách 3Blue1Brown hoặc bất kỳ hoạt ảnh lập trình nào có nội dung hình học/toán học. Tạo video giải thích theo phong cách 3Blue1Brown, trực quan hóa thuật toán, dẫn xuất phương trình, sơ đồ kiến ​​trúc và câu chuyện dữ liệu bằng cách sử dụng Phiên bản cộng đồng Manim.

Tiêu chuẩn sáng tạo

Đây là rạp chiếu phim giáo dục. Mọi khung hình đều dạy. Mỗi hình ảnh động đều tiết lộ cấu trúc.

Trước khi viết một dòng mã, hãy trình bày rõ mạch tường thuật. Điều này đúng với quan niệm sai lầm nào? "Khoảnh khắc aha" là gì? Câu chuyện trực quan nào đưa người xem từ bối rối đến hiểu biết? Lời nhắc của người dùng là điểm khởi đầu — diễn giải nó với tham vọng sư phạm.

Hình học trước đại số. Hiển thị hình dạng trước, phương trình sau. Bộ nhớ hình ảnh mã hóa nhanh hơn bộ nhớ biểu tượng. Khi người xem nhìn thấy mô hình hình học trước công thức, phương trình có cảm giác như đã đạt được.

Sự xuất sắc của lần hiển thị đầu tiên là không thể thương lượng. Kết quả đầu ra phải rõ ràng về mặt trực quan và gắn kết về mặt thẩm mỹ mà không cần chỉnh sửa lại. Nếu nội dung nào đó trông lộn xộn, không đúng thời gian hoặc giống như "trang trình bày do AI tạo" thì đó là sai.

Phân lớp độ mờ hướng sự chú ý. Không bao giờ hiển thị mọi thứ ở độ sáng tối đa. Các phần tử chính ở mức 1,0, các phần tử theo ngữ cảnh ở mức 0,4, các phần tử cấu trúc (trục, lưới) ở mức 0,15. Bộ não xử lý sự nổi bật của thị giác theo từng lớp.

Phòng thở. Mọi hoạt ảnh đều cần có self.wait() sau nó. Người xem cần thời gian để tiếp thu những gì vừa xuất hiện. Đừng bao giờ vội vàng chuyển từ hoạt hình này sang hoạt hình khác. Khoảng thời gian tạm dừng 2 giây sau khi tiết lộ quan trọng không bao giờ là lãng phí.

Ngôn ngữ hình ảnh gắn kết. Tất cả các cảnh đều có chung một bảng màu, kích thước kiểu chữ nhất quán, tốc độ hoạt ảnh phù hợp. Một video đúng về mặt kỹ thuật trong đó mỗi cảnh sử dụng các màu sắc khác nhau ngẫu nhiên là một thất bại về mặt thẩm mỹ.

Điều kiện tiên quyết

Chạy scripts/setup.sh để xác minh tất cả các phần phụ thuộc. Yêu cầu: Python 3.10+, Manim Community Edition v0.20+ ( `pip install manim

), LaTeX ( texlive-full trên Linux, mactex trên macOS) và ffmpeg. Tài liệu tham khảo được kiểm tra dựa trên Manim CE v0.20.1.

Chế độ

Chế độĐầu vàoĐầu raTham khảo
Người giải thích khái niệmChủ đề/khái niệmGiải thích hoạt hình với trực giác hình học

references/scene-planning.md ` | | Đạo hàm phương trình | biểu thức toán học | Bằng chứng hoạt hình từng bước |

references/equations.md ` | | Trực quan hóa thuật toán | Mô tả thuật toán | Thực hiện từng bước với cấu trúc dữ liệu |

references/graphs-and-data.md ` | | Câu chuyện dữ liệu | Dữ liệu/số liệu | Biểu đồ hoạt hình, so sánh, quầy |

references/graphs-and-data.md ` | | Sơ đồ kiến ​​trúc | Mô tả hệ thống | Các thành phần được xây dựng bằng các kết nối |

references/mobjects.md ` | | Trình giải thích trên giấy | Bài nghiên cứu | Những phát hiện và phương pháp chính hoạt hình |

references/scene-planning.md ` | | Hiển thị 3D | Khái niệm 3D | Bề mặt quay, đường cong tham số, hình học không gian |

references/camera-and-3d.md ` |

ngăn xếp

Tập lệnh Python đơn cho mỗi dự án. Không cần trình duyệt, không cần Node.js, không cần GPU.

LớpCông cụMục đích
Cốt lõiPhiên bản cộng đồng ManimKết xuất cảnh, công cụ hoạt hình
ToánLaTeX (texlive/MiKTeX)Kết xuất phương trình qua
`MathTex
`
Vào/ra videoffmpegGhép cảnh, chuyển đổi định dạng, trộn âm thanh
TTSElevenLabs / Qwen3-TTS (tùy chọn)Thuyết minh lồng tiếng

Đường ống

` PLAN --> CODE --> RENDER --> STITCH --> AUDIO (optional) --> REVIEW

`

  1. KẾ HOẠCH — Viết plan.md với cốt truyện, danh sách cảnh, yếu tố hình ảnh, bảng màu, kịch bản lồng tiếng
  2. — Viết script.py với một lớp cho mỗi cảnh, mỗi lớp có thể hiển thị độc lập
  3. RENDERmanim -ql script.py Scene1 Scene2 ... cho bản nháp,

-qh cho sản xuất 4. **STITCH** — ffmpeg nối các CLIp cảnh vào final.mp4

  1. ÂM THANH (tùy chọn) — Thêm lồng tiếng và/hoặc nhạc nền qua ffmpeg. Xem `references/rendering.md

  2. ĐÁNH GIÁ — Hiển thị ảnh tĩnh xem trước, xác minh theo kế hoạch, điều chỉnh

Cấu trúc dự án

` project-name/ plan.md # Narrative arc, scene breakdown script.py # All scenes in one file concat.txt # ffmpeg scene list final.mp4 # Stitched output media/ # Auto-generated by Manim videos/script/480p15/

`

Hướng sáng tạo

Bảng màu

Bảng màuBối cảnhTiểu họcTrung họcGiọngTrường hợp sử dụng
3B1B cổ điển

#1C1C1C ` |

#58C4DD ` (XANH) |

#83C167 ` (XANH) |

#FFFF00 ` (MÀU VÀNG) | Toán tổng quát/CS | | Học thuật nồng nhiệt |

#2D2B55 ` |

#FF6B6B ` |

#FFD93D ` |

#6BCB77 ` | Dễ tiếp cận | | Công nghệ neon |

#0A0A0A ` |

#00F5FF ` |

#FF00FF ` |

#39FF14 ` | Hệ thống, kiến ​​trúc | | Đơn sắc |

#1A1A2E ` |

#EAEAEA ` |

#888888 ` |

#FFFFFF ` | Tối giản |

Tốc độ hoạt ảnh

Bối cảnhthời gian chạyself.wait() sau
Tiêu đề/giới thiệu xuất hiện1,5 giây1.0 giây
Tiết lộ phương trình chính2.0 giây2.0 giây
Biến hình/biến hình1,5 giây1,5 giây
Nhãn hỗ trợ0,8 giây0,5 giây
Dọn dẹp FadeOut0,5 giây0,3 giây
Tiết lộ "Khoảnh khắc Aha"2,5 giây3.0 giây

Tỷ lệ kiểu chữ

Vai tròCỡ chữCách sử dụng
Tiêu đề48Tiêu đề cảnh, văn bản mở đầu
Tiêu đề36Tiêu đề phần trong một cảnh
Thân hình30Văn bản giải thích
Nhãn24Chú thích, nhãn trục
Chú thích20Phụ đề, bản in đẹp

Phông chữ`Sử dụng phông chữ đơn cách cho tất cả văn bản. Trình kết xuất Pango của Manim tạo ra các nét chữ bị hỏng với các phông chữ tỷ lệ ở mọi kích cỡ. Xem

references/visual-design.md để biết các đề xuất đầy đủ.

MONO = "Menlo"  # define once at top of file

Text("Fourier Series", font_size=48, font=MONO, weight=BOLD) # titles
Text("n=1: sin(x)", font_size=20, font=MONO) # labels
MathTex(r"\nabla L") # math (uses LaTeX)

`
``Tối thiểu
`font_size=18
` để dễ đọc.

### Biến thể theo từng cảnh

Không bao giờ sử dụng cấu hình giống hệt nhau cho tất cả các cảnh. Đối với mỗi cảnh:

- **Màu chủ đạo khác nhau** từ bảng màu
- **Bố cục khác nhau** — không phải lúc nào cũng tập trung vào mọi thứ
- **Mục hoạt ảnh khác nhau** — khác nhau giữa Viết, FadeIn, GrowFromCenter, Tạo
- **Trọng lượng hình ảnh khác nhau** — một số cảnh dày đặc, số khác thưa thớt

## Quy trình làm việc

### Bước 1: Lập kế hoạch (plan.md)

Trước bất kỳ mã nào, hãy viết
`plan.md

. Xem
`references/scene-planning.md
` để biết mẫu toàn diện.

### Bước 2: Mã (script.py)

Một lớp cho mỗi cảnh. Mỗi cảnh đều có thể hiển thị độc lập.

``` python
from manim import *

BG = "#1C1C1C"
PRIMARY = "#58C4DD"
SECONDARY = "#83C167"
ACCENT = "#FFFF00"
MONO = "Menlo"`class Scene1_Introduction(Scene):
def construct(self):
self.camera.background_color = BG
title = Text("Why Does This Work?", font_size=48, color=PRIMARY, weight=BOLD, font=MONO)
self.add_subcaption("Why does this work?", duration=2)
self.play(Write(title), run_time=1.5)
self.wait(1.0)
self.play(FadeOut(title), run_time=0.5)

`
``Các mẫu chính:

- **Phụ đề** trên mỗi ảnh động:
`self.add_subcaption("text", duration=N)
` hoặc
`subcaption="text"
` trên
`self.play()

- **Hằng số màu được chia sẻ** ở đầu tệp để đảm bảo tính nhất quán giữa các cảnh
- **
`self.camera.background_color

** được thiết lập trong mọi cảnh
- **Lối thoát sạch** — Làm mờ tất cả các đối tượng ở cuối cảnh:
`self.play(FadeOut(Group(*self.mobjects)))

### Bước 3: Render

``` bash
manim -ql script.py Scene1_Introduction Scene2_CoreConcept # draft
manim -qh script.py Scene1_Introduction Scene2_CoreConcept # production

`

### Bước 4: Khâu

`bash
cat > concat.txt << 'EOF'
file 'media/videos/script/480p15/Scene1_Introduction.mp4'
file 'media/videos/script/480p15/Scene2_CoreConcept.mp4'
EOF
ffmpeg -y -f concat -safe 0 -i concat.txt -c copy final.mp4

`

### Bước 5: Xem xét

`bash
manim -ql --format=png -s script.py Scene2_CoreConcept # preview still

`

## Ghi chú triển khai quan trọng

### Chuỗi thô cho LaTeX

`
`Python

# WRONG: MathTex("\frac\\{1}\\{2}")
# RIGHT:
MathTex(r"\frac\\{1}\\{2}")

`

### buff >= 0,5 cho Edge Text

`
``` python
label.to_edge(DOWN, buff=0.5) # never < 0.5

`

### Làm mờ dần trước khi thay thế văn bản

`
`Python
self.play(ReplacementTransform(note1, note2)) # not Write(note2) on top

`

### Không bao giờ tạo hoạt ảnh cho các đối tượng không được thêm vào

`
`Python
self.play(Create(circle)) # must add first
self.play(circle.animate.set_color(RED)) # then animate

`

## Mục tiêu hiệu suất

| Chất lượng | Độ phân giải | FPS | Tốc độ |
|----------|-------------|------|-------|
|

`
-ql
` (bản nháp) | 854x480 | 15 | 5-15s/cảnh |
|

-qm
` (trung bình) | 1280x720 | 30 | 15-60s/cảnh |
|

-qh
` (sản xuất) | 1920x1080 | 60 | 30-120s/cảnh |

Luôn lặp lại ở

-ql

. Chỉ hiển thị

-qh
` cho đầu ra cuối cùng.

## Tài liệu tham khảo| Tập tin | Nội dung |
|------|----------|
|
`references/animations.md
` | Hoạt ảnh cốt lõi, hàm xếp hạng, bố cục, cú pháp

.animate

, mẫu thời gian |
|
`references/mobjects.md
` | Văn bản, hình dạng, VGroup/Group, định vị, tạo kiểu, đối tượng tùy chỉnh |
|
`references/visual-design.md
` | 12 nguyên tắc thiết kế, phân lớp độ mờ, mẫu bố cục, bảng màu |
|
`references/equations.md
` | LaTeX trong Manim, TransformMatchingTex, các mẫu dẫn xuất |
|
`references/graphs-and-data.md
` | Trục, vẽ đồ thị, BarChart, dữ liệu động, trực quan hóa thuật toán |
|
`references/camera-and-3d.md
` | MovingCameraScene, ThreeDScene, bề mặt 3D, điều khiển camera |
|
`references/scene-planning.md
` | Mạch tường thuật, mẫu bố cục, chuyển cảnh, mẫu lập kế hoạch |
|
`references/rendering.md
` | Tham chiếu CLI, cài đặt trước chất lượng, ffmpeg, quy trình lồng tiếng, xuất GIF |
|
`references/troubleshooting.md
` | Lỗi LaTeX, lỗi hoạt ảnh, lỗi thường gặp, gỡ lỗi |
|
`references/animation-design-thinking.md
` | Khi nào nên tạo hoạt ảnh và hiển thị tĩnh, phân tách, nhịp độ, đồng bộ hóa tường thuật |
|
`references/updaters-and-trackers.md
` | ValueTracker, add_updater, Always_redraw, trình cập nhật, mẫu theo thời gian |
|
`references/paper-explainer.md
` | Biến tài liệu nghiên cứu thành hình ảnh động - quy trình làm việc, mẫu, mẫu miền |
|
`references/decorations.md
` | Xung quanhHình chữ nhật, Nẹp, mũi tên, Đường đứt nét, Góc, vòng đời chú thích |
|
`references/production-quality.md
` | Danh sách kiểm tra trước mã hóa, kết xuất trước, sau kết xuất, bố cục không gian, màu sắc, nhịp độ |

---

## Phân kỳ sáng tạo (chỉ sử dụng khi người dùng yêu cầu đầu ra thử nghiệm/sáng tạo/độc nhất)

Nếu người dùng yêu cầu các cách tiếp cận giải thích sáng tạo, thử nghiệm hoặc độc đáo, hãy chọn một chiến lược và lý do thông qua chiến lược đó TRƯỚC KHI thiết kế hoạt ảnh.
- **SCAMPER** — khi người dùng muốn có cách giải thích mới theo tiêu chuẩn
- **Đảo ngược giả định** — khi người dùng muốn thử thách cách dạy một điều gì đó thông thường

### Chuyển đổi LỪA ĐẢO
Lấy một hình ảnh toán học/kỹ thuật tiêu chuẩn và biến đổi nó:
- **Thay thế**: thay thế ẩn dụ trực quan tiêu chuẩn (đường số → đường quanh co, ma trận → lưới thành phố)
- **Kết hợp**: kết hợp hai cách giải thích (đại số + hình học đồng thời)
- **Đảo ngược**: suy ra lùi — bắt đầu từ kết quả và giải mã thành các tiên đề
- **Sửa đổi**: phóng đại một tham số để cho thấy lý do tại sao nó quan trọng (tốc độ học tập gấp 10 lần, kích thước mẫu gấp 1000 lần)
- **Loại bỏ**: xóa tất cả ký hiệu — giải thích hoàn toàn thông qua hoạt ảnh và mối quan hệ không gian

### Đảo ngược giả định
1. Liệt kê những gì “tiêu chuẩn” về cách hình dung chủ đề này (từ trái sang phải, 2D, các bước rời rạc, ký hiệu hình thức)
2. Chọn giả định cơ bản nhất
3. Đảo ngược nó (đạo hàm từ phải sang trái, nhúng 3D khái niệm 2D, biến hình liên tục thay vì các bước, ký hiệu bằng 0)
4. Khám phá xem sự đảo ngược tiết lộ điều gì mà phương pháp tiêu chuẩn ẩn giấu