Engine prototype #13

Open
Vectornaut wants to merge 117 commits from engine-proto into main
5 changed files with 11 additions and 11 deletions
Showing only changes of commit 69a704d414 - Show all commits

View File

@ -213,8 +213,8 @@ elements = begin
1 1 -1 -1 0
1 -1 1 -1 0
1 -1 -1 1 0
-0.5 -0.5 -0.5 -0.5 -a-1
0.5 0.5 0.5 0.5 -a+1
0.5 0.5 0.5 0.5 1+a
0.5 0.5 0.5 0.5 1-a
]
end

View File

@ -39,7 +39,7 @@ rand_on_shell(shells::Array{<:Number}) = rand_on_shell(Random.default_rng(), she
# === elements ===
point(pos) = [pos; -1; 0.25 * dot(pos, pos)]
point(pos) = [pos; 1; 0.25 * dot(pos, pos)]
plane(normal, offset) = [normal; 0; offset]
@ -47,7 +47,7 @@ function sphere(center, radius)
dist_sq = dot(center, center)
[
center / radius;
-0.5 / radius;
0.5 / radius;
0.5 * (dist_sq / radius - radius)
]
end
@ -55,12 +55,12 @@ end
# === Gram matrix realization ===
# basis changes
nullmix = [Matrix{Int64}(I, 3, 3) zeros(Int64, 3, 2); zeros(Int64, 2, 3) [1 -1; 1 1]//2]
unmix = [Matrix{Int64}(I, 3, 3) zeros(Int64, 3, 2); zeros(Int64, 2, 3) [1 1; -1 1]]
nullmix = [Matrix{Int64}(I, 3, 3) zeros(Int64, 3, 2); zeros(Int64, 2, 3) [-1 1; 1 1]//2]
unmix = [Matrix{Int64}(I, 3, 3) zeros(Int64, 3, 2); zeros(Int64, 2, 3) [-1 1; 1 1]]
# the Lorentz form
## [old] Q = diagm([1, 1, 1, 1, -1])
Q = [Matrix{Int64}(I, 3, 3) zeros(Int64, 3, 2); zeros(Int64, 2, 3) [0 2; 2 0]]
Q = [Matrix{Int64}(I, 3, 3) zeros(Int64, 3, 2); zeros(Int64, 2, 3) [0 -2; -2 0]]
# project a matrix onto the subspace of matrices whose entries vanish at the
# given indices

View File

@ -43,8 +43,8 @@ guess = begin
1 1 -1 -1 0
1 -1 1 -1 0
1 -1 -1 1 0
-0.5 -0.5 -0.5 -0.5 -a-1
0.5 0.5 0.5 0.5 -a+1
0.5 0.5 0.5 0.5 1+a
0.5 0.5 0.5 0.5 1-a
] + 0.2*Engine.rand_on_shell(fill(BigFloat(-1), 5)),
Engine.rand_on_shell(fill(BigFloat(-1), 2))
)

View File

@ -46,7 +46,7 @@ guess = hcat(
1 1 -1 -1 0
1 -1 1 -1 0
1 -1 -1 1 0
0 0 0 0 -1.5
0 0 0 0 1.5
1 1 1 1 -0.5
] + 0.2*Engine.rand_on_shell(fill(BigFloat(-1), 5)),
BigFloat[0, 0, 0, 0, 1]

View File

@ -63,7 +63,7 @@ guess = hcat(
1 1 -1 -1 0 0
1 -1 1 -1 0 0
1 -1 -1 1 0 0
0 0 0 0 -1.5 -0.5
0 0 0 0 1.5 0.5
1 1 1 1 -0.5 -1.5
] + 0.2*Engine.rand_on_shell(fill(BigFloat(-1), 6)),
Engine.point([-1, -1, -1] + 0.3*randn(3)),