Class Cone

java.lang.Object
org.episteme.core.mathematics.geometry.surfaces.Cone
All Implemented Interfaces:
Function<Vector<Real>, Vector<Real>>, ContinuousFunction<Vector<Real>, Vector<Real>>, DifferentiableFunction<Vector<Real>, Vector<Real>>, Function<Vector<Real>, Vector<Real>>, Relation<Vector<Real>, Vector<Real>>, ParametricSurface

public class Cone extends Object implements ParametricSurface
Represents a conical surface.

A cone is a surface formed by lines connecting a point (apex) to a circular base. Parametric form: S(θ, t) = (t·r·cos(θ), t·r·sin(θ), t·h) where θ ∈ [0, 2π], t ∈ [0, 1], r is base radius, h is height

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • Cone

      public Cone(Real baseRadius, Real height)
      Creates a cone with the given base radius and height. Apex at origin, base at z = -height.
      Parameters:
      baseRadius - the radius of the base
      height - the height
    • Cone

      public Cone(PointND apex, Real baseRadius, Real height)
      Creates a cone with the given apex, base radius, and height.
      Parameters:
      apex - the apex point
      baseRadius - the radius of the base
      height - the height (base is at apex - height along z)
  • Method Details

    • at

      public PointND at(Real u, Real v)
      Description copied from interface: ParametricSurface
      Evaluates the surface at parameters (u, v).
      Specified by:
      at in interface ParametricSurface
      Parameters:
      u - the first parameter
      v - the second parameter
      Returns:
      the point on the surface
    • partialU

      public Vector<Real> partialU(Real u, Real v, Real h)
      Description copied from interface: ParametricSurface
      Returns the partial derivative ∂S/∂u.

      This is the tangent vector in the u-direction.

      Specified by:
      partialU in interface ParametricSurface
      Parameters:
      u - the first parameter
      v - the second parameter
      h - the step size for numerical differentiation
      Returns:
      the partial derivative vector
    • partialV

      public Vector<Real> partialV(Real u, Real v, Real h)
      Description copied from interface: ParametricSurface
      Returns the partial derivative ∂S/∂v.

      This is the tangent vector in the v-direction.

      Specified by:
      partialV in interface ParametricSurface
      Parameters:
      u - the first parameter
      v - the second parameter
      h - the step size for numerical differentiation
      Returns:
      the partial derivative vector
    • gaussianCurvature

      public Real gaussianCurvature(Real u, Real v, Real h)
      Description copied from interface: ParametricSurface
      Returns the Gaussian curvature at (u, v).

      K = (LN - M²) / (EG - F²) where L, M, N are second fundamental form coefficients and E, F, G are first fundamental form coefficients.

      Specified by:
      gaussianCurvature in interface ParametricSurface
      Parameters:
      u - the first parameter
      v - the second parameter
      h - the step size
      Returns:
      the Gaussian curvature
    • getBaseRadius

      public Real getBaseRadius()
      Returns the base radius.
      Returns:
      the base radius
    • getHeight

      public Real getHeight()
      Returns the height.
      Returns:
      the height
    • getApex

      public PointND getApex()
      Returns the apex point.
      Returns:
      the apex
    • slantHeight

      public Real slantHeight()
      Returns the slant height. l = √(r² + h²)
      Returns:
      the slant height
    • lateralSurfaceArea

      public Real lateralSurfaceArea()
      Returns the lateral surface area. A = πrl where l is slant height
      Returns:
      the lateral surface area
    • totalSurfaceArea

      public Real totalSurfaceArea()
      Returns the total surface area (including base). A = πr(r + l)
      Returns:
      the total surface area
    • volume

      public Real volume()
      Returns the volume of the cone. V = (1/3)πr²h
      Returns:
      the volume