Class Ellipse
java.lang.Object
org.episteme.core.mathematics.geometry.curves.Ellipse
- All Implemented Interfaces:
Function<Real, Vector<Real>>, ContinuousFunction<Real, Vector<Real>>, DifferentiableFunction<Real, Vector<Real>>, Function<Real, Vector<Real>>, Relation<Real, Vector<Real>>, ParametricCurve
Represents an ellipse curve.
An ellipse is a conic section with two focal points. Parametric form: C(t) = (a·cos(t), b·sin(t)) where a is the semi-major axis and b is the semi-minor axis.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionarea()Returns the area of the ellipse.Evaluates the curve at parameter t.Returns the curvature at parameter t.intReturns the dimension of the ambient space.Returns the eccentricity of the ellipse. e = √(1 - (b/a)²)Returns the center point.Returns the semi-major axis.Returns the semi-minor axis.Returns the approximate perimeter using Ramanujan's approximation.Returns the tangent vector at parameter t.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ContinuousFunction
isContinuousMethods inherited from interface DifferentiableFunction
isDifferentiableMethods inherited from interface Function
andThen, apply, compose, contains, evaluate, getBackend, setBackendMethods inherited from interface ParametricCurve
arcLength, differentiate, evaluate, getOutputDimension, normal, unitTangentMethods inherited from interface Relation
getCodomain, getDomain
-
Constructor Details
-
Ellipse
-
Ellipse
-
-
Method Details
-
at
Description copied from interface:ParametricCurveEvaluates the curve at parameter t.- Specified by:
atin interfaceParametricCurve- Parameters:
t- the parameter value- Returns:
- the point on the curve
-
dimension
public int dimension()Description copied from interface:ParametricCurveReturns the dimension of the ambient space.- Specified by:
dimensionin interfaceParametricCurve- Returns:
- the dimension
-
tangent
Description copied from interface:ParametricCurveReturns the tangent vector at parameter t.The tangent vector is the derivative: C'(t) = dC/dt
- Specified by:
tangentin interfaceParametricCurve- Parameters:
t- the parameter valueh- the step size for numerical differentiation- Returns:
- the tangent vector
-
curvature
Description copied from interface:ParametricCurveReturns the curvature at parameter t.Curvature: κ = ||C'(t) × C''(t)|| / ||C'(t)||³
For 2D curves: κ = |x'y'' - y'x''| / (x'² + y'²)^(3/2)
- Specified by:
curvaturein interfaceParametricCurve- Parameters:
t- the parameter valueh- the step size for numerical differentiation- Returns:
- the curvature
-
getSemiMajorAxis
-
getSemiMinorAxis
-
getCenter
-
eccentricity
Returns the eccentricity of the ellipse. e = √(1 - (b/a)²)- Returns:
- the eccentricity
-
area
-
perimeter
Returns the approximate perimeter using Ramanujan's approximation. P ≈ À(3(a+b) - √((3a+b)(a+3b)))- Returns:
- the approximate perimeter
-