What is VTK Integration?
ManimVTK extends the original Manim animation engine with VTK (Visualization Toolkit) integration, enabling you to:- Render with VTK: Use VTK’s rendering engine for high-quality 3D visualization
- Export to VTK formats: Save scenes as
.vtp,.vtm, and.pvdfiles - Create time series: Export frame-by-frame animations for ParaView
- Add scientific data: Attach scalar and vector fields to exported geometry
VTK Renderer
High-quality 3D rendering using VTK
VTK Export
Export scenes to VTK file formats
Time Series
Frame-by-frame export for ParaView
ParaView Integration
Visualize exports in ParaView
Key Capabilities
1. VTK Rendering
Render scenes using VTK’s powerful rendering engine instead of Cairo or OpenGL:- High-quality 3D rendering with proper lighting and shading
- Better performance for complex 3D geometry
- Native support for scientific visualization
2. VTK File Export
Export your scenes to industry-standard VTK formats:- Single Frame Export
- Time Series Export
- Single mobject →
.vtp(VTK PolyData) - Multiple mobjects →
.vtm(VTK MultiBlock)
3. Scientific Data Fields
Attach scalar and vector fields to VTK exports for scientific visualization:- CFD (Computational Fluid Dynamics) visualization
- FEA (Finite Element Analysis) results
- Temperature distributions
- Velocity fields and streamlines
Supported Mobject Types
| Mobject Type | VTK Export | Notes |
|---|---|---|
| 2D Shapes | ✅ | Circle, Square, Polygon, etc. |
VMobject | ✅ | Converted to PolyData with colors |
Surface | ✅ | Full mesh with UV coordinates |
ParametricSurface | ✅ | Parametric surfaces |
| 3D Primitives | ✅ | Sphere, Cube, Cone, etc. |
VGroup | ✅ | Exported as VTK MultiBlock |
Text / Tex | ✅ | Exported as filled paths |
Arrow / Vector | ✅ | Stroke-based or filled |
NumberPlane / Axes | ✅ | Exported as line geometry |
Nearly all Manim mobjects are supported for VTK export!
File Format Reference
VTK PolyData (.vtp)
Single object with points, lines, and polygons. Best for:- Single surfaces or meshes
- Simple geometry
- Quick visualization
VTK MultiBlock (.vtm)
Collection of multiple datasets. Best for:- Scenes with multiple objects
- Hierarchical data
- Complex assemblies
ParaView Data (.pvd)
Time series collection file. Best for:- Animations
- Temporal data
- Time-varying simulations
Workflow Examples
Basic Workflow
MyScene.mp4- Video animationMyScene_final.vtp- VTK export of final frame
Scientific Visualization Workflow
- Create animation in ManimVTK
- Export time series
- Open
.pvdin ParaView - Apply filters (contours, glyphs, etc.)
- Add scalar/vector field visualization
Interactive Web Workflow
Performance Considerations
VTK Rendering Performance
VTK Rendering Performance
- Faster for complex 3D scenes with many polygons
- Slower initial startup (VTK initialization)
- Best for: High-quality final renders
Export File Sizes
Export File Sizes
- Text format (.vtp): Human-readable but larger
- Binary format: Smaller but not human-readable
- Compression: Use ParaView to compress exported files
Memory Usage
Memory Usage
- High-resolution surfaces consume more memory
- Time series exports can be large (one file per frame)
- Recommended: Export at lower quality, then upscale if needed
Compatibility
ParaView Versions
- ✅ ParaView 5.9+
- ✅ ParaView 5.10+
- ✅ ParaView 5.11+
VTK Versions
- ✅ VTK 9.0+
- ✅ VTK 9.1+
- ✅ VTK 9.2+

