> ## Documentation Index
> Fetch the complete documentation index at: https://manimvtk.mathify.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to ManimVTK

> Scientific Visualization meets Mathematical Animation

<img className="block dark:hidden" src="https://raw.githubusercontent.com/mathifylabs/manimvtk/main/logo/cropped.png" alt="ManimVTK Logo" />

<img className="hidden dark:block" src="https://raw.githubusercontent.com/mathifylabs/manimvtk/main/logo/cropped.png" alt="ManimVTK Logo" />

## What is ManimVTK?

**ManimVTK** is a powerful fork of [Manim Community](https://www.manim.community/) that combines the elegant animation syntax of Manim with VTK (Visualization Toolkit) for scientific visualization and export capabilities.

Create stunning mathematical animations and export them as interactive 3D datasets for use in ParaView, PyVista, and vtk.js.

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Get started with ManimVTK in minutes
  </Card>

  <Card title="VTK Features" icon="cube" href="/vtk/overview">
    Explore VTK export and rendering capabilities
  </Card>

  <Card title="Examples" icon="play" href="/examples/basic-2d">
    Browse examples from 2D to scientific visualization
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/mobjects/overview">
    Comprehensive API documentation
  </Card>
</CardGroup>

## Key Features

<AccordionGroup>
  <Accordion icon="film" title="Mathematical Animation">
    Create elegant animations using Manim's intuitive syntax. Animate geometric shapes, mathematical functions, graphs, and complex transformations with ease.
  </Accordion>

  {" "}

  <Accordion icon="cube" title="VTK Export">
    Export your scenes to VTK formats (.vtp, .vtm, .pvd) for visualization in
    ParaView and other scientific tools. Perfect for CFD, FEA, and research
    presentations.
  </Accordion>

  {" "}

  <Accordion icon="chart-line" title="Scientific Visualization">
    Attach scalar fields (pressure, temperature) and vector fields (velocity,
    forces) to your exported VTK data for advanced scientific visualization.
  </Accordion>

  {" "}

  <Accordion icon="clock" title="Time Series Export">
    Export frame-by-frame VTK files with ParaView Data (.pvd) collection files.
    Scrub through animations using ParaView's native time slider.
  </Accordion>

  <Accordion icon="globe" title="Interactive Web Viewing">
    Generate vtk.js compatible datasets for embedding interactive 3D visualizations in web applications and documentation.
  </Accordion>
</AccordionGroup>

## Quick Example

Here's a simple example that creates an animated surface and exports it to VTK format:

```python theme={null}
from manimvtk import *

class WaveSurface(Scene):
    def construct(self):
        # Create a parametric surface
        surface = Surface(
            lambda u, v: np.array([
                u,
                v,
                np.sin(u) * np.cos(v)
            ]),
            u_range=[-2, 2],
            v_range=[-2, 2],
            resolution=(50, 50),
        )
        surface.set_color(BLUE)

        # Animate the surface
        self.play(Create(surface))
        self.wait()
```

<iframe src="https://mathify.dev/share/d5725cdc-33c3-4c80-b026-5891ee437cf8/vtk" width="100%" height="500" style={{ border: "none", borderRadius: "12px" }} />

**Render with VTK export:**

```bash theme={null}
manimvtk -pqh example.py WaveSurface --renderer vtk --vtk-export
```

**Output:**

* `media/videos/example/1080p60/WaveSurface.mp4` - Video animation
* `media/vtk/WaveSurface/WaveSurface_final.vtm` - VTK MultiBlock file

## Use Cases

<CardGroup cols={2}>
  <Card title="Educational Content" icon="graduation-cap">
    Create engaging math and physics explanations with beautiful animations
  </Card>

  <Card title="CFD Visualization" icon="water">
    Visualize computational fluid dynamics simulations with scalar and vector
    fields
  </Card>

  <Card title="Research Presentations" icon="presentation-screen">
    Generate publication-quality animations and interactive 3D datasets
  </Card>

  <Card title="Web Applications" icon="browser">
    Embed interactive 3D visualizations using vtk.js exports
  </Card>
</CardGroup>

## Architecture

ManimVTK extends Manim's renderer architecture with VTK support:

```
┌─────────────────────────────────────────────────────────┐
│                    Manim Core                           │
│  (Scene, Mobject, Animation, play, etc.)               │
└─────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────┐
│               Renderer Abstraction                       │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐   │
│  │CairoRenderer│ │OpenGLRenderer│ │ VTKRenderer ✨  │   │
│  └─────────────┘ └─────────────┘ └─────────────────┘   │
└─────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────┐
│            VTK Export / Viewer Layer                    │
│  • File export (.vtp, .vtm, .pvd)                      │
│  • Manim → VTK conversion                              │
│  • Scalar/Vector field support                         │
└─────────────────────────────────────────────────────────┘
```

## Getting Started

Ready to create your first animation? Follow our quick start guide:

<Card title="Installation & Quick Start" icon="rocket" href="/quickstart" horizontal>
  Install ManimVTK and create your first scene
</Card>

## Community & Support

<CardGroup cols={2}>
  <Card title="GitHub Repository" icon="github" href="https://github.com/mathifylabs/manimVTK">
    View source code, report issues, and contribute
  </Card>

  <Card title="Manim Community" icon="users" href="https://www.manim.community/">
    Join the broader Manim community
  </Card>
</CardGroup>
