✨ Helion
❤️ Visualizing the beauty of math & physics
Section titled “❤️ Visualizing the beauty of math & physics”Helion is a browser-native framework for interactive mathematics and physics. Its API is designed to express scientific ideas as directly as possible by offering a scientific domain-specific language embedded in JavaScript.
As a consequence, semantics that are immediately familiar to mathematicians and physicists take precedence over software abstractions that would introduce an unnecessary learning curve. Examples of such semantics are concepts such as transformations, fields1, parametric geometries2, operators3, and numerical solvers4.
Helion is built around the concept of transformations and maintains a clear separation between mathematical or physical models and their visual representations. Models evolve by applying transformations to them, while one or more views visualize their state.
Helion is the product of decades of exploration in mathematics, physics, programming, and education, driven by a lifelong fascination with the beauty and patterns of nature.
📌 Code expresses scientific intent directly
📌 Browser-native JavaScript — no installation or build steps
📌 Model-driven API built around fields, operators, geometries, and transformations
📌 Multiple synchronized views can observe the same model
📌 Designed for education, exploration, and interactive simulations
Examples
Section titled “Examples”Physical transformations
Section titled “Physical transformations”body.apply(gravity);particle.apply(electricField);pair.apply(spring);pair.apply(collision);Mathematical transformations
Section titled “Mathematical transformations”field.apply(new FFT2D());field.apply(new Laplacian());field.apply(new ShapeMask(...));🧠 Core concepts
Section titled “🧠 Core concepts”Helion provides a low-cognitive-overhead environment for expressing mathematical and physical systems, where models, simulations, and visualizations remain tightly synchronized and can be explored interactively in the browser.
The following concepts form the core of Helion:
| Concept | Question | Example |
|---|---|---|
State | What is the current state? | Field / Body / Particle cloud |
apply() | How is the state transformed? | GaussianImpulseOperator |
evolve() | How does the state evolve? | SchrödingerSolver |
bind() | How is the state represented? | bind(body.alwaysWith(view)) |
These concepts are interacting with one another in the following way:
Equation (physical law) ▲ │ uses │ Solver ▲ │ evolve() │ ▼ Operator ──► State ──► View apply() synchronize()🎓 Focus on teaching & learning
Section titled “🎓 Focus on teaching & learning”👩🏻🎓 students learning physics and mathematics
👨🏻🏫 educators building interactive explanations
🧑💻 learners developing physical intuition
🕵️ researchers prototyping ideas
🎯 Positioning
Section titled “🎯 Positioning”| Project | Browser | Nice 3D | Math semantics | Phys semantics | API |
|---|---|---|---|---|---|
| VPython | 🤞 | 💪 | 🤏 | 🤏 | very basic |
| Three.js | ✔️ | 🎖️ | ❌ | ❌ | low level |
| p5.js | ✔️ | 🤏 | ❌ | ❌ | basic |
| Babylon.js | ✔️ | 🎖️ | ❌ | ❌ | low level |
| Mathematica | ❌ (cloud) | 🎖️ | 💪💪💪 | 💪 | high level |
| MATLAB | ❌ | 👍 | 💪 | 🤏 | high level |
| Manim | ❌ | 👍 | 💪 | ❌ | high level |
| Helion | ✔️ | 👍 | 💪 | 💪 | high level |