Cubecubed is an intuitive and easy-to-use math visualization engine aimed at students, teachers, enthusiastic math lovers and anyone who is curious about the subject. It utilizes the powerful SVG manipulation system of D3.js, along with the marvelous 3D graphical system of three.js library to create a visual representation of math concepts.
Cubedbook is built on top of Cubecubed to build a user-friendly and interactive UI environment. If you're not comfortable with programming, Cubedbook is an option for you. The project is in early development stages now, and more features are being added to it.
Though Cubecubed is deeply inspired by Manim - an animation engine for explanatory math videos written in Python, it's not a port or a re-implementation of the engine. Cubecubed specifically focuses on playing dynamic animations right on the browser, with the intensive use of SVG and HTML Canvas. However, you can also export the animations to a video file (head to the Quick Start page for more details).
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?
Imagine that a 3d cube multiply by itself two times — That's it!
This project exists for a reason. Check out my article to figure it out.
Getting started with Cubecubed is easily easy, you can run either
npx cubecubed
or
npx ccw # `ccw` stands for "create Cubecubed workspace".
To get started with Cubecubed, see this Quick Start page.
Documentation website is here!
Whether you have great feature ideas in mind or recognize bugs, feel free to contribute to Cubecubed. Any contribution to the Cubecubed is appreciated. Please read contributing guidelines before raising an issue or submitting a pull request. With every contribution, we are striving to make Cubecubed better.
Big thanks to all of these awesome people.
This project falls under the MIT license.