A mathematical visualization library for playing dynamic animations right on your favorite browser.
• Producing animations with eye-soothing graphical effects.
• Built with "simple and intuitive" philosophy in mind.
Imagine that a 3D cube is multiplied by itself two times — That's it!
-
Animation engine: Flexible and well-organized animations handling. You don't need to explicitly manipulate time for each animation, as it is controlled behind the scene.
-
Video exports: Export any scene to video files.
-
2D and 3D rendering: Cubecubed produces high-performance animations with eye-soothing graphical effects. At its core, the library utilizes the powerful SVG manipulation abilities of D3.js, along with the marvelous 3D graphical system of three.js to create a visual representation of math concepts.
Getting started with Cubecubed is easily easy, you can run this command to initialiize a workspace.
# `ccw` stands for `create cubecubed workspace`
$ npx ccw my-workspace
Now you will see the animations in action!
$ npm run dev
See this Quick Start page for detailed information.
Whether you are students, teachers, researchers, or someone who is curious about mathematics, you can use Cubecubed or any visualization tools out there to go on exploring the mystical beauty of the science.
Cubecubed exists for a reason. Check out this article to figure it out.
The project is deeply inspired by Manim - an animation engine for explanatory math videos. However, it is not a port or a re-implementation of the engine. Since its first commit on December 1, 2021, Cubecubed has been thriving with upcoming features and friendly community.
Cubedbook is built on top of Cubecubed to provide a user-friendly GUI environment. If you're not comfortable with programming, Cubedbook is an option for you.
Cubecubed believes the best way to learn and discover math is through the combining process of visualizations and deductive reasoning. If we write math on paper, why don't we write it on a computer?
Cubecubed welcomes all contributors! Whether you have great feature ideas in mind or recognize bugs, feel free to contribute to the project. But first, please read these contributing guidelines and check the issues
and pull requests
tabs to prevent any duplications.
Big thanks to all of these awesome people.
This project is cubed under MIT license.