• Stars
    star
    161
  • Rank 233,470 (Top 5 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tool for live presentations using manim

For an actively developed fork please check out manim-slides!

manim-presentation

Tool for live presentations using manim.

Install

pip install manim-presentation opencv-python

Usage

Use the class Slide as your scenes base class

from manim_presentation import Slide

class Example(Slide):
    def construct(self):
        ...

call self.pause() when you want to pause the playback and wait for an input to continue (check the keybindings)

Wrap a series of animations between self.start_loop() and self.stop_loop() when you want to loop them (until input to continue)

from manim import *
from manim_presentation import Slide

class Example(Slide):
    def construct(self):
        circle = Circle(radius=3, color=BLUE)
        dot = Dot()

        self.play(GrowFromCenter(circle))
        self.pause()

        self.start_loop()
        self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)
        self.end_loop()

        self.play(dot.animate.move_to(ORIGIN))
        self.pause()

        self.wait()

You must end your Slide with a self.play(...) or a self.wait(..)

To start the presentation using Scene1, Scene2 and so on simply run:

manim_presentation Scene1 Scene2...

Keybindings

Default keybindings to control the presentation

Keybinding Action
Right Arrow Continue/Next Slide
Left Arrow Previous Slide
R Re-Animate Current Slide
Spacebar Play/Pause
Q Quit

You can run the configuration wizard with

manim-presentation-wizard

Alternatively you can specify different keybindings creating a file named manim-presentation.json with the keys: QUIT_KEY CONTINUE_KEY BACK_KEY REWIND_KEY and PLAYPAUSE_KEY manim-presentation uses cv2.waitKeyEx() to wait for keypresses

Run Example

Clone this repository

git clone https://github.com/galatolofederico/manim-presentation.git
cd manim-presentation

Create a virtualenv

virtualenv --python=python3.7 env
. ./env/bin/activate

Install manim and manim-presentation

pip install manim manim-presentation opencv-python

Render the example scene

manim -qh example.py

Run the presentation

manim-presentation Example

Contributions and license

The code is released as Free Software under the GNU/GPLv3 license. Copying, adapting and republishing it is not only consent but also encouraged.

For any further question feel free to reach me at [email protected] or on Telegram @galatolo

More Repositories

1

microchain

function calling-based LLM agents
Python
264
star
2

clip-glass

Repository for "Generating images from caption and vice versa via CLIP-Guided Generative Latent Space Search"
Python
178
star
3

pytorch-balanced-batch

A pytorch dataset sampler for always sampling balanced batches.
Python
110
star
4

cerbero-7b

Cerbero-7b is the first 100% Free and Open Source Italian Large Language Model (LLM) ready to be used for research or commercial applications.
36
star
5

pso

Pretty Straightforward Opener
Shell
18
star
6

easyopt

zero-code hyperparameters optimization framework
Python
12
star
7

rcnn-opencv-live-webcam-background-removal

Real time webcam background removal with Mask R-CNN and OpenCV
Python
11
star
8

cogsima2022

Repository for the paper Enhancing Land Subsidence Awareness via InSAR Data and Deep Transformers
Python
9
star
9

cidl2324

Jupyter Notebook
9
star
10

scamminator

Telegram Client and Bot that use Artificial Intelligence to auto-reply to scammers and waste their time
Python
8
star
11

benchita

High quality few-shots benchmarks for Italian LLMs.
Python
8
star
12

torchsm

Pytorch implementation of the Stigmergic Memory (ICPRAM 2019)
Python
6
star
13

deep-salvini

Codice sorgente di deepsalvini.club
Python
5
star
14

isaac-framework

High-level optimization framework
Python
3
star
15

torchsnn

pytorch implementation of the Stigmergic Neural Networks (MIKE2018)
Python
3
star
16

oral-lesions-detection

Python
3
star
17

icpram2019

Python
2
star
18

personal-website-angular

Repository for https://galatolo.me
TypeScript
2
star
19

mike2018

Python
2
star
20

text-generation-api

Python
2
star
21

me.json

Myself as a JSON document
JavaScript
2
star
22

mesh-neural-networks

Python implementation of the Mesh Neural Networks
Python
2
star
23

roq

RPC over MQTT in Python
Python
2
star
24

dwm

Fork of https://git.suckless.org/dwm/
C
2
star
25

sacred-retrieve

Retrieve and process results from sacred mongodb database
Python
2
star
26

a2c-te-nog

Repository for "Solving the scalarization issues of Advantage-based Reinforcement Learning Algorithms"
Python
2
star
27

ci-cd-sse

Repository for a lecture about CI/CD
Python
1
star
28

mlpi-citation-page

JavaScript
1
star
29

stigmergic-autoencoder

Python
1
star
30

slope

A very light and customizable objective processor emulator
C++
1
star
31

dii-presentation-latex

Beamer template for the Department of Information Engineering of the University of Pisa.
TeX
1
star
32

plotszoo

Python
1
star
33

yadepage

Yet Another Deterministic Password Generator
JavaScript
1
star
34

ml-theory-and-frameworks

Slides and examples for "Machine Learning Theory and Frameworks" lecture
1
star
35

tetim-eval

1
star
36

workshop-2018

Repository per i seminari 2018 del corso di Programmazione Avanzata
JavaScript
1
star
37

dotfiles

Home of my dotfiles
Shell
1
star
38

icpram2019-presentation

Beamer + Tikz Presentation for ICPRAM2019
TeX
1
star
39

oral2

Python
1
star
40

three-sided-coin

A javascript simulator for the three sided coin experiment proposed by Matt Parker
JavaScript
1
star
41

torre-transformer

Python
1
star
42

git-very-informal-introduction

LaTeX sources for the "A very informal introduction to Git" presentation
TeX
1
star
43

shieldsweep

Go
1
star