Next Article in Journal
On the Concept of Algebraic Crystallography
Next Article in Special Issue
Affine Invariance of Bézier Curves on Digital Grid
Previous Article in Journal
Efficient Evaluation of Sobol’ Sensitivity Indices via Polynomial Lattice Rules and Modified Sobol’ Sequences
Previous Article in Special Issue
LightFakeDetect: A Lightweight Model for Deepfake Detection in Videos That Focuses on Facial Regions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Parametric Surfaces for Elliptic and Hyperbolic Geometries

by
László Szirmay-Kalos
*,
András Fridvalszky
,
László Szécsi
and
Márton Vaitkus
Department of Control Engineering and Information Technology, Budapest University of Technology and Economics, Műegyetem rkp. 3, 1111 Budapest, Hungary
*
Author to whom correspondence should be addressed.
Mathematics 2025, 13(21), 3403; https://doi.org/10.3390/math13213403
Submission received: 5 September 2025 / Revised: 15 October 2025 / Accepted: 23 October 2025 / Published: 25 October 2025

Abstract

Background/Objectives: In computer graphics, virtual worlds are constructed and visualized through algorithmic processes. These environments are typically populated with objects defined by mathematical models, traditionally based on Euclidean geometry. However, there is increasing interest in exploring non-Euclidean geometries, which require adaptations of the modeling techniques used in Euclidean spaces. Methods: This paper focuses on defining parametric curves and surfaces within elliptic and hyperbolic geometries. We explore free-form splines interpreted as hierarchical motions along geodesics. Translation, rotation, and ruling are managed through supplementary curves to generate surfaces. We also discuss how to compute normal vectors, which are essential for animation and lighting. The rendering approach we adopt aligns with physical principles, assuming that light follows geodesic paths. Results: We extend the Kochanek–Bartels spline to both elliptic and hyperbolic geometries using a sequence of geodesic-based interpolations. Simple recursive formulas are introduced for derivative calculations. With well-defined translation and rotation in these curved spaces, we demonstrate the creation of ruled, extruded, and rotational surfaces. These results are showcased through a virtual reality application designed to navigate and visualize non-Euclidean spaces.

1. Introduction

Modeling in computer graphics constructs virtual worlds by defining object surfaces through mathematical equations. Two common approaches are implicit and parametric formulations. Implicit equations of the form f ( r ) = 0 describe the conditions a point r must satisfy to lie on a surface, often involving constraints such as the distance, angle, or orthogonality. Implicit forms are particularly useful in ray tracing: by substituting the ray’s parametric equation into the surface equation, one obtains a scalar equation for the ray parameter.
Parametric modeling, in contrast, describes motion or shape directly. A parametric curve assigns a position r ( t ) to each parameter t, while a parametric surface r ( u , v ) extends this idea to two dimensions, generated by sweeping or interpolating curves. Many widely used graphics tools rely on such parametric constructions, with surfaces defined through extrusion, rotation, ruling, or interpolation of control points.
While Euclidean geometry underlies most existing modeling techniques, many applications benefit from extending them to non-Euclidean geometries. A common but limited strategy is to first design models in Euclidean space, tessellate the surfaces to small triangles, and then project vertices of the triangles into the curved space using central or stereographic projection, or with the exponential map [1]. However, because Euclidean and curved spaces differ in Gaussian curvature, any projection inevitably distorts either distances or angles, often breaking the modeler’s spatial intuition. A more natural approach is to define models directly within the target non-Euclidean geometry (Figure 1).

1.1. Previous Work

Curves can be specified by their parametric equation or by interpolation or approximation of control points. In Euclidean space, this is based on the center of mass analogy. Every control point p i gets parameter dependent mass m i ( t ) , and the point of the curve associated with the given parameter t is the center of mass of the resulting mechanical system:
r ( t ) = i p i m i ( t ) i m i ( t ) .
Unfortunately, this does not work in curved spaces, where, even if the control points are in the space of the geometry, their linear combination r ( t ) may be out.
There are several ways to generalize parametric spline curves to non-Euclidean spaces—see the recent survey of Mancinelli and Puppo [2]. The center of mass can be given another interpretation [3,4] as the point from which the sum of the weighted squared distances to the control points is minimal:
r ( t ) = argmin r i d 2 ( r , p i ) m i ( t ) ,
where d ( p , q ) is the distance of points p and q , and the search is constrained to the space of the geometry. In non-Euclidean geometry, finding this optimum requires numerical optimization, which complicates the application of automatic differentiation techniques. The same is true for alternative generalizations of spline curves in terms of functional minimization [5,6,7,8] or recursive subdivision [9,10]. Yet, efficient and accurate derivatives are crucial for shading, animation, and differentiable rendering.
As non-Euclidean geometries also incorporate the concept of lines as geodesic curves [11], spline evaluation can be made geometry-independent if its construction is traced back to a sequence of interpolations along geodesics. Famous examples of parametric curve definition based on linear interpolations are the de Casteljau construction of the Bézier curve [12], the de Boor construction of the B-spline [13], the Neville’s algorithm for Lagrange polynomial interpolation, or the Barry–Goldman method [14] for evaluating Catmull–Rom splines [15]—see the monograph [16] for a unified treatment based on the concept of blossoming [17].
The earliest attempts at extending linear interpolation to curved spaces focused on curves in two- or three-dimensional spheres (i.e., unit vectors or quaternions). Shoemake proposed including spherical linear interpolation (SLERP) [18] and spherical cubic interpolation (SQUAD) [19], which have become widely used in the field of computer animation and inspired many practical algorithms [20,21,22]—see ([23], Ch. 25) and [24] for overviews. The concept of blossoming has also been generalized to spherical geometry in various ways [25,26]. Schaefer and Goldman [27] have introduced variants of Bézier, Lagrange, and B-spline curves, as well as Catmull–Rom splines defined over spheres of arbitrary dimensions. Geier has proposed generalizations of Catmull–Rom and Kochanek–Bartels [28] splines to quaternions (as foundation for the Python 3.13 package splines 0.3.3 (https://pypi.org/project/splines/, accessed on 25 July 2025)).
The aforementioned parametric curve constructions are specific to spherical geometries. De Casteljau’s algorithm has also been successfully extended to general Riemannian manifolds [29,30,31,32,33,34]; however, the practical examples in these works are usually restricted to Lie groups, such as SO(3) or SE(3). We are aware of only a few publications that consider parametric curves in the hyperbolic plane [31,35] and none that do so in hyperbolic 3-space.
Rendering in curved spaces poses further challenges. Since light follows geodesics, visibility computations in ray tracing must generalize intersection tests to geodesic paths [36,37,38]. Object–space algorithms can be adapted by exploiting Klein’s model, which maps geodesics to straight lines while preserving the visibility order [39,40].

1.2. Contributions

The purpose of this paper is to extend efficient Euclidean modeling and rendering techniques to constant-curvature non-Euclidean spaces. Our contributions are as follows:
  • A generalization of the Kochanek–Bartels spline (in special cases also known as the Overhauser or Catmull–Rom spline) to curved geometries, including elliptic and hyperbolic spaces. The resulting curve interpolates control points, offers local control, and is defined entirely through motions along geodesics. In contrast to Geier’s approach that provides a piecewise-Bézier formulation, our solution is based on the blending of quadratic interpolants.
  • An extension of translational, rotational, and ruled parametric surfaces to curved spaces.
  • Methods for computing spline tangents and surface normals in non-Euclidean geometries, supporting applications in shading, animation, and differentiable rendering.
The remainder of the paper is organized as follows. Section 1.3 reviews the embedding space model of Euclidean, elliptic, and hyperbolic geometries. In Section 2.1, we present our spline construction for curved spaces, while Section 2.2 focuses on the computation of tangent vectors. Section 2.4 derives formulas for pure translations and rotations, which are then applied in Section 2.5 to generate extruded, rotated and ruled parametric surfaces. Section 2.6 discusses efficient GPU-based rendering of these objects. The results are reported in Section 3, and the paper concludes with final remarks in Section 4.

1.3. The Embedding Space Model of Geometries and Notations

Euclidean, elliptic, and hyperbolic geometries can be described within a unified framework by embedding them into a higher-dimensional space [41,42]. Specifically, 3D geometries are realized as subsets of a 4D embedding space, where each point is represented by a vector v = ( v x , v y , v z , v w ) with four coordinates (see Table 1 for notations). Figure 2 illustrates the simplified case of 2D geometries embedded in 3D space.
The metric in the embedding space is defined by the dot product  a , b . For Euclidean and elliptic geometries, this is the standard Euclidean dot product; however, hyperbolic geometry requires a Minkowski embedding with the Lorentzian dot product. To unify notation, we introduce the curvature sign  L , defined as
L = 1 , Euclidean or elliptic geometry , 1 , hyperbolic geometry .
With this, the general dot product becomes
a , b = a x b x + a y b y + a z b z + L a w b w .
For Euclidean 3D vectors, we also use the conventional dot symbol:
a , b = a x y z · b x y z + L a w b w .
The embedding space is equipped with four basis vectors i , j , k , l , that are normalized and mutually orthogonal:
i , i = j , j = k , k = 1 , l , l = L ,
i , j = j , k = k , l = l , i = 0 .

1.3.1. Points

Points p = ( p x , p y , p z , p w ) of elliptic and hyperbolic geometries lie on their respective hyperspheres:
p , p = L p x 2 + p y 2 + p z 2 + L p w 2 = L .
In elliptic geometry, antipodal points p and p are identical, i.e., a point corresponds to a diameter of the hypersphere. In hyperbolic geometry, only the upper sheet is considered, requiring p w > 0 .
The point of embedding coordinates ( 0 , 0 , 0 , 1 ) lies in all three geometries (Euclidean, elliptic, hyperbolic). It is called the geometry origin and is denoted by g .

1.3.2. Vectors

A vector  v based at a point p must not point out of the space of the geometry. This requires v to lie in the 3D tangent hyperplane of the hypersphere at p :
p , v = 0 .

1.3.3. Lines and Distances

Geodesics in elliptic and hyperbolic geometries arise from large circles that are intersections of the hypersphere with planes through the origin. Consider a sphere of radius R centered at the origin, a starting point p , and an initial unit tangent vector v . The parametric equation of the resulting great circle is given by
c ( t ) = p cos ( t / R ) + v R sin ( t / R ) ,
which can be interpreted as a unit speed motion, since c ˙ ( t ) = c ˙ ( t ) , c ˙ ( t ) = 1 .
From the equation of a general main circle, the line of the elliptic geometry can be obtained by considering a unit radius sphere ( R = 1 ):
r elliptic ( t ) = p cos ( t ) + v sin ( t ) .
The distance d between points p and q is the travel time along the geodesic:
q = p cos ( d ) + v sin ( d ) d = cos 1 | p , q | .
The absolute value operation is needed because a point can be represented by both p and p . To resolve this ambiguity, we require that for points of a single object, the scalar product must be positive. When the distance from the camera is needed by rendering, objects, where the dot product with the eye position is negative, are removed by clipping, but the scene is rendered two times, once with the original points p and once with p .
The geodesic segment between p and q at distance d can also be written as a spherical interpolation (SLERP) [18]:
r elliptic ( τ ) = p sin ( ( 1 τ ) d ) sin ( d ) + q sin ( τ d ) sin ( d ) , τ [ 0 , 1 ] ,
which yields a uniform motion of speed d if τ is assumed to be the time.
In hyperbolic geometry, the geodesic takes the form
r hyperbolic ( t ) = p cosh ( t ) + v sinh ( t ) ,
corresponding to a sphere of imaginary radius R = 1 . The distance d between points p and q is
q = p cosh ( d ) + v sinh ( d ) d = cosh 1 p , q .
A geodesic segment can be expressed as a hyperbolic interpolation [43]:
r hyperbolic ( τ ) = p sinh ( ( 1 τ ) d ) sinh ( d ) + q sinh ( τ d ) sinh ( d ) , τ [ 0 , 1 ] .
Both spherical and hyperbolic interpolations work for d = 0 as well, i.e., when p = q . For small d values, they can be approximated by the Euclidean version:
r elliptic ( τ ) r hyperbolic ( τ ) p ( 1 τ ) + q τ .

2. Methods

This section introduces our approach for defining spline curves in curved spaces and generating surfaces through curve transformations. We employ a unified notation that simultaneously handles elliptic and hyperbolic geometries: functions C ( α ) and S ( α ) denote cos ( α ) and sin ( α ) in the elliptic case and cosh ( α ) and sinh ( α ) in the hyperbolic case.
The uniform interpolation between vectors a and b that are associated with points at distance d is defined as
I ( a , b , d , τ ) = a S ( ( 1 τ ) d ) + b S ( τ d ) S ( d ) .
The line segment with endpoints p and q is obtained by interpolating the location along their geodesic:
L ( p , q , τ ) = I ( p , q , d ( p , q ) , τ ) .

2.1. Geometry-Independent Interpolating Spline

We construct a smooth curve r ( t ) that interpolates a sequence of control points p 1 , , p n at knot values t 1 , , t n , respectively. Both the control points and the resulting curve lie in the underlying geometry:
p i , p i = r ( t ) , r ( t ) = L .
The construction relies only on the constant-speed motion L ( p , q , τ ) along the geodesic defined by p at τ = 0 and q at τ = 1 . Thus, by substituting the appropriate line equation, the same algorithm applies in Euclidean, elliptic, and hyperbolic geometries.
Consider three control points p 1 , p 2 , p 3 to be interpolated at t 1 , t 2 , t 3 (Figure 3). Let d 12 and d 23 denote the distances between p 1 , p 2 and p 2 , p 3 , respectively. We introduce two auxiliary points: p 1 on the extension of p 1 p 2 , located at distance τ 1 d 12 from p 1 , and p 3 on the extension of p 3 p 2 , located at distance τ 3 d 23 from p 3 .
Define motions s 1 ( τ 1 ) = L ( p 1 , p 2 , τ 1 ) , extending toward p 1 , and s 3 ( τ 3 ) = L ( p 2 , p 3 , τ 3 ) , extending toward p 3 . Finally, let the spline of the three points be the motion interpolating between s 1 ( τ 1 ) and s 3 ( τ 3 ) :
r ( t ) = L ( s 1 ( τ 1 ( t ) ) , s 3 ( τ 3 ( t ) ) , τ 2 ( t ) ) .
Interpolation conditions are satisfied when
r ( t 1 ) = p 1 if τ 1 ( t 1 ) = 0 , τ 2 ( t 1 ) = 0 , r ( t 2 ) = p 2 if τ 1 ( t 2 ) = 1 , τ 3 ( t 2 ) = 0 , r ( t 3 ) = p 3 if τ 2 ( t 3 ) = 1 , τ 3 ( t 3 ) = 1 .
A convenient choice of the line parameters is
τ 1 ( t ) = t t 1 t 2 t 1 γ , τ 2 ( t ) = t t 1 t 3 t 1 β , τ 3 ( t ) = 1 t 3 t t 3 t 2 γ ,
yielding auxiliary distances
τ 1 = t 3 t 1 t 2 t 1 γ , τ 3 = 1 τ 1 .
Here, γ is the tension parameter, controlling the curvature near control points, while β is the bias parameter, shifting the curve to anticipate or overshoot a turn.
For γ = β = 1 in Euclidean space, the parametrization reduces to
τ 1 ( t ) = t t 1 t 2 t 1 , τ 2 ( t ) = t t 1 t 3 t 1 , τ 3 ( t ) = t t 2 t 3 t 2 ,
which yields Neville’s construction of the Lagrange interpolating curve:
r ( t ) = p 1 t t 2 t 1 t 2 t t 3 t 1 t 3 + p 2 t t 1 t 2 t 1 t t 3 t 2 t 3 + p 3 t t 1 t 3 t 1 t t 2 t 3 t 2 .
As with classical Lagrange interpolation, this construction suffers from oscillations and poor local control for larger sets of control points.
To address these issues, we adapt Overhauser’s approach [44]: the proposed interpolation scheme is applied only to local triplets, e.g., p 1 , p 2 , p 3 and then p 2 , p 3 , p 4 , etc. The final curve is obtained by merging the overlapping segments using geodesic blending (Figure 4a):
r ( t ) = L r i ( t ) , r i + 1 ( t ) , t t i t i + 1 t i i f t [ t i , t i + 1 ] .

2.2. Spline Tangent Calculation

In applications such as path animation based on the Frenet frame or illumination computations involving surface normals, it is necessary to evaluate the tangent vector of the spline at specific points. This tangent is obtained as the derivative of the spline with respect to its parameter. Since our spline is constructed as a hierarchy of constant-speed motions along geodesics, we propose a recursive algorithm for tangent computation.
At each step, the inputs are the geodesic endpoints p 1 and p 2 and their velocities v 1 and v 2 (Figure 5). In addition, the distance d between the endpoints and the unit direction vectors u 1 and u 2 of the geodesic at the endpoints can be expressed as
d = C 1 ( L p 1 , p 2 ) , u 1 = p 2 p 1 C ( d ) S ( d ) , u 2 = p 2 C ( d ) p 1 S ( d ) .
The derivative of
r ( t ) = L ( p 1 ( t ) , p 2 ( t ) , τ ( t ) )
yields the velocity v ( t ) at point r ( t ) on the geodesic. It consists of three terms: (i) the motion of the endpoints, (ii) the change ointhe interpolation parameter τ , and (iii) the variation in the geodesic length. The formula for the velocity is
v ( t ) = I ( v 1 , v 2 , d , τ ) + I ( u 1 , u 2 , d , τ ) ( τ ˙ d + τ d ˙ ) S ( τ d ) d ˙ S ( d ) u 2 ,
where the derivative of the geodesic distance d between p 1 ( t ) and p 2 ( t ) is
d ˙ = p 1 , v 2 + v 1 , p 2 S ( d ) .
The proof is given in Appendix A.

2.3. Continuity Analysis

In between the control points, the spline of Equation (14) is continuously differentiable by an arbitrary number of times. To examine the smoothness at the control points, let us take the derivative expressed by Equation (15) of the spline defined in Equation (14), where v 1 = r ˙ i ( t ) is the derivative of segment i at parameter point t, and v 2 = r ˙ i + 1 ( t ) is the derivative of segment i + 1 (Figure 4b). To prove continuous differentiability, i.e., C 1 continuity, we need to show that the derivative of r ( t ) goes to the derivative of r i ( t ) and the derivative of r i + 1 ( t ) when t converges to t i and t i + 1 , respectively. As segment i and segment i + 1 share control points p i and p i + 1 , the distance d between r i ( t ) and r i + 1 ( t ) converges to zero when t goes to t i or t i + 1 . Substituting these into Equation (15), we obtain
lim t t i v ( t ) = lim τ 0 I ( r ˙ i ( t ) , r ˙ i + 1 ( t ) , d , τ ) + I ( u i , u i + 1 , d , τ ) ( τ ˙ d + τ d ˙ ) S ( τ d ) d ˙ S ( d ) u 2 = r ˙ i ( t i ) ,
since I ( a , b , d , τ ) = a and S ( τ d ) = 0 if τ = 0 , and τ ˙ d + τ d ˙ = 0 if both τ and d are zero. Similarly, when t goes to t i + 1 , τ becomes 1 and d goes to zero; thus, we get
lim t t i + 1 v ( t ) = r ˙ i + 1 ( t i + 1 ) + lim τ 1 u i + 1 ( τ ˙ d + τ d ˙ d ˙ = r ˙ i + 1 ( t i + 1 ) ,
since I ( a , b , d , τ ) = b and S ( τ d ) / S ( d ) = 1 if τ = 1 , and τ ˙ d + τ d ˙ d ˙ = 0 if τ = 1 and d = 0 . This means that the derivative of the merged spline at the control points depends just on that segment that has this control point in the middle of its three control points. Thus, the spline has continuous velocity, i.e., belongs to the C 1 class.

2.4. Transformations and Isometries

Our goal is to express transformations in non-Euclidean spaces in terms of explicit formulas, ideally as 4 × 4 matrix multiplications. Such transformations must map the geometry onto itself; that is, the image of any point must remain within the same space. Since isometries preserve the dot product, they also preserve membership in the geometry, as point p belongs to the space precisely when p , p = L . Thus, enforcing dot product preservation guarantees that transformed points remain valid. In practice, this condition is satisfied if the transformed basis vectors form an orthonormal frame, i.e., they satisfy Equations (2) and (3).
In Euclidean geometry, translations and rotations can be expressed as compositions of two planar reflections [40]. If the reflecting planes are parallel, the result is a translation; if they intersect, the result is a rotation around their line of intersection (Figure 6).
In elliptic and spherical geometries, parallels do not exist, and hence, true translations are absent. By contrast, in hyperbolic geometry there are many parallels, making the translation as reflections on parallels ambiguous. Nevertheless, both translations and rotations are essential for intuitive modeling. We therefore introduce the notions of pure rotation and pure translation. A pure rotation fixes the geometry origin, while a pure translation moves the origin to a new point. Moreover, translations must implement parallel transport, preserving direction as closely as possible.
By spherical symmetry, reflection on a plane of the geometry corresponds to reflection on a hyperplane of the embedding space (Figure 7). Such a hyperplane must pass through the origin of the embedding space to map the curved space onto itself and can be written as
n , r = 0 ,
where n is its normal.
Reflecting point p across the hyperplane with normal n ( 1 ) yields
p = p 2 p , n ( 1 ) n ( 1 ) , n ( 1 ) n ( 1 ) .
A second reflection, with normal n ( 2 ) , gives
p = p 2 p , n ( 2 ) n ( 2 ) , n ( 2 ) n ( 2 ) = p 2 p , n ( 1 ) n ( 1 ) , n ( 1 ) n ( 1 ) 2 p , n ( 2 ) n ( 2 ) , n ( 2 ) n ( 2 ) + 4 n ( 1 ) , n ( 2 ) n ( 1 ) , p n ( 1 ) , n ( 1 ) n ( 2 ) , n ( 2 ) n ( 2 ) .
Since p depends linearly on p , transformations defined by reflections can be implemented with 4 × 4 matrices.

2.4.1. Translation

To construct a pure translation, we compose two reflections so that the origin g is mapped to q (Figure 8). The first reflection plane passes through g , and the second lies midway between g and q . To enforce parallel transport, the normals of both planes, together with g and q , must be coplanar. A convenient choice is
n ( 1 ) = q g q w = [ q x , q y , q z , 0 ] = q x y z 0 , n ( 2 ) = q g = [ q x , q y , q z , q w 1 ] .
Substituting into Equation (19) yields the following closed-form expression for a pure translation (see Appendix B for proof):
T q ( p ) = p + ( q g ) p w ( q + g ) p x y z · q x y z L ( 1 + q w ) .

2.4.2. Rotation

A pure rotation is also an isometry, but unlike a translation, it fixes the geometry origin g = ( 0 , 0 , 0 , 1 ) (Figure 9). A reflection preserves the geometry origin if its w coordinate is zero; thus, we require n w ( 1 ) = n w ( 2 ) = 0 . For simplicity, assume the normals have unit length. Then, Equation (19) reduces to
R a , ϕ ( p ) = p 2 p x y z · n x y z ( 1 ) n ( 1 ) 2 p x y z · n x y z ( 2 ) n ( 2 ) + 4 n x y z ( 1 ) · n x y z ( 2 ) p x y z · n x y z ( 1 ) n ( 2 ) .
Here, the axis is given by
a x y z = n x y z ( 1 ) × n x y z ( 2 ) , a w = 0 ,
and the rotation angle is ϕ = 2 θ , where θ is the angle between the two normals.
Note that p w remains unchanged since the w coordinates of the normal vectors are zero, and the x y z -coordinates follow Euclidean operations. Thus, in this setting the Rodrigues rotation formula applies not only in Euclidean space but also in hyperbolic and elliptic geometries.

2.5. Parametric Surfaces

Surfaces are two-dimensional manifolds, which means that two independent motions are required to define them. The first is a profile curve  p ( u ) , describing the position of a point along the curve as a function of parameter u. The second is a transformation that moves the profile curve to sweep the surface. Two common transformations are translation (also called extrusion) and rotation. Alternatively, ruling generates a surface by prescribing two synchronized motions that define the endpoints of a moving line segment.

2.5.1. Extruded Surfaces

Translation is controlled by an additional spine curve  s ( v ) parameterized by v, which translates the geometry origin to point s ( v ) . Substituting the current spine point into the target q in Equation (21), the extruded surface point as a function of parameters u and v is given by
r ( u , v ) = T s ( v ) ( p ( u ) ) = p ( u ) + ( s ( v ) g ) p w ( u ) ( s ( v ) + g ) p x y z ( u ) · s x y z ( v ) L ( 1 + s w ( v ) ) .

2.5.2. Rotational Surfaces

A rotational surface is generated by rotating the profile curve by an angle v around a unit-length axis a passing through the geometry origin. Using Rodrigues’ formula, we obtain
r x y z ( u , v ) = p x y z ( u ) cos ( v ) + a x y z p x y z ( u ) · a x y z ( 1 cos ( v ) ) + a x y z × p x y z ( u ) sin ( v ) , r w ( u , v ) = p w ( u ) .

2.5.3. Ruled Surfaces

A ruled surface is formed as the locus of points swept by a moving line segment. It is specified by two endpoint curves, r 1 ( u ) and r 2 ( u ) , defined as splines with common parameter u. Parameter v [ 0 , 1 ] then interpolates along the line segment, yielding
r ( u , v ) = L ( r 1 ( u ) , r 2 ( u ) , v ) .

2.5.4. Tessellation

For rendering with the GPU pipeline, surfaces must be approximated by triangles. When triangles are sufficiently small, the curved patch can be approximately represented as the convex combination of its three vertices in the 4D embedding space. Approximating a parametric surface with a triangular mesh is called tessellation, which amounts to subdividing the ( u , v ) parameter space into triangles. For each vertex of parameters ( u , v ) , the parametric function r ( u , v ) provides the location in the 4D embedding space.

2.5.5. Surface Normals

Rendering requires the calculation of the reflected radiance of surfaces visible in pixels. Since the reflected radiance depends on the surface normal vector N , tessellation must also address normal computation. The normal vector at r ( u , v ) must lie in the tangent space of the geometry to avoid pointing out of the manifold, i.e., r , N = 0 must hold. Furthermore, N must be orthogonal to the surface tangents r / u and r / v . Thus, the 4D normal N is perpendicular to r / u , r / v , and r , and can be expressed using the 4D analogue of the 3D cross product [45]:
N ( u , v ) = i j k l r x r y r z L r w r x / u r y / u r z / u L r w / u r x / v r y / v r z / v L r w / v .

2.6. Rendering

To generate an image of the virtual world, a camera must be introduced into the geometric space. Conceptually, a camera consists of an eye position  e , a set of pixels, and a rule that associates each pixel with the direction of a line containing points that are potentially visible through the pixel center. This construction follows from the fact that light travels along geodesics between the visible surfaces and the eye. The global orientation of the camera is specified by three orthogonal unit vectors in the tangent space of the eye position: the right direction  i , the up direction j , and the negative view direction  k . Pixels are identified by Normalized Device Coordinates (NDC) ( x ndc , y ndc ) [ 1 , 1 ] 2 , with the range boundaries corresponding to the edges of the image: y ndc = 1 is the bottom of the image, y ndc = 1 is the top, x ndc = 1 is the left boundary, and x ndc = 1 is the right boundary.
The mapping between directions and pixels simplifies considerably if the camera has canonical settings: the eye position is at the geometry origin g , i = i , j = j , and k = k . To achieve this, we apply an isometric transformation (translation and rotation) to both the scene and the camera. Because isometries act simultaneously on objects and the camera, the resulting image remains unchanged.
This transformation can be expressed as a multiplication with the following matrix [1]:
V = i x j x k x L e x i y j y k y L e y i z j z k z L e z L i w L j w L k w e w .
If the camera is small, we can rely on the analogy of Euclidean geometry (Figure 10). To associate pixel coordinates with ray direction v , we set the x and y components of v to the pixel NDCs scaled by factors s x and s y . The scaling should make sure that the z-component of the ray direction is equal to 1 . With relative parameters s x and s y we can control the camera field-of-view and aspect ratio settings. Since the eye lies at the geometry origin, ray directions belong to its tangent space where w = 0 :
v ( x ndc , y ndc ) = s x x ndc , s y y ndc , 1 , 0 .
Using the geodesic equation, the visibility ray parameterized by distance d from the eye being in g is
ray ( d ) = g C ( d ) + v 0 ( x ndc , y ndc ) S ( d ) ,
where v 0 = v / | | v | | is the normalized version of the ray direction. Taking into account that v z = 1 , the inverse operation is
v = v 0 v z 0 .
If objects are defined implicitly by equations of the form
f ( r ) = 0 and r , r = L ,
then their ray intersections can be determined by solving the scalar equation f ( ray ( d ) ) = 0 for d. Among all positive solutions across all objects, the smallest one determines the visible surface and thus the pixel color.
In object-space rendering, the focus is shifted from the pixels to object points, and the task is to determine the pixel in which object point r appears. The unit direction of the ray containing r is
v 0 = r g C ( d ) S ( d ) v x y z 0 = r x y z S ( d ) ,
where the distance d from the eye in g satisfies
C ( d ) = L r , g = L 2 r w = r w ,
since g = ( 0 , 0 , 0 , 1 ) .
The GPU expects the vertex shader to output points in homogeneous coordinates ( X , Y , Z , W ) , where the ( X / W , Y / W ) pair equals the pixel’s normalized device coordinates, and Z / W = Z ( d ) is an increasing function of distance d, which is used for visibility determination. Thus, the point should be submitted in the following homogeneous form:
( x n d c W , y n d c W , Z ( d ) W , W ) = v x s x W , v y s y W , Z ( d ) W , W = v x 0 s x v z 0 W , v y 0 s y v z 0 W , Z ( d ) W , W = r x s x r z W , r y s y r z W , Z ( d ) W , W ,
where we first applied Equation (28), then Equation (29), and finally Equation (30).
Setting W to r z , the homogeneous coordinates have the following form:
P ( r ) = r x s x , r y s y , Z ( d ) r z , r z .
The clipping stage of the GPU retains points satisfying W X , Y , Z W and W > 0 . Inequality W > 0 means that W = r z = v z 0 S ( d ) is positive, which requires S ( d ) to be positive. This is always the case in hyperbolic geometry, but in elliptic geometry, S ( d ) is positive only in half of the main circle. Objects that are closer in the opposite direction are clipped away. To resolve this problem, the scene is rendered two times in elliptic geometry: once with the original points r , and once with negated points r [39].
If W is positive, then inequalities W X , Y W are satisfied by the construction in Equation (32), since the NDCs are between 1 and 1.
For coordinate Z = Z ( d ) W , function Z ( d ) should be set to get the points of the view frustum to pass the clipping test. Let us search Z as a linear function of r z and r w :
Z = a r z + b r w ,
where parameters a and b are determined from the distance range of the view frustum. Using Equation (30) on the optical axis,
W = r z = v z 0 S ( d ) = S ( d ) ,
since on the optical axis v = ( 0 , 0 , 1 , 0 ) ; thus, v z 0 = 1 . Substituting this and Equation (31) into Equation (34), we get
Z = a S ( d ) + b C ( d ) .
On the optical axis, the visibility ray enters the visible frustum at d min and leaves it at d max . The entry point must be on the front clipping plane of equation Z = W , with the exit point on the back clipping plane of equation Z = W , which establishes a system of linear equations for unknowns a and b:
a S ( d min ) + b C ( d min ) = S ( d min ) , a S ( d max ) + b C ( d max ) = S ( d max ) .
Solving this, the a and b parameters are
a = S ( d min + d max ) S ( d max d min ) , b = 2 S ( d min ) S ( d max ) S ( d max d min ) .

3. Results

In order to demonstrate the discussed algorithms, first we compare the 2D spline curves in Euclidean, elliptic, and hyperbolic planes. To visualize the curved spaces, they are projected onto the Euclidean plane with central projection (Klein’s model) and stereographic projection (Poincaré’s model). In the case of hyperbolic geometry, the whole plane is projected to a circle that is drawn in gray. For elliptic and Euclidean geometries, the projection is infinitely large; so, only a part of the projected plane is visible here. The Klein model shows geodesics as Euclidean lines, while the Poincaré model preserves angles but presents geodesics as circular arcs. Figure 11 shows the proposed spline with unit bias and tension for all three considered geometries and for both central and stereographic projections. The tangents are also depicted to show the results of the derivative calculation.
Figure 12 and Figure 13 examine the effects of the tension and bias parameters. If tension γ is increased, then the curvature in the control points is reduced, but it is increased farther from the control points. If bias β is increased, the previous control point affects more the tangent in the current control point than the control point after the current one.
Figure 14 compares our proposed spherical spline to Spherical Quadrangle Interpolation (SQUAD) [19] and to the direct adaptation of de Casteljau’s algorithm [34] to the sphere. As the SQUAD works for quaternions, i.e., for the sphere in 4D, the z coordinate of the SQUAD solution is fixed to zero. To make the different solutions similar, we set the bias and tension parameters to one and assigned the natural numbers to the knot values since unlike our solution, de Casteljau’s method and the SQUAD both assume uniform parametrization. To find a spline point for a given parameter value, our method requires 1.1 μs computation time on a Intel i7 2.6GHz processor (Intel Corporation, Santa Clara, CA, USA), SQUAD 0.6 μs, and de Casteljau’s method 1.8 μs. This corresponds to the fact that our method needs seven geodesic interpolations per segment, SQUAD uses three, and de Casteljau’s approach N ( N 1 ) / 2 evaluations, where N is the number of control points.
The 3D results are shown in a scene where objects are above a textured rectangle modeled as a ruled surface of two lines (Figure 15, Figure 16 and Figure 17). The stage rectangle and the objects above it are enclosed in a sky sphere, which is generated as a rotational surface. The eye is put to the geometry origin ( 0 , 0 , 0 , 1 ) , the up direction of the camera is ( 0 , 0 , 1 , 0 ) , while the view direction is ( 0 , 1 , 0 , 0 ) , which are transformed to the canonical frame by the view transformation.
Note that the edges of the rectangular stage show up as Euclidean lines, although they are geodesics of curved spaces. The explanation is as follows: Before arriving at the coordinate system of the canonical camera, isometric transformations are applied that map geodesics to geodesics. A geodesic is the combination of two points (Equations (8) and (10)); thus, it is in the plane defined by the two combined points and the origin of the embedding space. Projection transformation P ( r ) is a homogeneous linear transformation that maps planes to planes. Finally, when the GPU executes the homogeneous division and obtains the points in 3D Cartesian coordinates, the intersection of the transformed plane and the plane of W = 1 is determined, which is a Euclidean line.
To allow the comparison of scenes in different geometries, we tried to make them as similar as possible. The control points defining the spline surfaces are at the same distance and direction from the geometry origin in every examined geometric space.
Figure 1 also follows this setting, where classical surfaces like the cone, cylinder, and the sphere are modeled as rotational surfaces. Note that in hyperbolic geometry, visibility rays diverge faster than in Euclidean geometry; therefore, objects in the hyperbolic space look smaller. In elliptic geometry, however, visibility rays diverge first, and then, they converge; thus both close and far away, objects look large. Using the analogy of the Earth, if the eye position is at the North Pole, then objects close to the North and South Poles look large, while objects close to the equator look small.
Figure 15 is a spline curve approximating a dolphin contour in 3D. The rows correspond to different tension and bias settings and the columns to the three compared geometries. Unlike Figure 11, Figure 12, Figure 13 and Figure 14, the control points have been placed in the 3D curved spaces, or, in other words, in the 4D embedding space, making sure that the control point also belongs to the hyperbolic Euclidean and elliptic geometry. The proposed construction guarantees that all points of the the resulting splines belong to the respective space. The spline is drawn with different tension and bias parameters to demonstrate their effect in the 3D case. As in 2D, with smaller tension parameters γ , the curvature of the spline grows at the control points. With larger bias, we can emphasize the effect of the previous control point in the tangent of the curve at the current control point (control points are specified in clock-wise order in this figure).
Figure 16 presents extruded surfaces with their profile and the spine curves. Rows present the profile curve, the spine curve, and the final extruded surface obtained by sweeping the profile curve along the spine curve. Figure 17 displays the rotated surfaces together with their profile curves. The axis of rotation is ( 0 , 0 , 1 , 0 ) in all examples.
The profile and the spine curves originally start close to the geometry origin, where the profile curve is extruded or rotated to generate the parametric surface. The parametric surface is finally translated to its position to separate the objects; then, the view transformation is applied to take the camera to its canonical settings.
When parametric surfaces are rendered, the normal vector of the surface is determined from the curve tangents according to Equation (26). When objects are transformed, the normal vectors are also updated. During illumination computation, we applied the diffuse-specular Phong–Blinn model depending on the transformed normal, illumination, and viewing directions. The unit viewing direction V and the unit illumination direction L at point r are obtained from the equation of the geodesics:
V = r e C ( d c ) S ( d c ) , L = r s C ( d l ) S ( d l ) ,
where e is the eye position, d c is the distance to the camera, s is the position of the light source, and d l is the distance to the illuminated point.

4. Conclusions

We have presented a unified framework for constructing and rendering parametric curves and surfaces in constant-curvature geometries. Building on the embedding space model, we developed spline representations suitable for Euclidean, elliptic, and hyperbolic spaces, together with a recursive method for tangent calculation. Using these tools, we derived explicit formulas for extruded, rotational, and ruled surfaces, and addressed their tessellation and normal vector computation in the 4D embedding space.
On the rendering side, we demonstrated how cameras can be consistently defined via geodesic visibility lines and showed that view transformations reduce to matrix multiplications in the embedding space. This allowed us to describe both ray-based and object-based rendering methods and to integrate them with the incremental GPU pipeline through appropriate transformations. The resulting framework provides a foundation for efficiently modeling and visualizing curved geometries in real time.
Extending our techniques beyond constant-curvature spaces would require overcoming several challenges. Geodesic interpolation has no closed-form expression in general manifolds; so, extending spline curves to these spaces must involve numerical approximations. For special cases (e.g. matrix Lie groups, homogeneous spaces, etc.), the exponential and logarithmic maps—and thus geodesic interpolation—can still be computed via relatively inexpensive linear algebra. General manifolds have almost no global isometries; so, strict analogues of extruded and rotational surfaces can only exist in highly symmetric cases and, even then, only in distinguished directions. Nevertheless, manifold-based analogues of procedural surface definitions might be worthy of investigation, using, e.g., parallel transport or curve developments. Investigating alternatives to ray tracing for the visualization of Thurston geometries [46] is another promising avenue for related future research.

Author Contributions

Conceptualization, L.S.-K.; methodology, L.S.-K. and M.V.; software, A.F. and L.S.; validation, A.F.; formal analysis, L.S.-K. and M.V.; investigation, L.S.-K., A.F., L.S. and M.V.; writing—original draft preparation, L.S.-K.; writing—review and editing, A.F., L.S. and M.V.; visualization, A.F. and L.S. All authors have read and agreed to the published version of the manuscript.

Funding

This project has been supported by the National Research, Development and Innovation Office, Hungary (OTKA K-145970).

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Acknowledgments

GPUs used in this project are donations of NVIDIA.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
GPUGraphics Processing Unit
NDCNormalized Device Coordinates
SLERPSpherical Linear Interpolation
SQUADSpherical QUADrangle interpolation

Appendix A. Proof of Equation (15)

Let us compute the time derivative of position r ( t ) selected by parameter τ on the line segment L:
r ( t ) = L ( p 1 ( t ) , p 2 ( t ) , τ ( t ) ) = I ( p 1 ( t ) , p 2 ( t ) , d ( t ) , τ ( t ) ) .
The time derivative is denoted by Newton’s dot notation:
r ˙ ( t ) = I ( p ˙ 1 ( t ) , p ˙ 2 ( t ) , d ( t ) , τ ( t ) ) + p 1 C ( ( 1 τ ) d ) ( d ˙ ( τ d ) ˙ ) S ( d ) + p 2 C ( τ d ) ( τ d ) ˙ S ( d ) S 2 ( d ) p 1 S ( ( 1 τ ) d ) C ( d ) + p 2 S ( τ d ) C ( d ) S 2 ( d ) d ˙ (A1) = I ( p ˙ 1 ( t ) , p ˙ 2 ( t ) , d ( t ) , τ ( t ) ) (A2) + p 1 C ( ( 1 τ ) d ) S ( d ) S ( ( 1 τ ) d ) C ( d ) p 2 S ( τ d ) C ( d ) S 2 ( d ) d ˙ (A3) + p 2 C ( τ d ) p 1 C ( ( 1 τ ) d ) S ( d ) ( τ d ) ˙ .
The first term (Equation (A1)) is simply the interpolation of the endpoint velocities, I ( v 1 , v 2 , d , τ ) . In the second term (Equation (A2)), we have collected the factors of the derivative of distance d ˙ between the endpoints, and in the third term (Equation (A3)), we collected the factors of ( τ d ) ˙ .

Appendix A.1. Factor of d . (Equation (A2))

Applying the addition rule for sin or sinh,
S ( d ) C ( ( 1 τ ) d ) C ( d ) S ( ( 1 τ ) d ) = S ( d ( 1 τ ) d ) = S ( τ d ) ,
we obtain
p 1 ( C ( ( 1 τ ) d ) S ( d ) S ( ( 1 τ ) d ) C ( d ) ) p 2 S ( τ d ) C ( d ) S 2 ( d ) = S ( τ d ) S ( d ) · p 1 p 2 C ( d ) S ( d ) .
This can be further rewritten as
S ( τ d ) S ( d ) · p 1 p 2 C ( d ) S ( d ) = S ( τ d ) S ( d ) u 2 ,
using the equation of the line (Equations (7) and (9)),
p 1 = p 2 C ( d ) u 2 S ( d ) .

Appendix A.2. Factor of τ d . (Equation (A3))

The point at distance τ d from p 1 on the line segment can be expressed both from the start and from the end points with their unit direction vectors:
p 2 C ( τ d ) u 2 S ( τ d ) = p 1 C ( ( 1 τ ) d ) + u 1 S ( ( 1 τ ) d ) ,
which rearranges to
p 2 C ( τ d ) p 1 C ( ( 1 τ ) d ) = u 1 S ( ( 1 τ ) d ) + u 2 S ( τ d ) .
Thus, the factor of ( τ d ) ˙ can be written as
p 2 C ( τ d ) p 1 C ( ( 1 τ ) d ) S ( d ) = I ( u 1 , u 2 , d , τ ( t ) ) .

Appendix A.3. Derivative of the Distance: d .

Now consider the derivative of the distance with respect to t. The distance d between points p 1 and p 2 satisfies
C ( d ) = L p 1 , p 2 .
Differentiating both sides gives
L S ( d ) d ˙ = L v 1 , p 2 + p 1 , v 2 .
Solving it for d ˙ yields Equation (16).

Appendix B. Proof of Equation (21)

Let us substitute Equation (20) into the general formula of Equation (19). As the first three coordinates of n ( 1 ) and n ( 2 ) are equal and the fourth coordinate of n ( 1 ) is zero, we can use the following simplifying identity:
n ( 1 ) , n ( 2 ) = n ( 1 ) , n ( 1 ) = q x y z · q x y z ;
thus, the transformed point after two reflections is
p = p 2 p , q x y z 0 q x y z · q x y z q x y z 0 2 p , q g q g , q g ( q g ) + 4 p , q x y z 0 q g , q g ( q g ) = p 2 p , q x y z 0 q x y z · q x y z q x y z 0 + 2 p , 2 q x y z 0 q + g q g , q g ( q g ) .
Rearranging Equation (4) for q that is in the geometry, we obtain
q x y z · q x y z = L ( 1 q w 2 ) .
Scaler product q g , q g is expressed using the definition of g = ( 0 , 0 , 0 , 1 ) and q , q = L :
q g , q g = 2 L ( 1 q w ) .
Vector 2 q x y z 0 q + g can be obtained as
2 q x y z 0 q + g = q x y z 0 + g ( 1 q w ) .
With these, the double reflection formula can be further simplified:
p = p 2 p , q x y z 0 L ( 1 q w 2 ) q x y z 0 + p , q x y z 0 + g ( 1 q w ) L ( 1 q w ) ( q g ) = p p , q x y z 0 L ( 1 q w ) 2 ( 2 q x y z 0 ( 1 + q w ) ( q g ) ) + p , g L ( q g ) = p p , q x y z 0 L ( 1 q w 2 ) ( 1 q w ) ( q + g ) + p w ( q g ) = p p , q x y z 0 L ( 1 + q w ) ( q + g ) + p w ( q g ) .

References

  1. Szirmay-Kalos, L.; Magdics, M. Adapting Game Engines to Curved Spaces. Vis. Comput. 2021, 38, 4383–4395. [Google Scholar] [CrossRef]
  2. Mancinelli, C.; Puppo, E. Splines on manifolds: A survey. Comput. Aided Geom. Des. 2024, 112, 102349. [Google Scholar] [CrossRef]
  3. Karcher, H. Riemannian center of mass and mollifier smoothing. Commun. Pure Appl. Math. 1977, 30, 509–541. [Google Scholar] [CrossRef]
  4. Afsari, B. Means and Averaging on Riemannian Manifolds. Ph.D. Thesis, University of Maryland, College Park, MD, USA, 2009. [Google Scholar]
  5. Gabriel, S.A.; Kajiya, J.T. Spline interpolation in curved manifolds. In SIGGRAPH ’85, Course Notes for “State of the Art in Image Synthesis”; ACM: New York, NY, USA, 1985. [Google Scholar]
  6. Noakes, L.; Heinzinger, G.; Paden, B. Cubic splines on curved spaces. IMA J. Math. Control Inf. 1989, 6, 465–473. [Google Scholar] [CrossRef]
  7. Hofer, M.; Pottmann, H. Energy-minimizing splines in manifolds. In ACM SIGGRAPH 2004 Papers; ACM: New York, NY, USA, 2004; pp. 284–293. [Google Scholar] [CrossRef]
  8. Camarinha, M.; Silva Leite, F.; Crouch, P.E. High-order splines on Riemannian manifolds. Proc. Steklov Inst. Math. 2023, 321, 158–178. [Google Scholar] [CrossRef]
  9. Wallner, J. Geometric subdivision and multiscale transforms. In Handbook of Variational Methods for Nonlinear Geometric Data; Springer: Berlin/Heidelberg, Germany, 2020; pp. 121–152. [Google Scholar] [CrossRef]
  10. Mancinelli, C.; Nazzaro, G.; Pellacini, F.; Puppo, E. b/Surf: Interactive Bézier Splines on Surface Meshes. IEEE Trans. Vis. Comput. Graph. 2023, 29, 3419–3435. [Google Scholar] [CrossRef]
  11. Crane, K.; Livesu, M.; Puppo, E.; Qin, Y. A survey of algorithms for geodesic paths and distances. arXiv 2020, arXiv:2007.10430. [Google Scholar] [CrossRef]
  12. Boehm, W.; Müller, A. On de Casteljau’s algorithm. Comput. Aided Geom. Des. 1999, 16, 587–605. [Google Scholar] [CrossRef]
  13. De Boor, C. A Practical Guide to Splines; Springer: Berlin/Heidelberg, Germany, 1978; Volume 27. [Google Scholar]
  14. Barry, P.J.; Goldman, R.N. A recursive evaluation algorithm for a class of Catmull-Rom splines. ACM SIGGRAPH Comput. Graph. 1988, 22, 199–204. [Google Scholar] [CrossRef]
  15. Catmull, E.; Rom, R. A class of local interpolating splines. In Computer Aided Geometric Design; Elsevier: Amsterdam, The Netherlands, 1974; pp. 317–326. [Google Scholar] [CrossRef]
  16. Goldman, R. Pyramid Algorithms: A Dynamic Programming Approach to Curves and Surfaces for Geometric Modeling; Elsevier: Amsterdam, The Netherlands, 2002. [Google Scholar]
  17. Ramshaw, L. Blossoms are polar forms. Comput. Aided Geom. Des. 1989, 6, 323–358. [Google Scholar] [CrossRef]
  18. Shoemake, K. Animating rotation with quaternion curves. In Proceedings of the SIGGRAPH ’85: 12th Annual Conference on Computer Graphics and Interactive Technique; ACM Press: New York, NY, USA, 1985; pp. 245–254. [Google Scholar] [CrossRef]
  19. Dam, E.B.; Koch, M.; Lillholm, M. Quaternions, Interpolation and Animation; Technical Report DIKU-TR-98/5; Department of Computer Science, University of Copenhagen: Copenhagen, Denmark, 1998. [Google Scholar]
  20. Kim, M.J.; Kim, M.S.; Shin, S.Y. A general construction scheme for unit quaternion curves with simple high order derivatives. In Proceedings of the SIGGRAPH ’95: 22nd Annual Conference on Computer Graphics and Interactive Techniques, Los Angeles, CA, USA, 6–11 August 1995; ACM Press: New York, NY, USA, 1995; pp. 369–376. [Google Scholar] [CrossRef]
  21. Buss, S.R.; Fillmore, J.P. Spherical averages and applications to spherical splines and interpolation. ACM Trans. Graph. 2001, 20, 95–126. [Google Scholar] [CrossRef]
  22. Popiel, T.; Noakes, L. C2 spherical Bézier splines. Comput. Aided Geom. Des. 2006, 23, 261–275. [Google Scholar] [CrossRef]
  23. Hanson, A.J. Visualizing Quaternions; Morgan Kaufmann: Burlington, MA, USA, 2006. [Google Scholar]
  24. Geier, M. Splines in Euclidean Space and Beyond; Zenodo: Geneva, Switzerland, 2025. [Google Scholar] [CrossRef]
  25. Lin, A.; Walker, M. CAGD techniques for differentiable manifolds. In Algorithms for Approximation IV; Levesley, J., Anderson, I., Mason, J., Eds.; Huddlersfield University: Huddersfield, UK, 2001; pp. 36–43. [Google Scholar]
  26. Rockwood, A. Splossoms: Spherical Blossoms. In Advances in Computer Graphics; Springer: Berlin/Heidelberg, Germany, 2023; pp. 200–209. [Google Scholar] [CrossRef]
  27. Schaefer, S.; Goldman, R. Freeform curves on spheres of arbitrary dimension. In Proceedings of the Pacific Graphics, Macao, China, 12–14 October 2005; pp. 160–162. [Google Scholar]
  28. Kochanek, D.H.; Bartels, R.H. Interpolating splines with local tension, continuity, and bias control. ACM SIGGRAPH Comput. Graph. 1984, 18, 33–41. [Google Scholar] [CrossRef]
  29. Park, F.; Ravani, B. Bézier curves on Riemannian manifolds and Lie groups with kinematics applications. J. Mech. Des. 1995, 117, 36–40. [Google Scholar] [CrossRef]
  30. Crouch, P.; Kun, G.; Leite, F.S. The De Casteljau Algorithm on Lie Groups and Spheres. J. Dyn. Control Syst. 1999, 5, 397–429. [Google Scholar] [CrossRef]
  31. Popiel, T.; Noakes, L. Bézier curves and C2 interpolation in Riemannian manifolds. J. Approx. Theory 2007, 148, 111–127. [Google Scholar] [CrossRef]
  32. Nava-Yazdani, E.; Polthier, K. De Casteljau’s algorithm on manifolds. Comput. Aided Geom. Des. 2013, 30, 722–732. [Google Scholar] [CrossRef]
  33. Bogfjellmo, G.; Modin, K.; Verdier, O. A Numerical Algorithm for C2-Splines on Symmetric Spaces. SIAM J. Numer. Anal. 2018, 56, 2623–2647. [Google Scholar] [CrossRef]
  34. Hanik, M.; Nava-Yazdani, E.; von Tycowicz, C. De Casteljau’s algorithm in geometric data analysis: Theory and application. Comput. Aided Geom. Des. 2024, 110, 102288. [Google Scholar] [CrossRef]
  35. Ahanchaou, T.; Ikemakhen, A. Hyperbolic interpolatory geometric subdivision schemes. J. Comput. Appl. Math. 2022, 399, 113716. [Google Scholar] [CrossRef]
  36. Berger, P.; Laier, A.; Velho, L. An image-space algorithm for immersive views in 3-manifolds and orbifolds. Vis. Comput. 2015, 31, 93–104. [Google Scholar] [CrossRef]
  37. Velho, L.; Silva, V.d.; Novello, T. Immersive Visualization of the Classical Non-Euclidean Spaces using Real-Time Ray Tracing in VR. In Proceedings of the Graphics Interface, Toronto, ON, Canada, 28–29 May 2020; pp. 423–430. [Google Scholar] [CrossRef]
  38. Hart, J.C. Sphere Tracing: Simple Robust Antialiased Rendering of Distance-Based Implicit Surfaces. In SIGGRAPH 93 Course Notes: Modeling, Visualizing, and Animating Implicit Surfaces; ACM Press: New York, NY, USA, 1993; pp. 1–11. [Google Scholar]
  39. Weeks, J. Real-time rendering in curved spaces. IEEE Comput. Graph. Appl. 2002, 22, 90–99. [Google Scholar] [CrossRef]
  40. Gunn, C. Advances in Metric-neutral Visualization. In Proceedings of the 2nd International Workshop on Computer Graphics, Computer Vision and Mathematics, GraVisMa, Brno, Czech Republic, 7–10 September 2010; pp. 17–26. [Google Scholar]
  41. Martelli, B. An Introduction to Geometric Topology. arXiv 2016, arXiv:1610.02592. [Google Scholar]
  42. Loustau, B. Hyperbolic geometry. arXiv 2020, arXiv:2003.11180. [Google Scholar] [PubMed]
  43. Ghadami, R.; Rahebi, J.; Yayli, Y. Linear interpolation in Minkowski space. Int. J. Pure Appl. Math. 2012, 77, 469–484. [Google Scholar]
  44. Overhauser, A.W. Analytic Definition of Curves and Surfaces by Parabolic Blending; Technical Report SL 68–40; Mathematical and Theoretical Sciences Department, Scientific Laboratory, Ford Motor Company: Dearborn, MI, USA, 1968. [Google Scholar] [CrossRef]
  45. Blinn, J. Jim Blinn’s Corner: Notation, Notation, Notation; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 2002. [Google Scholar]
  46. Novello, T.; da Silva, V.; Velho, L. Visualization of Nil, Sol, and SL2(R) geometries. Comput. Graph. 2020, 91, 219–231. [Google Scholar] [CrossRef]
Figure 1. Modeling the scene directly in curved spaces versus porting the scene from Euclidean geometry with the exponential map. The exponential map makes those points of Euclidean and non-Euclidean spaces correspond to each other that are at the same direction and the same distance from the geometry origin of the spaces. Note that the base rectangle is supposed to be bounded by lines, but they are made curved by porting, whereas in our direct modeling approach, they are correctly represented as geodesics of the space. (a) Euclidean reference. (b) Modeled in elliptic space. (c) Ported to elliptic space. (d) Modeled in hyperbolic space. (e) Ported to hyperbolic space.
Figure 1. Modeling the scene directly in curved spaces versus porting the scene from Euclidean geometry with the exponential map. The exponential map makes those points of Euclidean and non-Euclidean spaces correspond to each other that are at the same direction and the same distance from the geometry origin of the spaces. Note that the base rectangle is supposed to be bounded by lines, but they are made curved by porting, whereas in our direct modeling approach, they are correctly represented as geodesics of the space. (a) Euclidean reference. (b) Modeled in elliptic space. (c) Ported to elliptic space. (d) Modeled in hyperbolic space. (e) Ported to hyperbolic space.
Mathematics 13 03403 g001
Figure 2. Embedding of the 2D Euclidean, elliptic, and hyperbolic geometries into 3D space. Points of Euclidean geometry lie on the plane w = 1 , points of elliptic geometry lie on the unit sphere x 2 + y 2 + w 2 = 1 , and points of hyperbolic geometry correspond to the upper sheet of the two-sheeted hyperboloid x 2 + y 2 w 2 = 1 .
Figure 2. Embedding of the 2D Euclidean, elliptic, and hyperbolic geometries into 3D space. Points of Euclidean geometry lie on the plane w = 1 , points of elliptic geometry lie on the unit sphere x 2 + y 2 + w 2 = 1 , and points of hyperbolic geometry correspond to the upper sheet of the two-sheeted hyperboloid x 2 + y 2 w 2 = 1 .
Mathematics 13 03403 g002
Figure 3. Spline construction for three control points p 1 , p 2 , p 3 as a composition of three motions. Motion s 1 ( t ) goes from p 1 to p 1 , motion s 3 ( t ) goes from p 3 to p 3 , and the spline r ( t ) is a motion between s 1 ( t ) and s 3 ( t ) .
Figure 3. Spline construction for three control points p 1 , p 2 , p 3 as a composition of three motions. Motion s 1 ( t ) goes from p 1 to p 1 , motion s 3 ( t ) goes from p 3 to p 3 , and the spline r ( t ) is a motion between s 1 ( t ) and s 3 ( t ) .
Mathematics 13 03403 g003
Figure 4. Overhauser style blending of two spline segments r i ( t ) and r i + 1 ( t ) sharing two control points p i and p i + 1 . (a) Blending Curve 1 defined by r i ( t ) and Curve 2 defined by r i + 1 ( t ) . (b) Zoom in for continuity analysis. r ˙ i ( t ) and r ˙ i + 1 ( t ) are the velocities, and u i and u i + 1 are the unit tangents at the endpoints of the blending geodesic.
Figure 4. Overhauser style blending of two spline segments r i ( t ) and r i + 1 ( t ) sharing two control points p i and p i + 1 . (a) Blending Curve 1 defined by r i ( t ) and Curve 2 defined by r i + 1 ( t ) . (b) Zoom in for continuity analysis. r ˙ i ( t ) and r ˙ i + 1 ( t ) are the velocities, and u i and u i + 1 are the unit tangents at the endpoints of the blending geodesic.
Mathematics 13 03403 g004
Figure 5. One step of the derivative calculation. Inputs are endpoint positions p 1 , p 2 , endpoint velocities v 1 , v 2 , and the derived quantities including distance d and unit direction vectors u 1 and u 2 . Outputs are the position r ( t ) and velocity v ( t ) at time t.
Figure 5. One step of the derivative calculation. Inputs are endpoint positions p 1 , p 2 , endpoint velocities v 1 , v 2 , and the derived quantities including distance d and unit direction vectors u 1 and u 2 . Outputs are the position r ( t ) and velocity v ( t ) at time t.
Mathematics 13 03403 g005
Figure 6. Translation and rotation constructed from two planar reflections. If the planes are parallel and are at distance D, then the two reflections make a translation by distance d = 2 D . If the two planes are intersecting and have angle θ , then the two reflections are equivalent to a rotation by angle 2 θ .
Figure 6. Translation and rotation constructed from two planar reflections. If the planes are parallel and are at distance D, then the two reflections make a translation by distance d = 2 D . If the two planes are intersecting and have angle θ , then the two reflections are equivalent to a rotation by angle 2 θ .
Mathematics 13 03403 g006
Figure 7. Reflection of p on a plane of the geometry corresponds to a reflection on a hyperplane of normal n in the embedding space (shown in a lower-dimensional example, where the plane is a point, and the hyperplane of the embedding space is a line).
Figure 7. Reflection of p on a plane of the geometry corresponds to a reflection on a hyperplane of normal n in the embedding space (shown in a lower-dimensional example, where the plane is a point, and the hyperplane of the embedding space is a line).
Mathematics 13 03403 g007
Figure 8. Translation of p to p using two reflections, first on the hyperplane of normal n ( 1 ) to get p and then on the hyperplane of normal n ( 2 ) to obtain p . The first reflection does not affect geometry origin g , but the second takes it to q .
Figure 8. Translation of p to p using two reflections, first on the hyperplane of normal n ( 1 ) to get p and then on the hyperplane of normal n ( 2 ) to obtain p . The first reflection does not affect geometry origin g , but the second takes it to q .
Mathematics 13 03403 g008
Figure 9. Rotation constructed as a double reflection, first reflecting p on the hyperplane of normal n ( 1 ) to get p , and then reflecting p on the hyperplane of normal n ( 2 ) to obtain p (top view). As geometry origin g is in both reflection hyperplanes, it is a fixed point of the transformation.
Figure 9. Rotation constructed as a double reflection, first reflecting p on the hyperplane of normal n ( 1 ) to get p , and then reflecting p on the hyperplane of normal n ( 2 ) to obtain p (top view). As geometry origin g is in both reflection hyperplanes, it is a fixed point of the transformation.
Mathematics 13 03403 g009
Figure 10. Canonical camera setup: The eye is in geometry origin g , the right direction is i , the up direction is j , and the viewing direction is k , where the negative sign ensures that the frame is right-handed. The start of the ray is the eye. The current pixel determines the initial direction vector v of the ray that contains the potentially visible points r .
Figure 10. Canonical camera setup: The eye is in geometry origin g , the right direction is i , the up direction is j , and the viewing direction is k , where the negative sign ensures that the frame is right-handed. The start of the ray is the eye. The current pixel determines the initial direction vector v of the ray that contains the potentially visible points r .
Mathematics 13 03403 g010
Figure 11. Our spline with yellow color in Euclidean (top), elliptic (middle), and hyperbolic (bottom) geometries. Left: central projection (Klein’s model). Right: stereographic projection (Poincaré’s model). Cyan line segments indicate tangents. Red squares are the control points.
Figure 11. Our spline with yellow color in Euclidean (top), elliptic (middle), and hyperbolic (bottom) geometries. Left: central projection (Klein’s model). Right: stereographic projection (Poincaré’s model). Cyan line segments indicate tangents. Red squares are the control points.
Mathematics 13 03403 g011
Figure 12. The effect of tension parameter γ on the spline rendered with central projection (Klein’s model). Green, cyan, and yellow splines correspond to γ = 0.5 , γ = 1 , and γ = 1.5 , respectively. (a) Euclidean. (b) Elliptic. (c) Hyperbolic.
Figure 12. The effect of tension parameter γ on the spline rendered with central projection (Klein’s model). Green, cyan, and yellow splines correspond to γ = 0.5 , γ = 1 , and γ = 1.5 , respectively. (a) Euclidean. (b) Elliptic. (c) Hyperbolic.
Mathematics 13 03403 g012
Figure 13. The effect of bias parameter β on the spline rendered with central projection (Klein’s model). Green, cyan, and yellow splines correspond to β = 0.5 , β = 1 , and β = 2 , respectively. (a) Euclidean. (b) Elliptic. (c) Hyperbolic.
Figure 13. The effect of bias parameter β on the spline rendered with central projection (Klein’s model). Green, cyan, and yellow splines correspond to β = 0.5 , β = 1 , and β = 2 , respectively. (a) Euclidean. (b) Elliptic. (c) Hyperbolic.
Mathematics 13 03403 g013
Figure 14. Comparison of our proposed spline (cyan) to SQUAD (green) and to the application of the de Casteljau’s method (yellow) to define curves on the spherical surface. (a) Central projection. (b) Stereographic projection.
Figure 14. Comparison of our proposed spline (cyan) to SQUAD (green) and to the application of the de Casteljau’s method (yellow) to define curves on the spherical surface. (a) Central projection. (b) Stereographic projection.
Mathematics 13 03403 g014
Figure 15. Spline curve depicting the contour of a dolphin in the three model geometries of the columns. Rows correspond to different tension γ and bias β settings.
Figure 15. Spline curve depicting the contour of a dolphin in the three model geometries of the columns. Rows correspond to different tension γ and bias β settings.
Mathematics 13 03403 g015
Figure 16. Extruded surfaces.
Figure 16. Extruded surfaces.
Mathematics 13 03403 g016
Figure 17. Rotated surfaces. The profile curves are originally close to the geometry origin, where they are rotated and then translated their final position.
Figure 17. Rotated surfaces. The profile curves are originally close to the geometry origin, where they are rotated and then translated their final position.
Mathematics 13 03403 g017
Table 1. Notations used in this paper.
Table 1. Notations used in this paper.
NotationInterpretation
i , j , k , l Basis vectors in the 4D embedding space
p , q , r , v Points or vectors in the 4D embedding space
n Normal vector of a hyperplane in 4D
e Eye position in 4D embedding space
g Geometry origin: ( 0 , 0 , 0 , 1 )
p x , p y , p z , p w Coordinates of p
n x y z 3D vector formed by the first three coordinates of 4D vector n
q x y z 0 4D vector where the w coordinate is replaced by zero
L 1 for Euclidean and elliptic geometries and 1 for hyperbolic
a , b 4D Euclidean or Lorentzian dot product depending on L
a x y z · b x y z 3D Euclidean dot product
a x y z × b x y z 3D cross product
S ( α ) sin ( α ) or sinh ( α ) depending on L
C ( α ) cos ( α ) or cosh ( α ) depending on L
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Szirmay-Kalos, L.; Fridvalszky, A.; Szécsi, L.; Vaitkus, M. Parametric Surfaces for Elliptic and Hyperbolic Geometries. Mathematics 2025, 13, 3403. https://doi.org/10.3390/math13213403

AMA Style

Szirmay-Kalos L, Fridvalszky A, Szécsi L, Vaitkus M. Parametric Surfaces for Elliptic and Hyperbolic Geometries. Mathematics. 2025; 13(21):3403. https://doi.org/10.3390/math13213403

Chicago/Turabian Style

Szirmay-Kalos, László, András Fridvalszky, László Szécsi, and Márton Vaitkus. 2025. "Parametric Surfaces for Elliptic and Hyperbolic Geometries" Mathematics 13, no. 21: 3403. https://doi.org/10.3390/math13213403

APA Style

Szirmay-Kalos, L., Fridvalszky, A., Szécsi, L., & Vaitkus, M. (2025). Parametric Surfaces for Elliptic and Hyperbolic Geometries. Mathematics, 13(21), 3403. https://doi.org/10.3390/math13213403

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop