API Reference
Functions
GeometryToolkit.Angle — Method
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 # π/2sourceGeometryToolkit.ArcLength — Method
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 symbola: Starting parameter valueb: Ending parameter valuesymbolic::Bool: If true, attempts symbolic integration; otherwise uses numerical integration
Returns
Arc length value (symbolic or numeric)
sourceGeometryToolkit.ArcLengthParametrization — Method
ArcLengthParametrization(curve::Vector, s::Sym; symbolic=true)Compute the arc length parametrization of a curve.
Arguments
curve::Vector: Parametric curve componentss::Sym: Parameter symbol for the curvesymbolic::Bool: If true, attempts symbolic integration
Returns
Arc length function s(t)
sourceGeometryToolkit.Binormal — Function
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 componentst::Sym: Parameter symbolt_val: Optional numeric value to evaluate at
Returns
Binormal vector
sourceGeometryToolkit.Cross — Method
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
1sourceGeometryToolkit.Curvature — Function
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 componentst::Sym: Parameter symbolt_val: Optional numeric value to evaluate at
Returns
Curvature value
sourceGeometryToolkit.Dot — Method
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])
32sourceGeometryToolkit.FrenetSerret — Function
FrenetSerret(curve::Vector, t::Sym, t_val=nothing)Compute the Frenet-Serret frame (Tangent, Normal, Binormal).
Arguments
curve::Vector: 3D Parametric curve componentst::Sym: Parameter symbolt_val: Optional numeric value to evaluate at
Returns
Tuple of (Tangent, Normal, Binormal) vectors
sourceGeometryToolkit.Norm — Method
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)sourceGeometryToolkit.Normal — Function
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 componentst::Sym: Parameter symbolt_val: Optional numeric value to evaluate at
Returns
Principal normal vector
sourceGeometryToolkit.Normalize — Method
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.8sourceGeometryToolkit.ParametricLine — Method
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
3sourceGeometryToolkit.PlaneEquation — Method
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 - 1sourceGeometryToolkit.Projection — Method
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.0sourceGeometryToolkit.Tangent — Function
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 componentst::Sym: Parameter symbolt_val: Optional numeric value to evaluate at
Returns
Unit tangent vector
sourceGeometryToolkit.Torsion — Function
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 componentst::Sym: Parameter symbolt_val: Optional numeric value to evaluate at
Returns
Torsion value
sourceIndex
GeometryToolkit.AngleGeometryToolkit.ArcLengthGeometryToolkit.ArcLengthParametrizationGeometryToolkit.BinormalGeometryToolkit.CrossGeometryToolkit.CurvatureGeometryToolkit.DotGeometryToolkit.FrenetSerretGeometryToolkit.NormGeometryToolkit.NormalGeometryToolkit.NormalizeGeometryToolkit.ParametricLineGeometryToolkit.PlaneEquationGeometryToolkit.ProjectionGeometryToolkit.TangentGeometryToolkit.Torsion