manim VS ganja.js

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

manim

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

ganja.js

:triangular_ruler: Javascript Geometric Algebra Generator for Javascript, c++, c#, rust, python. (with operator overloading and algebraic literals) - (by enkimute)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
manim ganja.js
151 8
18,745 1,492
5.9% -
8.9 2.5
6 days ago 3 months ago
Python JavaScript
MIT License MIT License
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.
  • 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
  • Manim Slides v4.14 - Slides to PDF conversion, JOSE paper, automatic detection for background color and resolution, and more
    3 projects | /r/manim | 12 Jun 2023
    NOTE: Manim Slides a Python tool that extends Manim, a math animation engine developed by the very popular Youtube 3Blue1Brown. In short, Manim Slides offers the possibility to present a sequence of animations in a PowerPoint-like manner, using its own graphical interface, with RevealJS for HTML embedding, or with PowerPoint.

ganja.js

Posts with mentions or reviews of ganja.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-15.
  • The Montreal Problem: Why Programming Languages Need a Style Czar
    3 projects | news.ycombinator.com | 15 Mar 2024
    Some people's brains just work this way. Here's an example of a somewhat popular and regularly maintained library written in a similar style: https://github.com/enkimute/ganja.js/blob/6e97cb45d780cd7c66...

    Once your learn to recognise the commonalities, you'll see examples everywhere. The most extreme and stereotypical version is the billboards written by some homeless people. You can probably picture it already in your mind's eye: A wall of very dense text with little whitespace or structure, and a mix of fonts and colours seemingly at random.

    I had a brilliant mathematician friend who wrote like this. He would squeeze and entire semester's worth of study notes into a single sheet of paper, on one side. It was impenetrable gibberish to everyone else, but the colours and 2D positioning let him build a mental mind-map.

    For people like this, if you reformat their code even a tiny bit, their mental map is invalidated, and they lose track of it completely and become upset. I discovered this (the hard way) when applying automatic code formatting tools to the codebases I mentioned previously.

    Personally, I find this type of thing to be absolutely fascinating, because it's the intersection of many fields of study, and hence is under-studied. There's elements of pedagogy, psychology, literacy, compute science, etc...

    It's an open question how we can get large groups of neurodiverse humans to collaborate on a codebase when they don't even "read" or "think" in compatible ways!

  • [Media] I finished my first rust project: a path tracer
    2 projects | /r/rust | 11 Jul 2022
    I was watching bivector videos and how it could be a viable replacement for matrix algebra in video games and I have been very impressed by the intuitiveness and consistency of the equations. There is this ganja.js for demonstrating the graphics and has a rust generated code https://github.com/enkimute/ganja.js/tree/master/codegen/rust I'm too naive to understand the implementation, but I'm glad a library like ultraviolet is here to start paving the use of Geometric Algebra in computer graphics.
  • Ask HN: What are some examples of elegant software?
    22 projects | news.ycombinator.com | 2 May 2022
  • Manim: An animation engine for explanatory math videos
    10 projects | news.ycombinator.com | 20 Aug 2021
    Well I've been on a real Geometric Algebra (aka Clifford Algebra) kick lately, and ran across ganja.js [1]. It's a single no deps file that is...impressive. 120k uncompressed, and with it you can construct any degree algebra (including the more esoteric hyperbolic/parabolic ones), render to canvas, svg or webgl(!). It also includes a clever little DSL parser and interpreter (it overloads the scientific notation to name basis vectors!) that lets you construct more complex things from simple things using various kinds of products.

    The author, Steven De Keninck, is quite impressive as well, having got his start in the demoscene some time ago. He has a good video from 2019 that explains why this algebra is better than [matrices, tensors, vectors, complex numbers]. Of particular interest (to me anyway) is the 2D projective geometry.

    I don't want to oversell it, but ganja is fucking amazing and there is a great deal I want to do with it. For one, I'd like to recapitulate my physics degree with it.

    [1] https://github.com/enkimute/ganja.js

    [2] https://www.youtube.com/watch?v=tX4H_ctggYo

  • Ganja.js: Geometric Algebra Generator for JavaScript
    1 project | /r/ProgrammingLanguages | 18 Feb 2021
    2 projects | /r/node | 16 Jan 2021
    Great documentation!
  • Ganja.js: Geometric Algebra Generator for JavaScript, C++, C#, Rust, Python
    1 project | /r/programming | 16 Jan 2021

What are some alternatives?

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

Javis.jl - Julia Animations and Visualizations

manim - Animation engine for explanatory math videos

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

perspective - A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

cheatsheets - Official Matplotlib cheat sheets

Stockfish - A free and strong UCI chess engine

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

r2vr - R to Virtual Reality

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 —

TermKit - Experimental Terminal platform built on WebKit + node.js. Currently only for Mac and Windows, though the prototype works 90% in any WebKit browser.

geogebra - GeoGebra apps (mirror)

mathbox - Presentation-quality WebGL math graphing