An object with complete boundary or silhouette is essential in various design and computer graphics feats. Due to various reasons, some parts of the object can be missing hence increasing the complexity in designing process. It is therefore important to reconstruct the missing parts of an object while retaining its aesthetic appearance. In this paper, we propose Log-Aestheic Curves (LAC) for shape completion problem. We propose an algorithm to construct LAC segment and subsequently fit into the gap of the missing parts with C-shape or S-shape. For C-shape completion, we define LAC segment by specifying two endpoints and their respective tangent directions between the gaps while, for S-shape, the user defines an inflection point in between the endpoints. The final section illustrates three examples to showcase the efficiency of the proposed algorithm. The results are further compared with Kimia’s method to prove that the algorithm produces equally good result. Additionally, the proposed algorithm provides an extra degree of freedom in which the user would be able to choose the type of spiral that they desire to solve the shape completion problem.
In a design environment, there are situations in which the outlines of an object are missing or occluded. These scenarios are commonly known as shape completion, gap completion, or curve completion problem. It is important to recomplete the shape of the missing object while retaining its aesthetic appearance since a complete object can be used further for applications in modeling, mesh analysis, and computer-aided design as well as manufacturing purposes. The complete boundary or silhouette provides geometrical information of a model which is significant in engineering analysis and manufacturing process. In order to reconstruct the missing boundaries of an object, the associated curve segment must satisfy the boundary conditions so that the curve passes through the endpoints with specified tangent direction. To date, there are numbers of algorithms available for shape completion problem (see the works of [
A notable work which received much attention is by Kimia et al. [
Log-Aesthetic Curves (LAC) are curves where the logarithmic curvature graph (LCG) can be represented by a straight line. The idea of LCG was formulated by Harada et al. (1999) when they attempted to classify all the curves used in automobile design. It was first known as logarithmic distribution diagram of curvature (LDDC). It is a graph to measure the relationship between curvature radius (denoted by
Euler spiral defined
Two segments of Euler spiral
Its corresponding logarithmic curvature graph
In 2005, Miura et al. [
LAC has become a promising curve in graphic and industrial design due to its monotonic curvature property. There are two shape parameters of LAC denoted by
In 2011, Gobithaasan and Miura [
In 2012, Ziatdinov et al. [
In this paper, we introduce the implementation of
The rest of this paper is organized as follows. First, the formulation of LAC is reviewed followed by a detailed explanation on the LAC algorithm for solving the shape completion problem. In Section
In this section, we show the parametric expression of LAC and the algorithm used to obtain the solution for shape completion problem with various
There are two shape parameters used to define LAC segment:
Equation (
The configuration of triangle consists of three control points for case
Original position of control points
Position of control points after transformation
The configuration of triangle consists of three control points for case
Original position of control points
Position of control points after transformation
The process involves breaking the S-curve into two C-curves so the first piece of curve is constructed between starting point (black) and inflection point (gray), while the second piece is between inflection point (gray) and endpoint (black). Figure
The input for S-shape completion problem.
Algorithm
obtained either from three point circular arc approximation around the endpoints or the user defines it. Let coordinate of a point.
else If
If
else
else if else
iteration number
To automate the process of defining the tangents at the endpoints, we may use circular arc approximation (osculating circle) that best fits the endpoints and points surrounding them in order to determine the tangent angle at both endpoints. Since it is an osculating circle, we substitute the points into the equation of circle. Then, we identify the center (
Once the unit tangent vector at endpoints is identified, we determine the coordinate of the second control point
We assume the distance between
The transformation process includes translation, rotation, and reflection of the original triangle that consist of
We apply the law of cosine of a triangle to calculate corresponding angles as shown in Figures
For the case when
We determine the
We calculate the scaling factor by using the formula as shown in the algorithm where
In order to obtain the curve which is defined in the original triangle, we inversely transform the triangle to its original position. The curve segment is constructed using (
This section shows the input data and numerical and graphical results of implementing the algorithm presented in Section
Figure
The results of fitting Euler spiral and LAC segment for two missing parts of a jug.
Euler spiral algorithm
LAC algorithm with two tangents setting for s-shaped curve and
LAC algorithm with two tangents setting for s-shaped curve and
The results of fitting Euler spiral and LAC segment for an artifact.
Euler spiral algorithm
LAC algorithm when
LAC algorithm when
The results of fitting Euler spiral and LAC segment to a vase.
Euler spiral algorithm
Three types of tangents at the inflection points and
Tangents setting as in 7(b) and
Tangents setting as in 7(b) and
The input data and the obtained parameter values to render LAC segment for C-shaped and S-shaped gaps are shown in Tables
The input data for LAC algorithm.
Figure | Part/gap shape | Starting point | Inflection point | Terminating point |
---|---|---|---|---|
|
|
| ||
Figure |
Outer C | (475.33, 290.67) | — | (408, 512) |
Inner C | (444, 319.3) | — | (406.7, 490.7) | |
S | (68.67, 198) | (115.139, 317.874) | (132, 445.33) | |
|
||||
Figure |
Left C | (150.4, 320.8) | — | (123.2, 589.6) |
Right C | (853, 307) | — | (824, 583) | |
|
||||
Figure |
C | (504, 126) | — | (176, 120) |
Right S | (576.67, 379.33) | (501.722, 483.092) | (445.33, 598) | |
Left S | (215.33, 599.33) | (166.565, 481.2) | (94, 376) |
The value of parameters obtained in LAC algorithm for C-shaped gap.
Figure | Part | Shape parameter | Angles (radian) | Scale factor | |
---|---|---|---|---|---|
|
|
|
| ||
Figure |
Outer C | 0.181102 | 1.97352 | 1.09383 | 106.443 |
Inner C | 0.187822 | 2.50305 | 1.53612 | 57.7559 | |
|
|||||
Figure |
Outer C | 0.236827 | 1.97352 | 0.879684 | 179.903 |
Inner C | 0.307163 | 2.50305 | 0.966927 | 144.024 | |
|
|||||
Figure |
Left C | 0.319685 | 1.55147 | 1.00107 | 105.562 |
Right C | 0.204861 | 2.35562 | 1.47579 | 89.6424 | |
|
|||||
Figure |
Left C | 0.53364 | 1.55147 | 1.00107 | 90.2434 |
Right C | 0.610563 | 2.35562 | 1.47579 | 65.4159 | |
|
|||||
Figure |
— | 0.140054 | 1.1637 | 0.601359 | 271.762 |
|
|||||
Figure |
— | 0.169061 | 1.1637 | 0.601359 | 270.036 |
The value of parameters obtained in LAC algorithm for S-shaped gap.
Figure | Part | Line style | Shape parameter | Angles (radian) | Scale factor | ||
---|---|---|---|---|---|---|---|
|
|
|
| ||||
Figure |
— | Piece 1 | Thick | 0.646746 | 0.739623 | 0.451367 | 107.501 |
Dashed | 1.13587 | 0.43963 | 0.288258 | 152.739 | |||
Piece 2 | Thick | 0.140372 | 1.32647 | 0.689653 | 93.5698 | ||
Dashed | 0.473033 | 1.02648 | 0.63682 | 76.6964 | |||
|
|||||||
Figure |
— | Piece 1 | Thick | 2.19523 | 0.43963 | 0.151372 | 568.396 |
Dashed | 1.07216 | 0.739623 | 0.288256 | 293.721 | |||
Piece 2 | Thick | 0.811123 | 1.02648 | 0.389659 | 222.587 | ||
Dashed | 0.156681 | 1.32647 | 0.63682 | 116.479 | |||
|
|||||||
Figure |
Right S | Piece 1 | Thick | 0.0000429688 | 0.571501 | 0.285752 | 227.044 |
Dashed | 0.698712 | 0.871501 | 0.585746 | 39.271 | |||
Dotted | 2.45758 | 0.371528 | 0.285746 | 23.657 | |||
Piece 2 | Thick | 0.0118778 | 0.908437 | 0.455056 | 145.074 | ||
Dashed | 0.403597 | 1.20905 | 0.755673 | 65.1694 | |||
Dotted | 0.700923 | 0.707704 | 0.45338 | 100.657 | |||
|
|||||||
Figure |
Right S | Piece 1 | Thick | 2.53147 | 0.871501 | 0.585746 | 41.1231 |
Dashed | 0.0000429592 | 0.571501 | 0.285752 | 227.044 | |||
Dotted | 10.7779 | 0.371528 | 0.285746 | 25.7032 | |||
Piece 2 | Thick | 1.2606 | 1.20905 | 0.755673 | 47.4646 | ||
Dashed | 0.0120078 | 0.908437 | 0.455056 | 145.071 | |||
Dotted | 2.48785 | 0.707704 | 0.45338 | 67.3212 | |||
|
|||||||
Figure |
Left S | Piece 1 | Thick | 0.188412 | 0.981157 | 0.509674 | 121.657 |
Dashed | 0.603719 | 0.781142 | 0.471473 | 103.99 | |||
Dotted | 0.361402 | 1.38114 | 0.909666 | 52.4523 | |||
Piece 2 | Thick | 0.0000462514 | 0.594672 | 0.297337 | 218.104 | ||
Dashed | 0.884532 | 0.394671 | 0.297335 | 35.514 | |||
Dotted | 0.564167 | 0.994666 | 0.697331 | 27.5123 | |||
|
|||||||
Figure |
Left S | Piece 1 | Thick | 1.61781 | 0.781142 | 0.471473 | 83.3887 |
Dashed | 0.234412 | 0.981157 | 0.509674 | 120.616 | |||
Dotted | 1.42816 | 1.38114 | 0.909666 | 31.5215 | |||
Piece 2 | Thick | 9.26646 | 0.394671 | 0.297335 | 31.4849 | ||
Dashed | 0.0000462423 | 0.594672 | 0.297337 | 218.104 | |||
Dotted | 2.66752 | 0.994666 | 0.697331 | 26.6104 |
We implemented LAC algorithm with various
Based on the comparison of graphical results in Figures
A LAC segment can be constructed by specifying the endpoints and their tangent directions. LAC is a family of aesthetic curves where their curvature changes monotonically. It comprises Euler spiral, logarithmic spiral, Nielsen spiral, and circle involute with different
The authors declare that there is no conflict of interests regarding the publication of this paper.
The authors acknowledge Universiti Malaysia Terengganu (GGP grant) and Ministry of Higher Education Malaysia (FRGS: 59265) for providing financial aid to carry out this research. They further acknowledge anonymous referees for their constructive comments which improved the readability of this paper.