API Reference

Functions

GeometryToolkit.AngleMethod
Angle(a::AbstractVector, b::AbstractVector)

Compute the angle between two vectors a and b in radians.

Supports both numeric and symbolic vectors.

Examples

julia> Angle([1, 0], [0, 1])
1.5707963267948966  # π/2
source
GeometryToolkit.ArcLengthMethod
ArcLength(curve::Vector, t::Sym, a, b; symbolic=true)

Compute the arc length of a parametrized curve from parameter value a to b.

Arguments

  • curve::Vector: Parametric curve components [x(t), y(t), z(t)]
  • t::Sym: Parameter symbol
  • a: Starting parameter value
  • b: Ending parameter value
  • symbolic::Bool: If true, attempts symbolic integration; otherwise uses numerical integration

Returns

Arc length value (symbolic or numeric)

source
GeometryToolkit.ArcLengthParametrizationMethod
ArcLengthParametrization(curve::Vector, s::Sym; symbolic=true)

Compute the arc length parametrization of a curve.

Arguments

  • curve::Vector: Parametric curve components
  • s::Sym: Parameter symbol for the curve
  • symbolic::Bool: If true, attempts symbolic integration

Returns

Arc length function s(t)

source
GeometryToolkit.BinormalFunction
Binormal(curve::Vector, t::Sym, t_val=nothing)

Compute the binormal vector B(t) = T(t) × N(t) for a 3D parametric curve.

Arguments

  • curve::Vector: 3D parametric curve components
  • t::Sym: Parameter symbol
  • t_val: Optional numeric value to evaluate at

Returns

Binormal vector

source
GeometryToolkit.CrossMethod
Cross(a::AbstractVector, b::AbstractVector)

Compute the cross product of two 3D vectors a and b.

Supports both numeric and symbolic vectors.

Examples

julia> Cross([1, 0, 0], [0, 1, 0])
3-element Vector{Int64}:
 0
 0
 1
source
GeometryToolkit.CurvatureFunction
Curvature(curve::Vector, t::Sym, t_val=nothing)

Compute the curvature κ = |r'(t) × r''(t)|/|r'(t)|³ of a 3D parametric curve.

Arguments

  • curve::Vector: 3D parametric curve components
  • t::Sym: Parameter symbol
  • t_val: Optional numeric value to evaluate at

Returns

Curvature value

source
GeometryToolkit.DotMethod
Dot(a::AbstractVector, b::AbstractVector)

Compute the dot product of two vectors a and b.

Supports both numeric and symbolic vectors.

Examples

julia> Dot([1, 2, 3], [4, 5, 6])
32
source
GeometryToolkit.FrenetSerretFunction
FrenetSerret(curve::Vector, t::Sym, t_val=nothing)

Compute the Frenet-Serret frame (Tangent, Normal, Binormal).

Arguments

  • curve::Vector: 3D Parametric curve components
  • t::Sym: Parameter symbol
  • t_val: Optional numeric value to evaluate at

Returns

Tuple of (Tangent, Normal, Binormal) vectors

source
GeometryToolkit.NormMethod
Norm(v::AbstractVector)

Compute the Euclidean norm (magnitude) of vector v.

Supports both numeric and symbolic vectors.

Examples

julia> Norm([3.0, 4.0])
5.0

julia> @syms x y
julia> Norm([x, y])
sqrt(x^2 + y^2)
source
GeometryToolkit.NormalFunction
Normal(curve::Vector, t::Sym, t_val=nothing)

Compute the principal normal vector N(t) = T'(t)/|T'(t)| for a 3D parametric curve.

Arguments

  • curve::Vector: 3D parametric curve components
  • t::Sym: Parameter symbol
  • t_val: Optional numeric value to evaluate at

Returns

Principal normal vector

source
GeometryToolkit.NormalizeMethod
Normalize(v::AbstractVector)

Return the unit vector in the direction of v.

Supports both numeric and symbolic vectors.

Examples

julia> Normalize([3.0, 4.0])
2-element Vector{Float64}:
 0.6
 0.8
source
GeometryToolkit.ParametricLineMethod
ParametricLine(x::AbstractVector, v::AbstractVector)

Generate the parametric equation for a line through point x parallel to direction vector v in 3D.

Returns a parametric expression in terms of parameter t.

Examples

julia> ParametricLine([1, 2, 3], [1, 0, 0])
3-element Vector:
 t + 1
 2
 3
source
GeometryToolkit.PlaneEquationMethod
PlaneEquation(p::AbstractVector, n::AbstractVector)

Generate the equation for a plane given a point p on the plane and normal vector n.

Returns the plane equation in the form: n₁x + n₂y + n₃z - d = 0

Examples

julia> PlaneEquation([0, 0, 1], [0, 0, 1])
z - 1
source
GeometryToolkit.ProjectionMethod
Projection(a::AbstractVector, b::AbstractVector)

Project vector a onto vector b.

Returns the vector projection of a onto b.

Examples

julia> Projection([3, 4], [1, 0])
2-element Vector{Float64}:
 3.0
 0.0
source
GeometryToolkit.TangentFunction
Tangent(curve::Vector, t::Sym, t_val=nothing)

Compute the unit tangent vector T(t) = r'(t)/|r'(t)| for a parametric curve.

Arguments

  • curve::Vector: Parametric curve components
  • t::Sym: Parameter symbol
  • t_val: Optional numeric value to evaluate at

Returns

Unit tangent vector

source
GeometryToolkit.TorsionFunction
Torsion(curve::Vector, t::Sym, t_val=nothing)

Compute the torsion τ = (r'(t) × r''(t)) · r'''(t) / |r'(t) × r''(t)|² of a 3D parametric curve.

Arguments

  • curve::Vector: 3D parametric curve components
  • t::Sym: Parameter symbol
  • t_val: Optional numeric value to evaluate at

Returns

Torsion value

source

Index