> ## 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.

# Quick Start

> Get started with ManimVTK in minutes

## Installation

### Prerequisites

<Note>
  **Linux Users:** ManimVTK depends on ManimPango, which requires system
  dependencies on Linux. Install them first before proceeding.
</Note>

<AccordionGroup>
  <Accordion icon="colab" title="Google Colab (Recommended)">
    ```bash theme={null}
      !sudo apt update
      !sudo apt install libcairo2-dev \
          # optional dependencies for full LaTeX support
          # texlive texlive-latex-extra texlive-fonts-extra \
          # texlive-latex-recommended texlive-science \
          tipa libpango1.0-dev
      !pip install IPython==8.21.0
    ```
  </Accordion>

  <Accordion icon="ubuntu" title="Debian/Ubuntu">
    ```bash theme={null}
    sudo apt install libpango1.0-dev pkg-config python3-dev
    ```
  </Accordion>

  {" "}

  <Accordion icon="fedora" title="Fedora">
    `bash sudo dnf install pango-devel pkg-config python3-devel `
  </Accordion>

  <Accordion icon="linux" title="Arch Linux">
    ```bash theme={null}
    sudo pacman -S pango pkgconf
    ```
  </Accordion>
</AccordionGroup>

### Install ManimVTK

<Tabs>
  <Tab title="From PyPI (Recommended)">
    Install the latest stable version from PyPI:

    ```bash theme={null}
    # Basic installation with VTK support
    pip install manimvtk[vtk]

    # Full scientific stack (includes PyVista)
    pip install manimvtk[scientific]
    ```
  </Tab>

  <Tab title="From Source">
    Clone the repository and install in development mode:

    ```bash theme={null}
    # Clone the repository
    git clone https://github.com/mathifylabs/manimVTK.git
    cd manimVTK

    # Install with VTK support
    pip install -e ".[vtk]"

    # Or install with full scientific stack
    pip install -e ".[scientific]"
    ```
  </Tab>
</Tabs>

<Check>
  **Verify Installation:** Run `manimvtk --version` to confirm installation
</Check>

## Your First Animation

Let's create a simple animation to verify everything is working.

### Step 1: Create a Scene File

Create a new file called `example.py`:

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

class CircleExample(Scene):
    def construct(self):
        # Create a circle
        circle = Circle(radius=1, color=BLUE)

        # Add it to the scene
        self.play(Create(circle))
        self.wait()
```

<iframe src="https://mathify.dev/share/16e387ba-5c6d-4fde-bb48-62cb9f0bb173/vtk" width="100%" height="500" style={{ border: "none", borderRadius: "12px" }} />

### Step 2: Render the Animation

Render your scene with the default Cairo renderer:

```bash theme={null}
manimvtk -pql example.py CircleExample
```

**Command breakdown:**

* `-p`: Preview the video after rendering
* `-q`: Quality (l=low, m=medium, h=high)
* `-l`: Low quality for faster rendering

<Tip>
  The rendered video will be saved in
  `media/videos/example/480p15/CircleExample.mp4`
</Tip>

### Step 3: Add VTK Export

Now let's export the scene to VTK format:

```bash theme={null}
manimvtk -pql example.py CircleExample --vtk-export
```

This creates:

* `media/videos/example/480p15/CircleExample.mp4` - Video file
* `media/vtk/CircleExample/CircleExample_final.vtp` - VTK file

<Check>
  **Success!** You've created your first ManimVTK animation with VTK export
</Check>

## Using the VTK Renderer

Switch to the VTK renderer for high-quality 3D rendering:

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

class SphereExample(ThreeDScene):
    def construct(self):
        # Create a 3D sphere
        sphere = Sphere(radius=1.5, resolution=(20, 20))
        sphere.set_color(BLUE)

        # Rotate the camera
        self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)

        # Animate
        self.play(Create(sphere))
        self.play(Rotate(sphere, angle=PI, axis=UP))
        self.wait()
```

<iframe src="https://mathify.dev/share/f03d255b-4c66-4475-aed4-a3a2c302de6d/vtk" width="100%" height="500" style={{ border: "none", borderRadius: "12px" }} />

Render with the VTK renderer:

```bash theme={null}
manimvtk -pql example.py SphereExample --renderer vtk --vtk-export
```

## Time Series Export for ParaView

Export frame-by-frame VTK files for animation scrubbing in ParaView:

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

class AnimatedCircle(Scene):
    def construct(self):
        circle = Circle(radius=1, color=BLUE)
        self.add(circle)

        # Animate the circle growing
        self.play(circle.animate.scale(2))
        self.wait()
```

Render with time series export:

```bash theme={null}
manimvtk -pql example.py AnimatedCircle --vtk-time-series
```

**Output structure:**

```
media/vtk/AnimatedCircle/
├── AnimatedCircle.pvd              # ParaView collection file
├── AnimatedCircle_00000.vtp        # Frame 0
├── AnimatedCircle_00001.vtp        # Frame 1
├── ...
└── AnimatedCircle_viewer.html      # HTML viewer template
```

<Tip>
  Open the `.pvd` file in ParaView to scrub through the animation using the time
  slider
</Tip>

## Common CLI Options

| Option                          | Description                          |
| ------------------------------- | ------------------------------------ |
| `-p`                            | Preview video after rendering        |
| `-q{l,m,h}`                     | Quality: low, medium, or high        |
| `-s`                            | Save last frame as PNG               |
| `-a`                            | Render all scenes in file            |
| `--renderer {cairo,opengl,vtk}` | Choose renderer                      |
| `--vtk-export`                  | Export final scene to VTK            |
| `--vtk-time-series`             | Export all frames as VTK time series |

<Card title="See all CLI options" icon="terminal" href="/advanced/cli-options">
  Complete reference of command-line options
</Card>

## Next Steps

<CardGroup cols={2}>
  <Card title="VTK Features" icon="cube" href="/vtk/overview">
    Learn about VTK rendering and export
  </Card>

  {" "}

  <Card title="Core Concepts" icon="book" href="/concepts/scenes">
    Understand scenes, mobjects, and animations
  </Card>

  {" "}

  <Card title="Examples Gallery" icon="images" href="/examples/basic-2d">
    Explore example animations
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/mobjects/overview">
    Browse the complete API
  </Card>
</CardGroup>

## Getting Help

<AccordionGroup>
  <Accordion icon="github" title="Found a bug?">
    Report issues on our [GitHub repository](https://github.com/mathifylabs/manimVTK/issues)
  </Accordion>

  {" "}

  <Accordion icon="question" title="Need help?">
    Check the [Manim Community](https://www.manim.community/) resources and
    Discord
  </Accordion>

  <Accordion icon="book" title="Want to contribute?">
    See our [Contributing Guide](https://github.com/mathifylabs/manimVTK/blob/main/CONTRIBUTING.md)
  </Accordion>
</AccordionGroup>
