GithubHelp home page GithubHelp logo

powerpointgenerator's Introduction

PowerPointGenerator

This project started as a joke, but it quickly took a much bigger turn. PowerPointGenerator is basically a simple programmatic powerpoint file generation python library. Other tools like this exist, but I haven't found any that can generate animations in addition to shapes.

This tool is far from being complete, it can only generate plain colored rectangles and text, and very few animations have been implemented. However, it is more than enough to revisit one of the projects that is dearest to my heart: turing complete systems in PowerPoint.

Now that the generation part is programmatic it is possible to be much more ambitious in the implemented systems and to change their parameters in a few clicks.

Inspiration

The idea of making a turing machine in PowerPoint came from this video. But my intention was to make one that wouldn't require the user to move his mouse, so that using an auto-clicker would be sufficient.

Examples

Rule110

It is a 1D cellular automaton whose rules are determined by one byte. Among the 256 resulting automatons, the "rule 110" is probably the most famous since it has been proven to be Turing Complete. I have recreated this automaton in this slide, the user can define the "rule byte" and the initial state as desired, and then start the generative process by continuously left clicking at a fixed location. Here is "rule 110" with a starting cell in the rightmost position (x20 speed):

rule110

This slide counts around 1200 shapes and 6100 animations.

Brainfuck

Brainfuck is an esoteric programming language known for its minimalism. Indeed, it is composed of only 8 symbols and works with two tapes: one for code, and one for data. I have created in this slide a brainfuck editor and interpreter. The user can write the program he wants (within the limit of characters imposed) and then execute it by continuously left clicking at a fixed location. Here is a "Hello World" program running (x40 speed):

brainfuck

This is by far my most complex generated powerpoint with around 2500 shapes and 15000 animations. It is also the most CPU intensive. To limit the loading time and execution slownest, some modifications had to be made:

  • the data tape is composed of 6 bits integers (not bytes)
  • the output is not ASCII (but a 64 letters alphabet: '0' to '9', 'A' to 'Z', followed by 28 spaces)
  • the call stack is finite (depth 3 by default)

But this is only a performance limitation, you can change all these specifications in the python script if your computer allows it.

powerpointgenerator's People

Contributors

wonshtrum avatar

Stargazers

OpenSource HR Project avatar  avatar Lucas Pauzies avatar Proloy Mishra avatar Karthik Nair avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.