Interface ParametricSurface
- All Superinterfaces:
ContinuousFunction<Vector<Real>, Vector<Real>>, DifferentiableFunction<Vector<Real>, Vector<Real>>, Function<Vector<Real>, Vector<Real>>, Function<Vector<Real>, Vector<Real>>, Relation<Vector<Real>, Vector<Real>>
A parametric surface is defined by: S(u,v) = (x(u,v), y(u,v), z(u,v)) where (u,v) are parameters, typically in some domain D ⊂ Ⅎ.
Examples: - Plane: S(u,v) = Pâ‚€ + u*a + v*b - Sphere: S(θ,Æ) = (r*sin(θ)*cos(Æ), r*sin(θ)*sin(Æ), r*cos(θ)) - Torus: S(u,v) = ((R+r*cos(v))*cos(u), (R+r*cos(v))*sin(u), r*sin(v)) - Cylinder: S(θ,z) = (r*cos(θ), r*sin(θ), z)
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Method Summary
Modifier and TypeMethodDescriptionEvaluates the surface at parameters (u, v).Returns the derivative of this function.Evaluates this function at the given point.default Real[]firstFundamentalForm(Real u, Real v, Real h) Returns the first fundamental form coefficients (E, F, G).default RealgaussianCurvature(Real u, Real v, Real h) Returns the Gaussian curvature at (u, v).default intReturns the normal vector at (u, v).Returns the partial derivative ∂S/∂u.Returns the partial derivative ∂S/∂v.default RealsurfaceArea(Real u0, Real u1, Real v0, Real v1, int numStepsU, int numStepsV) Computes the surface area over a parameter domain.default RealsurfaceElement(Real u, Real v, Real h) Returns the surface area element dS.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<Vector<Real>, Vector<Real>>- Returns:
- f'
-
evaluate
-
getOutputDimension
default int getOutputDimension() -
at
-
partialU
-
partialV
-
normal
Returns the normal vector at (u, v).The normal is computed as: N = ∂S/∂u × ∂S/∂v
- Parameters:
u- the first parameterv- the second parameterh- the step size for numerical differentiation- Returns:
- the unit normal vector
-
surfaceElement
-
surfaceArea
Computes the surface area over a parameter domain.Area = ∫∫_D ||∂S/∂u × ∂S/∂v|| du dv
- Parameters:
u0- minimum u parameteru1- maximum u parameterv0- minimum v parameterv1- maximum v parameternumStepsU- number of integration steps in unumStepsV- number of integration steps in v- Returns:
- the surface area
-
firstFundamentalForm
Returns the first fundamental form coefficients (E, F, G).E = ⟨∂S/∂u, ∂S/∂u⟩ F = ⟨∂S/∂u, ∂S/∂v⟩ G = ⟨∂S/∂v, ∂S/∂v⟩
- Parameters:
u- the first parameterv- the second parameterh- the step size- Returns:
- array [E, F, G]
-
gaussianCurvature
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.
- Parameters:
u- the first parameterv- the second parameterh- the step size- Returns:
- the Gaussian curvature
-