diff --git a/engine-proto/gram-test/Engine.jl b/engine-proto/gram-test/Engine.jl index a0a59be..a874485 100644 --- a/engine-proto/gram-test/Engine.jl +++ b/engine-proto/gram-test/Engine.jl @@ -33,6 +33,19 @@ rand_on_shell(rng::AbstractRNG, shells::Array{T}) where T <: Number = rand_on_shell(shells::Array{<:Number}) = rand_on_shell(Random.default_rng(), shells) +# === elements === + +plane(normal, offset) = [normal; offset; offset] + +function sphere(center, radius) + dist_sq = dot(center, center) + return [ + center / radius; + 0.5 * ((dist_sq - 1) / radius - radius); + 0.5 * ((dist_sq + 1) / radius - radius) + ] +end + # === Gram matrix realization === # the Lorentz form