API Reference

Functions

ParametricCurves.AccelerationFunction
Acceleration(curve::Vector, t::Sym, t_val=nothing)

Compute the Tangential and Normal Components of Acceleration

Arguments

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

Returns

Tuple of (Tangential component, Normal component) of acceleration vector.

Examples

julia> @syms t
julia> curve = [t^2, t, 2*t]
julia> aT, aN = Acceleration(curve, t)
julia> aT
2*t / sqrt(5 + 4*t^2)

julia> aN
2*sqrt(5) / sqrt(5 + 4*t^2)

julia> # Evaluate at t = 1
julia> Acceleration(curve, t, 1)
(4/3, 2*sqrt(5)/3)
source
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.GradientMethod
Gradient(f, vars::AbstractVector)

Compute the gradient vector of a scalar function f with respect to variables vars.

The gradient is the vector of partial derivatives: ∇f = [∂f/∂x, ∂f/∂y, ∂f/∂z, ...]

Arguments

  • f: Scalar symbolic or numeric function
  • vars::AbstractVector: Variables to differentiate with respect to

Returns

Gradient vector as a symbolic expression

Examples

julia> @syms x y z
julia> f = x^2 + 2*y*z + z^2
julia> Gradient(f, [x, y, z])
3-element Vector:
 2*x
 2*z
 2*y + 2*z
source
ParametricCurves.JacobianMethod
Jacobian(funcs::AbstractVector, vars::AbstractVector)

Compute the Jacobian matrix of a vector-valued function with respect to variables vars.

The Jacobian is the matrix of all first-order partial derivatives. For a function f: ℝⁿ → ℝᵐ represented as a vector [f₁, f₂, ..., fₘ], the Jacobian is an m×n matrix where entry J[i,j] = ∂fᵢ/∂xⱼ.

Arguments

  • funcs::AbstractVector: Vector of functions [f₁, f₂, ..., fₘ]
  • vars::AbstractVector: Variables to differentiate with respect to [x₁, x₂, ..., xₙ]

Returns

Jacobian matrix as a vector of vectors (m×n matrix)

Examples

julia> @syms x y z
julia> funcs = [x^2 + y, x*y*z, z^2]
julia> Jacobian(funcs, [x, y, z])
3×3 Matrix:
 2*x    1      0
 y*z    x*z    x*y
 0      0      2*z

julia> # Jacobian for a parametric curve
julia> @syms t
julia> curve = [cos(t), sin(t), t^2]
julia> Jacobian(curve, [t])
3×1 Matrix:
 -sin(t)
 cos(t)
 2*t
source
ParametricCurves.JacobianDetMethod
JacobianDet(funcs::AbstractVector, vars::AbstractVector)

Compute the determinant of the Jacobian matrix and return the simplified result.

This function computes the Jacobian matrix of the vector-valued function funcs with respect to variables vars, then calculates and simplifies its determinant.

Arguments

  • funcs::AbstractVector: Vector of functions [f₁, f₂, ..., fₙ]
  • vars::AbstractVector: Variables to differentiate with respect to [x₁, x₂, ..., xₙ]

Note

The Jacobian matrix must be square for the determinant to be defined. This requires length(funcs) == length(vars).

Returns

Simplified determinant of the Jacobian matrix

Examples

julia> @syms x y
julia> funcs = [x^2 + y, x*y]
julia> JacobianDet(funcs, [x, y])
2*x^2 - y

julia> @syms u v
julia> transformation = [u*cos(v), u*sin(v)]
julia> JacobianDet(transformation, [u, v])
u
source
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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
ParametricCurves.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