Elsevier

Computers & Graphics

Volume 82, August 2019, Pages 243-249
Computers & Graphics

Special Section on SMI 2019
Multiscale NURBS curves on the sphere and ellipsoid

https://doi.org/10.1016/j.cag.2019.05.029Get rights and content

Highlights

  • A framework for the multiscale representation of NURBS curves is presented.

  • Our multiscale NURBS can exist on the surface of a sphere or an ellipsoid.

  • Spherical NURBS curves can be subdivided.

  • Spherical NURBS curves can be reverse subdivided and losslessly reconstructed.

Abstract

In this paper, we introduce a framework that allows NURBS subdivision curves to be defined on the sphere and ellipsoid in a multiscale manner. This is achieved via modification of a repeated invertible averaging (RIA) framework for spherical B-Spline curves, which is constructed in terms of spherical linear interpolations. By incorporating vertex weights into the interpolation parameters of individual operations, and by generalizing the linear interpolations to other manifolds, we can define multiscale NURBS on several types of surfaces. We explore an application to the multiscale representation of geospatial vector data and present an optimization method that automatically assigns NURBS vertex weights to curve vertices.

Introduction

When it comes to curve design, freeform curves such as Bezier, B-Spline, and NURBS curves are well-understood and widely utilized. NURBS curves are particularly notable; through the use of vertex weights, they feature improved control over other types of curves and the ability to represent conic sections exactly. As a result, NURBS curves have become ubiquitous in CAD/CAM as well as in numerous industry standards [1].

The popularity of each type of freeform curve has naturally inspired a variety of works that generalize these curves to other spaces. The surface of a sphere has been an especially prominent target for such generalizations, as curves on the sphere have several applications in geospatial vector representation [2], the creation of rotation splines for key-frame animation [3], and the generation of tool paths for five-axis machining [4]. The mathematical elegance of the sphere itself has additionally provided fertile ground for various artistic endeavours, such as the creation of Islamic star patterns and Persian floral patterns (see, e.g., [5], [6]).

However, many such works are unable to represent their spherical curves in a multiscale manner (for the purposes of, e.g., editing, data transmission, or level-of-detail rendering). In order to address this, the work of Alderson et al. [2] proposed a methodology by which B-Spline curves on the surface of a sphere could be represented in a multiscale manner. The method, which we refer to as repeated invertible averaging (RIA), is based on a modified version of the Lane-Riesenfeld algorithm [7] and uses a sequence of SLERP (spherical linear interpolation; see [8]) operations to perform its calculations. Via replacement of SLERP with an analogous interpolation method defined along geodesic lines (say, Interp(p, q, u)), the method can be easily generalized to other manifold surfaces.

In order to bring the same freedom of representation to spherical NURBS curves, we introduce a modification to RIA that allows it to represent NURBS curves at multiple scales on the surface of the sphere (and any other manifold supported by RIA). In essence, this modification converts the interpolation parameter u into a function of the NURBS vertex weights, based on the observed effect of the geometric interpretation of NURBS curves (see [1]) on individual interpolation operations. We demonstrate use of the modified framework in the creation of subdivided and reverse subdivided spherical NURBS curves, and explore an application of this framework to representing geospatial vector data. We additionally utilize an implementation of the algorithms described in [9] to create multiscale NURBS curves on ellipsoids of revolution.

The paper is organized as follows. In Section 2, we review a selection of related works. Sections 3 and 4, respectively, provide overviews of the RIA framework and the geometric interpretation of NURBS curves. Our modification to the framework is described in Section 5, followed by a discussion on geospatial vector representation in Section 6. Results may be found in Section 7 and conclusions in Section 8.

Section snippets

Related work

Shoemake’s influential work [3] performed the first generalization of Bezier curves to the surface of a sphere, for the purposes of creating rotation curves for smooth animations. This was achieved by utilizing SLERP in place of linear interpolations within the well-known de Casteljau algorithm.

An alternative approach was proposed by Buss and Fillmore in [10], where spherical weighted averages were formulated as least squares minimization problems rather than as sequences of SLERP operations.

Review of RIA

The repeated invertible averaging, or RIA, framework is a framework for the multiscale representation of a class of curves (B-Splines included1) in Euclidean and various non-Euclidean spaces. All aspects of the multiresolution transformations – such as subdivision and reverse subdivision – are defined

Review of NURBS

NURBS curves can be defined and understood in terms of a geometric interpretation we refer to as the “lift-project” approach. Given points p=[p0,p1,,pn1]T, piR3, with corresponding weights w=[w0,w1,,wn1]T, wi > 0, a NURBS curve of order k is defined parametrically as follows:R(u)=i=0n1Ni,k(u)·wi·pii=0n1Ni,k(u)·wi,where Ni,k(u) is the ith B-Spline basis function of order k.

Multiplication of pi by wi lifts the point pi out of affine space (the space of valid points) into projective

RIA for NURBS

As its construction in terms of Interp operations (such as SLERP) is the key aspect of RIA that allows it to be generalized to the sphere and other manifolds, it is essential that the points p not be lifted outside of the space in which Interp is defined (e.g. the surface of the sphere). Therefore, the effects of the lift-project method must be somehow incorporated into individual Interp operations.

This can be achieved by incorporating the vertex weights wi into the interpolation parameter u of

Weights for geospatial vectors

One of the primary motivations behind RIA and this work lies in the multiscale representation of geospatial vector data. As geospatial sensors continue to improve, geospatial vector data are gathered at increasingly high resolutions, necessitating the development of methods to deal with their incredible size [18].

Multiresolution frameworks allow such big data to be decomposed into a coarse approximation, along with details needed to losslessly restore the original data. Potential applications

Results

In this section, we present some result figures generated using the modified RIA framework. Fig. 6, Fig. 7, Fig. 8 were created using a degree 3 subdivision, via the primal scheme using smoothing weights S={12}. Three applications of this subdivision were used to produce the high resolution version of each curve. Reverse schemes use the improved I^P described at the end of Section 3.

Fig. 6 illustrates an example of multiscale editing on a spherical NURBS curve. The letter ‘S’ has been modeled

Conclusions

In this work, we have presented a modified repeated invertible averaging framework that allows one to subdivide or reverse subdivide the control points of a spherical or ellipsoidal NURBS curve. Using an appropriate interpolation method, this framework can be utilized in other spaces and on other manifolds. Our modification circumvents issues with the lift-project method by incorporating its effect directly into the weight parameter of the chosen interpolation method. We have also provided a

Declaration of interests

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

The authors declare the following financial interests/personal relationships which may be considered as potential competing interests:

Acknowledgments

Funding for this research was provided by an NSERC CRD with our industrial collaborator, Global Grid Systems (formerly the PYXIS innovation).

References (19)

  • T.F. Alderson et al.

    Multiresolution on spherical curves

    Gr Model

    (2016)
  • R.H. Bartels et al.

    Reversing subdivision rules: Local linear conditions and observations on inner products

    J Comput Appl Math

    (2000)
  • Karney C. GeographicLib. 2019. [Online; accessed 08-March-2019]...
  • L. Piegl

    On NURBS: A survey

    IEEE Comput Gr Appl

    (1991)
  • K. Shoemake

    Animating rotation with quaternion curves

    Proceedings of SIGGRAPH 1985

    (1985)
  • HuangK.-T. et al.

    Generation of spherical non-uniform rational basis spline curves and its application in five-axis machining

    Proc Inst Mech Eng B: J Eng Manuf

    (2015)
  • C.S. Kaplan et al.

    Islamic star patterns in absolute geometry

    ACM Trans Gr

    (2004)
  • N. Hamekasi et al.

    Designing Persian floral patterns using circle packing

    Proceedings of the international conference on computer graphics theory and applications

    (2012)
  • J.M. Lane et al.

    A theoretical development for the computer generation and display of piecewise polynomial surfaces

    IEEE Trans Pattern Anal Mach Intell

    (1980)
There are more references available in the full text version of this article.

Cited by (9)

View full text