1. Introduction
The introduction of Bezier curves and surfaces representation was a significant breakthrough of Computer Aided Geometric Design (CAGD), which was later extended to B-spline representation [
1,
2]. Eventually, B-splines and NURBS became the de facto standard for computer graphics packages, computer-aided design (CAD), and computer-aided manufacturing (CAM) [
3]. The complex form of curvature of these curves, which are not suitable for direct manufacturing, led to the introduction of a variety of efficient fairing algorithms to reduce the oscillation in the curvature profile of these curves [
4,
5,
6]. However, Cornu spirals, or clothoids, are members of spiral curves that have monotonic curvature profiles by nature [
7,
8,
9].
The Log Aesthetic Curve (LAC) is a type of curve that possesses a monotonic curvature profile, hence suiting the aesthetic design environment. The research on LACs has been active since Miura [
10] introduced a linear Logarithmic Curvature Graph (LCG) as its fundamental equation. The LAC equation can be used to represent various spirals, e.g., clothoid, logarithmic spiral, circle involute, and Nielsen’s spiral. LCG can also be used as a shape interrogation tool to investigate the characteristics of arbitrary curves [
11]. Yoshida and Saito [
12] developed a method of drawing and controlling LACs alternatively using a bisection method; hence, it can be shaped using control points, similar to Bezier curves. Moreover, Yoshida et al. [
13] also introduced an algorithm to interactively control the Log Aesthetic Space Curve (LASC), which has a linear LCG as well as a linear Logarithmic Torsion Graph (LTG).
There are numerous works on developing surfaces using the LAC. In 2012, Ziatdinov [
14] implemented the generalized version of LAC as a profile curve to generate a surface of revolution called a superspiraloid. Inoue et al. [
15] developed an algorithm that used the LAC as a profile curve to generate a log aesthetic curved surface using the virtual reality (VR) technique. Furthermore, the LAC has also been used to design bi-cubic B-spline surfaces [
16]. The fundamental equation of the LAC can also be used as a digital filter to smooth any arbitrary surfaces [
17]. The latest work is to investigate the characteristics of LoCs for Log Aesthetic (LA) surfaces of revolution and LA swept surfaces on GPU [
18].
Surface modeling is a basic mathematical method for forming surfaces in CAD applications. The NURBS surface is the de facto surface for the CAD environment and is built on the basis of control points, knots, degrees, and weights [
19]. Designers can interactively draw NURBS surfaces by controlling these variables. Meanwhile, the Coons surface patch is a parametric surface consisting of four boundary curves, which are connected like a closed fence [
20]. This surface has been widely used, as it interpolates four boundary curves. The advantage of Coons patch is that designers require only four boundary curves to design a surface rather than controlling each control point or weight to draw the desired surface; hence, it has widely been used for patching holes. Examples of works include the implementation of the Coons patch for image interpolation [
21] and automotive design [
22].
A ship hull must be a smooth streamlined surface that satisfies hydrodynamic properties such as pressure and frictional and wave resistances [
23]. Hence, designing a ship hull that involves bending thick plates is one of the top priorities in shipbuilding. Fukano et al. [
24] proposed a point-based shape monitoring method for bent plates of a large storage tank. The plates used to construct the storage tank are similar to those used in the shipbuilding industry and are very thick and difficult to bend. Note that a typical ship hull is built of 200–300 thick, doubly curved plates that are more than 1 cm thick [
25]. Fukano et al.’s [
24] method is time-consuming, as the process requires laser scanning to extract the desired points on the plate, identifying the differences, plate bending, and repeating the process until the desired shape is formed. To fabricate each doubly curved plate, the engineers are required to bend each planar plate along the lines of curvature (LoC) using the cold and hot bending techniques. Cold bending is performed by pressing along the LoC with a smaller curvature magnitude, which causes the plate to bend along the LoC with a larger curvature magnitude [
25]. Then, hot bending is applied by implementing local heat treatment along the LoC with a larger curvature magnitude on the plate, causing the plate to bend along the LoC with a smaller curvature magnitude. In other words, the plates used in shipbuilding can be formed by applying these two processes.
An LoC is a curve on a surface whose tangent is in the principal direction. A principal direction is a tangent direction that has either a maximum or a minimum surface of the normal curvature. Takezawa et al. [
26] proposed a method of using LoCs to shape the doubly curved plates used in shipbuilding. In 2014, Joo et al. [
25] proposed an algorithm for computing LoCs on parametric surfaces as well as to derive its curvature and torsion. They further showed that these LoCs may aid in designing ship hulls. The authors also provided an algorithm for using geodesic curvature to develop a surface using LoCs by projecting them onto a plane, as shown in
Section 3.1. In 2019, Takezawa et al. [
23] proposed an interactive method to control LoCs on a doubly curved surface. They smoothed the experiment surfaces by implementing smoothed directions on the LoCs instead of using true principal directions. Recently, Takezawa et al. [
27] proposed a fabrication method for unfolding generalized principal patches to design carbon fiber reinforced plastic automobile parts and marine propeller blades.
In 2021, Gobithaasan et al. [
18] applied LACs to draw LA surfaces of revolution and LA swept surfaces, and the LoCs of these surfaces are indeed the LAC itself. This motivated us to design free-from surfaces by applying LACs or LASCs as boundary curves for the Coons patch. In this paper, we use LACs or LASCs to form a Coons-like patch, denoted as the Log Aesthetic Patch, or LAP in short. Next, we approximated the hyperbolic paraboloid using the LAP and analyzed the characteristics of LoCs on the resulting LAP. Finally, we employed an algorithm to project the LAP onto a plane for the fabrication mimicking the shipbuilding process.
The rest of the paper is arranged as follows.
Section 2,
Section 3 and
Section 4 describe the literature review of this work;
Section 2 introduces the LAC and LASC;
Section 3 reviews the differential geometry of the surface and the development of the surface onto a plane; and
Section 4 describes the fundamental equation of the Coons patch.
Section 5 describes the development of the LAP and presents a numerical example with the development of a surface by mapping onto a plane before finally elaborating on the conclusion.
2. LAC and LASC
This section describes the general equations of the LAC and LASC.
Equation (1) represents the LCG as a linear function, where
is the slope of LCG,
is the arc length of the curve,
is the radius of curvature, and
is a constant [
12]. Equation (2) represents the LTG function, where
is the slope of LTG,
is the arc length of a curve,
is the radius of torsion and
is a constant [
13]. If we differentiate and simplify Equations (1) and (2), we obtain:
where
and
are shape parameters. Integrating Equations (3) and (4) yields:
where
is the initial radius of curvature and
is the initial radius of torsion. It is important to note that Yoshida et al. [
13] set
. Hence, the curvature and torsion of a curve are shown below:
We can substitute Equation (3) to
, where
is the tangential angle [
12], to obtain:
Integrating Equation (9) yields:
Let
be an arc length of the parameterized space curve;
is the unit tangent vector,
is the unit normal vector, and
is the unit binormal vector. The Frenet–Serret formulas in terms of arc length parameterized can be represented as follows:
Assume that
; the Frenet–Serret formula in terms of the parameter
is defined as [
28]:
The LASC is a curve in three-dimensional space that can be drawn by applying curvature (Equation (7)) and torsion (Equation (8)) to Equation (11). Since the LAC is a curve in two-dimensional space, we can draw this curve by applying curvature (Equation (7)) and assigning torsion,
, in Equation (11). The details on how the LAC and LASC can be drawn and controlled interactively are fully discussed in [
12,
13].
3. Lines of Curvature
Let a parametric surface
; the first and second fundamental equation of the surface are [
25,
29]:
where
,
,
,
,
,
,
,
, and
. Equations (15)–(17) represent the Gaussian curvature, mean curvature, and principle curvature, respectively.
By solving the following initial value problems numerically, the LoC on a surface can be computed as [
25]:
where the non-zero factor (
and
) can be obtained by normalizing the first fundamental equation, as shown below:
The sign of
can be determined from Equation (20) [
29]. LoCs can be generated by solving initial value problems (Equations (18) and (19)) using various types of numerical approaches, such as the Runge–Kutta method.
Let
represent a curve on a surface; the derivatives of the curve on the surface can be obtained using the chain rule as follows [
25]:
In 2014, Joo et al. [
25] proposed a novel method to compute the curvature and torsion of LoCs. Equation (24) represents the proposed method for computing
,
, and the geodesic curvature,
.
where
The curvature of the LoC can be calculated using principal curvature and geodesic curvature, as shown below:
Note that the classical method for computing geodesic curvature is given by [
25]:
where
,
,
,
,
,
, and
.
The torsion and first derivative of LoC curvature on a surface can be computed using the equation below:
where
Further details of LoCs can be obtained from [
25] and references therein.
3.1. The Projection of a Surface onto a Plane
Geodesic curvature is an important tool for developing a surface on a plane. Joo et al. [
25] proposed six steps to project a surface onto a plane as follows:
Generate two LoCs with larger curvature magnitude named
and
along the surface (refer to
Figure 1a).
Generate number of LoCs with smaller curvature magnitude (named , ), starting from and stopping at . The stopping points on are labelled as , .
Project
and
onto a plane isometrically, and represent them as
and
. Note that the starting angles of
from
are
(refer to
Figure 1b).
Transform onto a plane isometrically from the end point of with an angle of , and represent it as . The corresponding points of on are indicated as .
Compute the sum of gaps between the endpoints of and where .
Select the connection with minimum .
A curve on a surface can be projected onto a plane by applying geodesic curvature along the curve to the Frenet–Serret formula
. The plane curve is calculated using the classic Runge–Kutta method to solve the Frenet–Serret formula by assigning the torsion as 0. For an example, we used Joo et al.’s [
25] method to reconstruct the hyperbolic paraboloid onto a plane, as shown in
Figure 1.
Figure 1c is the planar hyperbolic paraboloid by [
25], while
Figure 1d is the planar hyperbolic paraboloid computed on GPU using Mathematica.
3.2. Efficient LoC Computation
This paper used CUDA programming to perform LoC calculations on GPU. Mathematica 11.0 was used to compute the performance metrics of CPU and GPU. Hence, we computed the significant error of LoCs on the hyperbolic paraboloid in CPU and GPU to validate our method. The significant error of the LoC computation is
(all the function types are “Float”). If we change all the function types to “Double”, the significant error is reduced to
. Readers are referred to [
18] for the details of LA surface’s LoC computation using GPU, where the computation time is greatly reduced.
4. Coons Patch
Assume that the four parametric curves defined in
,
,
, and
meet at four end points, where
,
,
and
. Three surfaces are defined by linear interpolation [
20]:
A bilinear Coons patch
is defined over the parameter domain containing the unit square (
u,
v) ∈ [0,1] × [0,1]:
In this paper, we defined the Log Aesthetic Patch (LAP) as a surface using Equations (28)–(31) with four parametric curves either in the form of LAC or LASC. To show its versatility, we approximated the hyperbolic paraboloid using LAP by replacing the LoCs of the hyperbolic paraboloid with LACs/LASCs. This approach is in line with Joo et al.’s [
25] idea, where they considered LoCs the boundaries of a developable surface. The first step is to replace the four connected LoCs of the hyperbolic paraboloid with LACs or LASCs, depending on the type of boundary curves we are dealing with. On the basis of these four boundary curves, an LAP surface is constructed using the Coons patch equations, as stated in (28)–(31). In the first step, we obtain four LoCs from a hyperbolic paraboloid, which are connected like a closed fence, as shown in
Figure 2.
Next, we calculated the four endpoints (the intersection of LoCs) and their maximum and minimum principal direction with their corresponding vectors. Then, LACs or LASCs were generated using two endpoints and their respective tangent vector (maximum or minimum principal direction). Using the given LAC or LASC shape parameters (
, and
), we could compute the LAC/LASC that meets the constraints using the bisection method [
12] and the modified Nelder and Mead downhill simplex method [
13]. We then scaled the LACs and converted them back to the position of the point shown in
Figure 3.
Note that the red curves are LAC and LASC segments, while the blue curves are original LoCs on the hyperbolic paraboloid. The transformed unit tangent, normal, and binormal vectors at the initial point are named , , and , respectively. The subscript indicates that the vector is in terms of arc length, and the scaling ratio of LAC/LASC is denoted as .
The Coons patch requires two general parameters to shape the surface, which are rendered in the parameter domain (
u,
v) ∈ [0,1] × [0,1]. Hence, we must reparametrize the curvature of LAC, the torsion of LASC, and the Frenet–Serret formula in terms of the arc length parameter to the general parameters
or
. Let the arc length
; then we have
, where
is total arc length. Next, by applying
into Equations (7) and (8), we obtain the curvature of the LAC and the torsion of the LASC as well as their derivatives in terms of parameter
:
The Frenet–Serret formula of the LAC/LASC in terms of parameter
is as follows:
Thus, by solving the initial value problems using the classical Runge–Kutta method, the LAC and LASC segments shown in
Figure 3 can be computed. Finally, an LAP can be drawn based on these four curves.
4.1. Numerical Example
The details of
Figure 2 are given as
,
,
,
,
,
,
,
,
,
,
, and
respectively. Hence, the above information was used to find the appropriate LAC and LASC segments to replace the original LoCs of the hyperbolic paraboloid. Note that the curves from
to
and
to
are planar curves. Hence, we replaced these two curves with LACs. On the other hand, the curves from
to
and
to
are space curves. In fact, these two curves can be originated from two disjoint surfaces. For numerical illustration, we replaced these space curves with LASCs. According to [
18], the LoCs of LA swept surfaces have the same monotonic curvature profile when the path curve and profile curve are both LACs with
. Therefore, for the LAC, we set
and the initial radius of curvature
for the entire curve finding process. For the LASC, we set
,
,
, and the initial radius of curvature
for the entire curve-finding process as well. The curvature of the LAC and the torsion of the LASC were inserted into the Frenet–Serret formula and numerically solved using the classical Runge–Kutta method. The initial value of the unit tangent, normal, and binormal vectors were set as
,
, and
, respectively, and the initial coordinate was at the origin
.
For the LAC, we set torsion
in the Frenet–Serret formula, and the curvature of the LAC can be obtained from Equation (7). Then, we used the bisection method to compute the parameter
and the arc length
. The tolerance of this method was set to
For the LASC, the curvature and torsion of the LASC can be obtained from Equations (7) and (8), respectively. The bisection method was used to compute the arc length
, and the modified Nelder and Mead downhill simplex method was used to compute the parameters
and
. The tolerance of these two methods was set to
and
, respectively. Finally, we fit the LAC segments with the shape parameter
and the arc length
, satisfying the constraints of
to
and
to
. Meanwhile, the LASC segment with parameters
,
, and arc length
satisfied the constraints of
to
and
to
. In order to simplify labels, we named the LAC or LASC from
to
as
,
to
as
,
to
as
, and
to
as
. The scaling ratios
,
,
, and
for the curves
,
,
, and
are
and
, respectively. Because the curves are scaled, their vectors must be scaled as well. During the reverse transformation, we also transformed its tangent, normal, and binormal vectors at the origin to the original position. The scaled LAC and LASC segments that met the constraints are shown in
Figure 3.
Table 1 shows the Frenet–Serret equations for each curve as well as their transformed unit tangent, normal, and binormal vectors.
Next, the general equation for the LAP is shown in
Section 4. We implement four LA equations (LACs and LASCs) into the Coons patch equations as follows:
Hence, an LAP can be drawn using Equation (46).
Figure 4a,b represents hyperbolic paraboloid and LAP, respectively.
Figure 4c shows the combination of both surfaces. The zebra map on LAP shown in
Figure 4d shows that it is a smooth surface.
4.2. LoCs on Surfaces
In this subsection, the properties of LoCs on the hyperbolic paraboloid and its approximated LAP are compared.
Figure 5 displays the LoCs on the hyperbolic paraboloid and the approximated LAP.
The green curves labeled as Y1, Y2, Y3, and Y4 and the black curves labeled as X1, X2, X3, and X4 are LoCs on the hyperbolic paraboloid, whereas the blue curves are the boundaries and the LoCs of the original surface. The orange curves labeled as L1, L2, L3, and L4 and purple curves labeled as J1, J2, J3, and J4 are the LoCs on the approximated LAP, while the red curves are the boundaries of the surface.
Even though they are visually similar, we found that the curvature profile of LoCs on LAP is different than the hyperbolic paraboloid, as shown in
Figure 6. Although the curvatures of LoCs on both surfaces were monotonically decreasing, the derivative of the curvature profile of the approximated LAP was improved from non-monotonic to monotonic. However, there was not much improvement on the torsion of LoCs, but it was apparent that all the computed LoCs on approximated LAPs were indeed LACs. We can clearly see that their LCGs approximate a line with gradient 2, illustrated with a red line in
Figure 6. This outcome is in line with the original setting, in which we used
to generate the boundary curves.
4.3. Surface Projection onto a Plane
Joo et al. [
25] mapped a surface onto a plane by implementing geodesic curvature along the LoC as the curvature of the curve on the plane. Since the boundary curve of the approximated LAP is not the LoC of the surface, the geodesic curvature of the boundary curve must be computed. The geodesic curvature of the boundary curve can be calculated using the fact that
or
. By applying
(for curves
and
) or
(for curves
and
) into Equation (26), the geodesic curvature equation of the boundary curves are shown below:
At
, the geodesic curvature of curve
can be computed by applying
, while
is used for curve
. The geodesic curvature of curve
can be calculated by setting
, while
is used for curve
at
. Contrarily, the geodesic curvature of the LoC can be computed using Equation (24). By solving the Frenet–Serret formula,
(where
,
and
), the LoC can be mapped onto a plane [
25].
The following Algorithm 1 is the algorithm for mapping an LAP onto a plane.
Algorithm 1: Mapping LAP onto a plane for fabrication |
INPUT: 1, G1 data: Endpoints of boundary curves (, , , ) and its tangent direction (, , , , , , , and ),
2, LAC and LASC shape parameters: ;
3. (by default) Begin
- Step 1
Compute the boundary curves from the given G1 data: If the LoC between two endpoints is a planar curve, the shape parameter and the arc length of the LAC must be computed. The bisection method is used to compute shape parameter and arc length of LAC as presented by Yoshida and Saito [ 12]. Then, scale and transform the generated LAC to the original position. If the LoC between two endpoints is a space curve, shape parameter , , and arc length of LASC must be computed. The bisection method and the modified Nelder and Meaddownhill simplex method are used to compute the shape parameter , , and arc length of hteLASC, as demonstrated by Yoshida et al. [ 13]. Finally, scale and transform the generated LASC to the original position. - Step 2
On the basis of the four generated LAC/LASCs boundaries, an LAP can be generated using Equation (31). - Step 3
Compute the two LoCs, denoted as and , and the boundary curves, denoted as , as shown in Figure 1a. Then, compute the intersection point’s position of LoCs and the boundary curve. - Step 4
Generate number of LoCs orthogonal to and (denoted as , ) that start from and stop at , as shown in Figure 1b. The stopping points on are denoted as , .
- Step 5
Compute the geodesic curvature along the LoCs and boundary curves.
- Step 6
Draw the boundary curve onto a plane isometrically using its geodesic curvature, which is denoted as (refer to Figure 7a).
- Step 7
and are developed onto a plane isometrically (denoted as and as shown in Figure 7a) from a specific point on the boundary curve . Note that the starting angles of and from are .
- Step 8
On the basis of the geodesic curvature of and their stopping points , 2D LoCs and their stopping points are computed starting from specific points on . Then, join the stopping points to form a curve .
- Step 9
Develop the second 3D boundary curve ( Figure 7c) onto a plane isometrically from a specific point on curve and denote it as ( Figure 7a). Note that the starting angle of from is . The length of depends on the length of , starting at a point on and stopping at a point on .
- Step 10
Repeat steps 4 to 9 until all the desired curves are projected onto a plane.
- Step 11
Cut along the line and stick the boundaries together to create the desired LAP surface.
|
A simple overview of the planar curves generated by the algorithm for the approximated LAP of the hyperbolic paraboloid is shown in
Figure 7.
Figure 7c also shows the visualization of LoCs (purple) and boundary curves (red). The LAP surface is fabricated using paper by cutting and pasting the boundaries of the plane surface, as shown in
Figure 7d. Finally,
Figure 7e shows a close-up of the LoC,
, which is twisted and uniformly curves along the line. The complete implementation of the CUDA coding in Mathematica for this paper is readily available on GitHub [
30].
Figure 7.
An example of the fabrication process of approximated hyperbolic paraboloid using LAP: (a) development of LoCs onto a plane; (b) development of LAP with gaps; (c) approximated LAP with LoCs (purple) and boundary curves (red); (d) fabricated surface using a paper; (e) close-up view of the LoC J3.
Figure 7.
An example of the fabrication process of approximated hyperbolic paraboloid using LAP: (a) development of LoCs onto a plane; (b) development of LAP with gaps; (c) approximated LAP with LoCs (purple) and boundary curves (red); (d) fabricated surface using a paper; (e) close-up view of the LoC J3.