A Julia package for computing symbolic and numeric vector properties of parametric curves, including vector operations, Frenet–Serret frames, curvature, and torsion.
- Symbolic & Numeric Computation: Analytical expressions and numerical evaluations
- Frenet-Serret Frame: Complete TNB (tangent-normal-binormal) frame calculation
- Geometric Invariants: Curvature κ(t) and torsion τ(t)
- 2D & 3D Support: Handle planar and space curves
- High Performance: Optimized algorithms for both modes
using Pkg
Pkg.add(url="https://github.com/mirajcs/ParametricCurves.jl")using ParametricCurves
# Define a circular helix
r = [cos(t), sin(t), t]
# Compute at t = π/4
t₀ = π/4
T = Tangent(r, t, t₀)
N = Norm(r, t, t₀)
# Curvature
κ = Curvature(r, t, t₀)
using SymPy
@syms t
r_sym = [cos(t), sin(t), t]
# Symbolic tangent
T_sym = Tangent(r_sym, t)
# Symbolic curvature
κ_sym = Curvature(r_sym, t)For detailed documentation, examples, and API reference, visit:
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
If you use VectorUtils.jl in your research, please cite:
@software{parametric_curves_jl,
author = {Miraj Samarakkody},
title = {ParametricCurves.jl: A Toolkit for Parametric Curves},
year = {2025},
url = {https://github.com/mirajcs/ParametricCurves.jl}
}