Elsevier

Computer-Aided Design

Volume 140, November 2021, 103077
Computer-Aided Design

A Variational Framework for Computing Geodesic Paths on Sweep Surfaces

https://doi.org/10.1016/j.cad.2021.103077Get rights and content

Highlights

  • We propose a variational framework to compute geodesics on sweep surfaces.

  • We optimize the energy functional in a super-linear convergence rate.

  • We establish a relationship between the number of inserted points and the error.

Abstract

Sweep is a natural, intuitive, and convenient 3D modeling method in computer-aided design. Sweep surface can be obtained by extruding a 2D cross-sectional profile along a guide curve x=x(t),t[a,b]. A small segment of the sweep volume can also be understood by rotating a 2D sectorial generatrix curve around the guide curve. We assume that sweep surfaces have a parametric form Φ=Φ(t,θ), where Φ([t,t+dt],θ) defines the sectorial generatrix curve segment at the angle of θ while rt(θ)=Φ(t,θ),θ[0,2π], defines the circumferential closed curve. Geodesic computation on sweep surfaces is a fundamental geometric operation in many scenarios like the manufacturing process of filament winding. In order to compute a geodesic path between two points on sweep surfaces, we propose a variational framework that works on the 2D parametric domain, without the step of discretizing the surface into a polygonal mesh. The solution to the objective function is a polyline curve of n equally spaced vertices that approximates the real geodesic path, where n is a user-specified parameter for accuracy control. We prove that the polyline approaches the real geodesic in quadratic order. Furthermore, it can be easily extended to compute N-round geodesic helix curves. We also discuss various configurations of rt(θ): (1) rt(θ) is a constant, independent of t and θ, (2) rt(θ) depends on only t, independent of θ, and (3) rt(θ) depends on both t and θ. We validate the effectiveness and high performance of our method through extensive experimental results.

Introduction

Geodesics, as a tool to measure the distance between two points on a 2-manifold Riemannian surface, encode all the intrinsic properties of the surface, and thus have fundamental importance in digital geometry processing. Due to the nice feature that the geodesic curvature is zero everywhere, geodesics are useful in many special industrial design applications. In this paper, we consider the geodesic problem on sweep surfaces, which is a fundamental geometric operation in the manufacturing process of filament winding.

The distinguished feature of sweep surfaces Φ=Φ(t,θ) lies in that they are given by a pair of parameters and each parameter has clear geometric meaning. Particularly, t[a,b] determines a position of the guide curve x=x(t) while Φ(t,θ)|θ=θ0 gives a generatrix curve when t goes from a to b. It is computationally inefficient and inaccurate if one transforms the parametric form into a polygonal mesh and then extracts a geodesic on the discrete mesh surface. This motivates us to directly compute the geodesic on the parameter domain.

In the past research, the Runge–Kutta method [1], [2], [3], [4] is a popular choice for computing geodesic paths on a sweep surface. In its essence, it serves as a numeric method to solve the Euler–Lagrange equations. If given “one point, one direction”, it incrementally determines a sequence of points, approximating the real geodesic path. In this case, it may produce a long geodesic helical curve as long as one traces the path one point after the other. If users input two points, the Runge–Kutta method needs to solve a linear system, and thus is not easy to generate an N-round helical curve between two given points, which limits its use in the scenario of filament winding. Besides, it is hard to control the step size to achieve a guaranteed accuracy requirement. Therefore, in this paper, we propose a new variational framework to deal with the difficulties.

For a piecewise smooth curve γ(t),t[a,b], its length can be measured by L(γ(t))=abgγ(t)(γ(t)̇,γ(t)̇)dtwhere g is the metric tensor defined on the Riemannian surface and becomes identity if considered in the Euclidean space. It is proved that the minima of the following energy functional E(γ(t))=12abgγ(t)(γ(t)̇,γ(t)̇)dtcan also be used to define geodesics [5]. Furthermore, E is independent of curve parameterization, and thus guarantees existence, uniqueness, and regularity of minimizers. Here, by ‘uniqueness’, we mean that among all the possible parameterization configurations, only the arc-length parameterization (or scaled by a factor) can be the minimizer of Eq. (2). Our approach for computing geodesics on sweep surfaces is based on the interesting property.

In this paper, we first discuss the parametric form of sweep surface from a different perspective. Observing that a small segment of the sweep volume can also be understood by rotating a 2D sectorial generatrix curve around the guide curve x=x(t). We assume that sweep surfaces have a parametric form Φ=Φ(t,θ), where Φ([t,t+dt],θ) defines the sectorial generatrix curve segment at the angle of θ while rt(θ)=Φ(t,θ),θ[0,2π], defines the circumferential closed curve. The definition enables one to define x=x(t) and rt(θ) separately. We give the definition detailedly in Section 3.1. It is worth noting that our definition only applies to a special class of sweep surfaces.

Suppose that the source point and the target point are given. Initially, users can specify an arbitrary polyline as the input. By approximating the unknown geodesic path with n+2 vertices (n intermediate points are variable), we use i=0nyiyi+12 to define the objective function, which is the same with the above-mentioned energy functional defined in Eq. (2) but operates in the discrete setting. Driven by the objective function, we repeatedly evolve the path until the n points are equally spaced along the path and minimize the total length. Besides, we have to overcome three additional difficulties. First, we consider various configurations of rt(θ): (1) rt(θ) is a constant, independent of t and θ, (2) rt(θ) depends on only t, independent of θ, and (3) rt(θ) depends on both t and θ. Second, the objective function must be represented by θ and t so that the optimization can be conducted in the parameter domain. Finally, we need to compute the gradients w.r.t. θ and t, and use them to speed up the optimization. Our variational framework inherits a curve shortening technique. Therefore, it can be naturally extended to support the query of an N-round geodesic helical curve, which is much different from the Runge–Kutta method. It is worth noting that the base surface of our interest is a sweep surface, instead of a general parametric surface, since it is hard to precisely define an N-round spiral curve on a general surface. The by-product of this framework is that the yielding point sequence is equally spaced and able to accurately characterize how the real geodesic path winds along the surface, which is crucial to the motion planning in filament winding.

Our contributions include

  • 1.

    We propose a variational framework to compute geodesics on sweep surfaces. Different from the Runge–Kutta method, our method inherits the spirit of curve shortening, and is able to report a geodesic path or an N-round geodesic helical curve when users specify the two endpoints (rather than “one point, one direction”).

  • 2.

    We formulate the energy functional in the parameter domain. Furthermore, we deduce the analytic gradients for three situations of the radius function. By feeding the analytic gradients into the L-BFGS solver, our algorithm has a super-linear convergence rate.

  • 3.

    We establish a relationship between the number of intermediate points and the absolute error, which facilitates direct error control. Particularly, we observe that the absolute error decreases quadratically w.r.t. the number of inserted points.

Section snippets

Related works

There is a large body of literature on the geodesic problem. In this paper, we review only the most relevant works on computing geodesic paths. We divide them into two categories, depending on the type of the base surface, i.e., a smooth surface with an analytic form or a discrete polygonal surface.

Definition of sweep surfaces

Sweep surfaces are generally defined by moving a sectional curve along a guide path, and thus can be represented by Θ(t,s)=x(t)+λ1(s,t)f1+λ2(s,t)f2, where x=x(t) is the guide path and C(λ1(s,t)f1,λ2(s,t)f2) gives the shape of the sectional curve at the point x(t). Its geometric explanation is that the sectional curve continuously varies with the base point on the guide path.

In this paper, we understand the sweep surfaces from a different perspective. Let the parametric form be Φ(t,θ), where x=x(

Discrete setting

As mentioned above, we intend to minimize the following energy functional [5]: E(γ(t))=12abgγ(t)(γ(t)̇,γ(t)̇)dt.In the following, we discuss the formulation in the discrete setting. Let y0,y1,,yn,yn+1 be a sequence of points on the sweep surface. The first point y0 and the last point yn+1 are fixed while the other points are moveable. In fact, each point yi has a corresponding parameter pair (ti,θi). On the parameter domain, the n+2 points are connected into a 2D polyline. By mapping the 2D

Evaluation

We implemented our algorithm in Microsoft Visual C++ 2015, without using any additional numeric packages. All the experiments were conducted on a computer with Intel(R) Core(TM) i7-9700K CPU 3.60 GHz and 8 GB memory.

We list a set of experimental results to show that our algorithm can compute shortest paths on sweep surfaces with various guide curves; See Fig. 6. We shall evaluate the proposed algorithm in different indicators in next subsections.

Applications

This section presents two interesting applications of the proposed variational framework, including geodesic helix for filament winding and path evolution in animation simulation.

Conclusion

We develop a method for computing geodesic paths on sweep surfaces. Unlike the existing discrete geodesic algorithms that apply to polygonal meshes, we formulate a variational problem by taking advantage of the parametric representation of sweep surfaces. To solve the optimization efficiently, we represent the geodesic path by a polyline with n vertices, where n is a user-specified parameter for accuracy control. Instead of using total length, our energy functional is the sum of squared lengths

Declaration of Competing Interest

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.

Acknowledgments

The authors would like to thank the anonymous reviewers for their valuable comments and suggestions. This work is supported by National Natural Science Foundation of China (61772016, 62002190, 61772318, 62072284), NSF of Shandong Province, China (ZR2020MF036), and Singapore MOE grants (RG20/20 and T2EP20220-0014).

References (40)

  • KlokF.

    Two moving coordinate frames for sweeping along a 3D trajectory

    Comput Aided Geom Design

    (1986)
  • XinS.-Q. et al.

    Measuring length and girth of a tubular shape by quasi-helixes

    Comput Grap

    (2014)
  • WangY. et al.

    Linear subspace design for real-time shape deformation

    ACM Trans Graph

    (2015)
  • BeckJ.M. et al.

    Surface analysis methods

    IEEE Comput Graph Appl

    (1986)
  • SneydJ. et al.

    Computation of geodesic trajectories on tubular surfaces

    SIAM J Sci Stat Comput

    (1990)
  • Del BuonoN. et al.

    Runge-kutta type methods based on geodesics for systems of ODEs on the Stiefel manifold

    BIT Numer Math

    (2001)
  • ChenX. et al.

    Geodesic computation on NURBS surfaces for UTD analysis

    IEEE Antennas Wirel Propag Lett

    (2013)
  • BusemannH.

    The geometry of geodesics

    (2012)
  • DoC.

    MP: Differential geometry of curves and surfaces prentice hall

    (1976)
  • PanouG. et al.

    Geodesic equations and their numerical solution in cartesian coordinates on a triaxial ellipsoid

    J Geodetic Sci

    (2019)
  • Cited by (0)

    View full text