manim VS p5.js

Compare manim vs p5.js and see what are their differences.

manim

A community-maintained Python framework for creating mathematical animations. (by ManimCommunity)

p5.js

p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs — (by processing)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
manim p5.js
152 233
18,854 20,850
6.4% 0.9%
9.1 9.9
2 days ago 5 days ago
Python JavaScript
MIT License GNU Lesser General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

manim

Posts with mentions or reviews of manim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-14.
  • A Rigorous Derivation of the Bubble Sort Curve
    1 project | news.ycombinator.com | 24 Apr 2024
  • 3Blue1Brown: Visualizing Attention, a Transformer's Heart
    3 projects | news.ycombinator.com | 14 Apr 2024
    Also check out community edition: https://www.manim.community
  • This Week In Python
    5 projects | dev.to | 5 Apr 2024
    manim – A community-maintained Python framework for creating mathematical animations
  • I'm new to try manim and it met some questions TypeError: __init__() got an unexpected keyword argument 'line_join'
    2 projects | /r/manim | 8 Dec 2023
  • Old blog of Matt Henderson, beautiful math animations
    2 projects | news.ycombinator.com | 5 Dec 2023
    I recently wanted to make something similar and I completely fell in love with https://www.manim.community/ created by 3B1B.
  • Animated AI
    4 projects | news.ycombinator.com | 25 Oct 2023
  • Text-to-CAD: Risks and Opportunities
    12 projects | news.ycombinator.com | 19 Oct 2023
    https://github.com/gumyr/build123d :

    > Build123d is a python-based, parametric, boundary representation (BREP) modeling framework for 2D and 3D CAD. It's built on the Open Cascade geometric kernel and allows for the creation of complex models using a simple and intuitive python syntax. Build123d can be used to create models for 3D printing, CNC machining, laser cutting, and other manufacturing processes. Models can be exported to a wide variety of popular CAD tools such as FreeCAD and SolidWorks.

    > Build123d could be considered as an evolution of CadQuery where the somewhat restrictive Fluent API (method chaining) is replaced with stateful context managers* - e.g. with blocks - thus enabling the full python toolbox: for loops, references to objects, object sorting and filtering, etc.*

    "Build123d: A Python CAD programming library" (2023) https://news.ycombinator.com/item?id=37576296

    BREP: Boundary representation: https://en.wikipedia.org/wiki/Boundary_representation

    Manim, Blender, PhysX, o3de, [FEM, CFD, [thermal, fluidic,] engineering]: https://github.com/ManimCommunity/manim/issues/3362

    NURBS: Non-Uniform Rational B-Splines: https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline

    NURBS for COMPAS: https://github.com/gramaziokohler/compas_nurbs :

    > This package is inspired by the NURBS-Python package, however uses a NumPy-based backend for better performance.

    > Curve, and Surface are non-uniform non-rational B-Spline geometries (NUBS), RationalCurve, and RationalSurface are non-uniform rational B-Spline Geometries (NURBS). They all built upon the class BSpline. Coordinates have to be in 3D space (x, y, z)

    test_curve.py, test_surface.py

    https://github.com/compas-dev

    compas_rhino, compas_blender

    Blender docs > Modeling Surfaces; NURBs implementation, limits, challenges:

  • Ask HN: What would you show an interviewer if they asked you for code samples?
    2 projects | news.ycombinator.com | 4 Sep 2023
    A template language that I wrote for generating HTML. Meant to be included as a C++ library. https://github.com/Ghoti-io/Tang

    Plenty of other C++ code of mine is on Github (such as a bunch of utility stuff, a thread pool, and a HTTP server that I'm writing from scratch), even though I would only call myself an intermediate C++ programmer. I just happen to like the language.

    Or, if I had to throw other stuff into the mix, a fairly recent patch to Manim (Python) that got accepted (https://github.com/ManimCommunity/manim/pull/3155).

    If I were really pressed, I would dig up a lot of my Drupal (PHP) stuff that I did years ago.

  • What are you rewriting in rust?
    36 projects | /r/rust | 10 Jul 2023
    I would love to have this https://github.com/manimCommunity/manim written in Rust. There have been previous attempts (bevy_manim and another one using nannou) but all of them are outdated
  • Ask HN: What packages can be used to create interactive mathematics simulations?
    5 projects | news.ycombinator.com | 5 Jul 2023

p5.js

Posts with mentions or reviews of p5.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-30.
  • P5.js: Online Canvas Programming
    1 project | news.ycombinator.com | 27 Feb 2024
  • Coming Home From the South Pole
    1 project | news.ycombinator.com | 10 Jan 2024
  • Turbo Pascal Turns 40
    8 projects | news.ycombinator.com | 30 Nov 2023
    Processing (P5) had this: you can select any string of text in its IDE anl search for it in the docs, and if it's one of the built-in functions or constants it will open the associated static html page that came installed with the software, so no internet nor server required. And despite being offline you can still navigate the docs too. This feels a lost basic skill in static site generation these days.

    It was the only creative coding framework that had complete, offline documentation like that at the time I might add. OpenFrameworks is still mostly autogenerated stubs for example.

    IMO it was one of the things that gave Processing an edge in educational contexts over all alternatives. I was pretty sad to see p5.js not fully continue that tradition and require that you go online to read the docs, and that it's not a static website but that text is rendered with javascript when you open it (still complete and with examples though).

    https://processing.org/

    https://p5js.org/

  • My Google Play Developer account has been terminated
    1 project | news.ycombinator.com | 15 Oct 2023
    I thought it could be funny to use the javascript version of it https://p5js.org/ in a web page and then wrap it in a Unity app, since Unity was and is the environment I use for making apps.
  • Repetition can make you loopy!: Intro to JavaScript Loops
    1 project | dev.to | 14 Aug 2023
    In this last section, I'll be creating some visual examples to show how helpful loops can be. I'll be using p5js, a JavaScript library with functionality for creative coding. That being said, I'll try to give a condensed version of the functions being utilized in the following examples.
  • G9.js: Automatically Interactive Graphics
    2 projects | news.ycombinator.com | 8 Aug 2023
    I was curious too, took a little bit of digging :)

    "the original domain of [P]rocessing was proce55ing.net, so people used to sometimes refer to processing as proce55ing or P5 or p5 for short. they still do sometimes. p5.js is a reference to that."

    from https://github.com/processing/p5.js/issues/2443

  • [OC] Monthly Performance of the S&P 500: 94 Years in 1 Video.
    1 project | /r/dataisbeautiful | 27 Jun 2023
    Sketch.js - https://p5js.org/
  • Ask HN: How to teach a kid of 15 Linux and programming
    3 projects | news.ycombinator.com | 20 Jun 2023
    > how do I get him learning programming in a fun way?

    Processing / P5.js can be pretty fun to learn. You use a real programming language to create art and animations. With little code you can get a circle on the screen, then making it move, then following your mouse, then adding other shapes, then changing colour depending on some event… It’s conductive to experimentation and a way to gradually introduce concepts.

    https://processing.org/

    https://p5js.org/

    https://thecodingtrain.com/

  • [OC] I created a simple, free waveform and genre visualizer for your top ten Spotify songs, a few samples below and link to the tool in the comments!
    1 project | /r/dataisbeautiful | 8 Jun 2023
    Then I used p5js to create the 'art' itself, really user friendly coding framework with lots of resources online! If you want to get into coding, that is a really great entry point with Daniel Schiffman's coding train videos on YT!
  • Different texture types
    1 project | /r/p5js | 28 May 2023
    Posted an issue for it that u guys can check out here: https://github.com/processing/p5.js/issues/6166

What are some alternatives?

When comparing manim and p5.js you can also consider the following projects:

Javis.jl - Julia Animations and Visualizations

three.js - JavaScript 3D Library.

processing - Source code for the Processing Core and Development Environment (PDE)

paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey

cheatsheets - Official Matplotlib cheat sheets

fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser

python_turtle_art - Using Python Turtle module to draw this masterpiece - a combination of 2D geometry, Pop Art and Coding

two.js - A renderer agnostic two-dimensional drawing api for the web.

geogebra - GeoGebra apps (mirror)

BabylonJS - Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

GoJS, a JavaScript Library for HTML Diagrams - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

heatmap.js - 🔥 JavaScript Library for HTML5 canvas based heatmaps