Engine prototype #13

Open
Vectornaut wants to merge 117 commits from engine-proto into main
2 changed files with 18 additions and 22 deletions
Showing only changes of commit 3b10c95d5f - Show all commits

View File

@ -19,14 +19,14 @@
<body>
<script>
// in the default view, e4 + e5 is the point at infinity
CGA3 = Algebra(4, 1);
v1 = CGA3.inline(() => 1e1 + 1e5)();
v2 = CGA3.inline(() => 1e2 + 1e5)();
v3 = CGA3.inline(() => 1e3 + 1e5)();
w1 = CGA3.inline(() => 1e1 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
w2 = CGA3.inline(() => 1e2 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
w3 = CGA3.inline(() => 1e3 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
s = CGA3.inline(() => -Math.sqrt(1.2)*1e4 + Math.sqrt(0.2)*1e5);
let CGA3 = Algebra(4, 1);
let v1 = CGA3.inline(() => 1e1 + 1e5)();
let v2 = CGA3.inline(() => 1e2 + 1e5)();
let v3 = CGA3.inline(() => 1e3 + 1e5)();
let w1 = CGA3.inline(() => 1e1 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
let w2 = CGA3.inline(() => 1e2 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
let w3 = CGA3.inline(() => 1e3 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
let s = CGA3.inline(() => -Math.sqrt(1.2)*1e4 + Math.sqrt(0.2)*1e5);
document.body.appendChild(CGA3.graph(
[

View File

@ -25,20 +25,16 @@ canvas {
}
"""
# the "points spheres plane" example from the Ganja coffee shop
#
# https://enkimute.github.io/ganja.js/examples/coffeeshop.html#cga3d_points_spheres_planes
#
sphere_example = """
graph_script = """
// in the default view, e4 + e5 is the point at infinity
CGA3 = Algebra(4, 1);
v1 = CGA3.inline(() => 1e1 + 1e5)();
v2 = CGA3.inline(() => 1e2 + 1e5)();
v3 = CGA3.inline(() => 1e3 + 1e5)();
w1 = CGA3.inline(() => 1e1 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
w2 = CGA3.inline(() => 1e2 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
w3 = CGA3.inline(() => 1e3 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
s = CGA3.inline(() => -Math.sqrt(1.2)*1e4 + Math.sqrt(0.2)*1e5);
let CGA3 = Algebra(4, 1);
let v1 = CGA3.inline(() => 1e1 + 1e5)();
let v2 = CGA3.inline(() => 1e2 + 1e5)();
let v3 = CGA3.inline(() => 1e3 + 1e5)();
let w1 = CGA3.inline(() => 1e1 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
let w2 = CGA3.inline(() => 1e2 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
let w3 = CGA3.inline(() => 1e3 - Math.sqrt(0.2)*1e4 + Math.sqrt(1.2)*1e5)();
let s = CGA3.inline(() => -Math.sqrt(1.2)*1e4 + Math.sqrt(0.2)*1e5);
document.body.appendChild(CGA3.graph(
[
@ -70,4 +66,4 @@ loadjs!(win, "https://unpkg.com/ganja.js")
# launch Ganja visualization
body!(win, "", async=false)
js(win, JSString(sphere_example))
js(win, JSString(graph_script))