Skip to content

mirajcs/ParametricCurves.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParametricCurves.jl

Build Status Documentation

A Julia package for computing symbolic and numeric vector properties of parametric curves, including vector operations, Frenet–Serret frames, curvature, and torsion.

Features

  • 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

Installation

using Pkg
Pkg.add(url="https://github.com/mirajcs/ParametricCurves.jl")

Quick Example

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₀)

Symbolic Computation

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)

Documentation

For detailed documentation, examples, and API reference, visit:

📚 Documentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Citation

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}
}

About

A Julia package for symbolic and numeric geometric computations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages