Interface ParametricCurve
- All Superinterfaces:
ContinuousFunction<Real, Vector<Real>>, DifferentiableFunction<Real, Vector<Real>>, Function<Real, Vector<Real>>, Function<Real, Vector<Real>>, Relation<Real, Vector<Real>>
- All Known Implementing Classes:
BezierCurve, Circle, Ellipse, Helix
Represents a parametric curve in N-dimensional space.
A parametric curve is defined by: C(t) = (xâ‚Â(t), xâ‚‚(t), ..., xâ‚™(t)) where t is the parameter, typically in some interval [a, b].
Examples: - Line: C(t) = P₀ + t*d - Circle: C(t) = (r*cos(t), r*sin(t)) - Helix: C(t) = (r*cos(t), r*sin(t), h*t) - Bézier curve: C(t) = Σ Bᵢ(t)*Pᵢ
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Method Summary
Modifier and TypeMethodDescriptiondefault RealComputes the arc length from t0 to t1.Evaluates the curve at parameter t.default RealReturns the curvature at parameter t.Returns the derivative of this function.intReturns the dimension of the ambient space.Evaluates this function at the given point.default intReturns the normal vector at parameter t (for 2D/3D curves).Returns the tangent vector at parameter t.unitTangent(Real t, Real h) Returns the unit tangent vector at parameter t.Methods inherited from interface ContinuousFunction
isContinuousMethods inherited from interface DifferentiableFunction
isDifferentiableMethods inherited from interface Function
andThen, apply, compose, contains, evaluate, getBackend, setBackendMethods inherited from interface Relation
getCodomain, getDomain
-
Method Details
-
differentiate
Description copied from interface:DifferentiableFunctionReturns the derivative of this function.- Specified by:
differentiatein interfaceDifferentiableFunction<Real, Vector<Real>>- Returns:
- f'
-
evaluate
-
getOutputDimension
default int getOutputDimension() -
at
-
dimension
int dimension()Returns the dimension of the ambient space.- Returns:
- the dimension
-
tangent
-
unitTangent
-
arcLength
-
curvature
Returns the curvature at parameter t.Curvature: κ = ||C'(t) × C''(t)|| / ||C'(t)||³
For 2D curves: κ = |x'y'' - y'x''| / (x'² + y'²)^(3/2)
- Parameters:
t- the parameter valueh- the step size for numerical differentiation- Returns:
- the curvature
-
normal
-