Please disable your adblock and script blockers to view this page

enkimute/ganja.js


📐
CLI
GitHub Desktop
Visual Studio
morphisms.)(Technically
ganja.js
Algebra
Inverse
2D
PGA
CGA
Cayley
mv.e12
Inline
R2.Inline
javaScript
Duality
Computer Graphics
Javascript Geometric Algebra Generator


Clifford
Mathematically
ganja.js
Grassmann
Poincare
Clifford Algebra.)(Seriously
4
Ganja
Install ganja.js
clifford
Wedge
Mul
ganja.js
Ganja.js
Sandwich
Gunn


Cayley


AST

No matching tags


Javascript

No matching tags

Positivity     37.00%   
   Negativity   63.00%
The New York Times
SOURCE: https://github.com/enkimute/ganja.js
Write a review: Hacker News
Summary

involutions and morphisms.)(Technically, ganja.js is a code generator producing classes that reificate algebraic literals rewrite functions containing algebraic constructs to their procedural counterparts.)(Practically, ganja.js enables real math syntax inside javascript, with element, vector and matrix 7. Ganja starterkit : PGA3D P(R*3,0,1)Ganja.js makes doing Geometric Algebra in your browser easy and fun. (ganja.js has no dependencies)To create an Algebra, call the Algebra function specifying the metric an ES6 class implementing the requested clifford algebra.An extended syntax is also available that allows you to further tweak the created Algebra.Here are some examples :You can now use these classes to generate algebraic elements. ganja.js provides an alternate way to write algebraic functions, literals the need for calling brackets in algebraic expressions.Under the hood, ganja.js will translate these functions.In the example above, functions a and b do the same thing, but it should be clear that a-b=headeache. examples of how to use the inline syntax.Your Algebra also exposes a static graph function that allows you to the first parameter to the Algebra call.When not specified, ganja.js will generate basis names that are Ganja.js supports this by setting options.mix to true when you create your algebra.With the mix mode enabled, all operations generated by ganja.js will use basis name access

As said here by enkimute