Computer-Aided Design: Mokwon Lee, Qing Fang, Youngsong Cho, Joonghyun Ryu, Ligang Liu, Deok-Soo Kim
Computer-Aided Design: Mokwon Lee, Qing Fang, Youngsong Cho, Joonghyun Ryu, Ligang Liu, Deok-Soo Kim
Computer-Aided Design
journal homepage: www.elsevier.com/locate/cad
article info a b s t r a c t
Article history: 3D printing, also called additive manufacturing, has been increasingly popular and printing efficiency
Received 16 August 2017 has become more critical. To print artifacts faster with less material, thus leading to lighter and cheaper
Accepted 16 March 2018 printed products, various types of void structures have been designed and engineered inside of shape
models. In this paper, we present a novel method for generating support-free elliptic hollowing for 3D
Keywords:
shapes which can entirely avoid additional supporting structures. To achieve this, we perform the ellipse
Additive manufacturing
hollowing in one of the cross sectional polygons and then extrude the hollowed ellipses to the other
Ellipse packing
Voronoi diagram of polygon parallel cross sections. To efficiently pack the ellipses in the polygon, we construct the Voronoi diagram
Voronoi diagram of disks of ellipses to reason the free-space around the ellipses and other geometric features by taking advantage
Printing overhang of the available algorithm for the efficient and robust construction of the Voronoi diagram of circles.
Voronoi diagram machine We demonstrate the effectiveness and feasibility of our proposed method by designing and printing
support-free hollow for various 3D shapes using Poretron, the program which computes the hollow by
embedding appropriate APIs of the Voronoi Diagram Machine library that is freely available from Voronoi
Diagram Research Center. It takes a 3D mesh model and produces an STL file which can be either fed into
a 3D printer or postprocessed.
© 2018 The Author(s). Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND
license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
https://doi.org/10.1016/j.cad.2018.03.007
0010-4485/© 2018 The Author(s). Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-
nd/4.0/).
24 M. Lee et al. / Computer-Aided Design 101 (2018) 23–36
(a) (b)
(c) (d)
(e) (f)
Fig. 3. Illustration of VDs in this study (a simple dog model). (a) The VD of a polygon P (VD(P )); (b) The VD of a disk set D within P (VD(P , D)); (c, d) The disk approximation
P̃ of P using ‘‘as uniform on-disks as possible (UniformOD)’’ method; (e, f) The disk approximation P̃ of P using ‘‘as few on-disks as possible (FewerOD)’’ method; (c, e)
The VD of the approximating disks (VD(P̃ )); (d, f) The VD of ellipses within P̃ after the V-faces belonging to a P-edge are merged (VD(P̃ , E )). (For interpretation of the
references to color in this figure legend, the reader is referred to the web version of this article.)
It is known that each Voronoi vertex v is associated with a as V-vertices and V-edges, which will be explained in detail in
maximum empty circle, called the clearance probe πv , centered Section 4. Hence, we construct the approximation VD(P̃ ) instead
at v . The radius of πv is given by the distance from v to the of VD(P ) where each P-vertex is associated with a disk called at-
boundary of its generators. The maximum clearance probe πmax is disk (the red filled-circles in Fig. 3(c) and (d)) and each P-edge
the largest clearance probe that can be defined at a Voronoi vertex is associated with more than two disks called on-disks (the blue
of VD(P , D). The blue circle in Fig. 3(b) is the maximum clearance filled-circles). In Fig. 3(d), we place an ellipse which inscribes the
probe after the five disks are inserted into the Voronoi diagram shrunken probe π̃max (instead of the maximum clearance probe
of the polygon. The smaller red circle is 70% shrunken probe π̃max πmax ) to be conservative. The shrinking ratio is given by users
which is co-circular with the blue one. We emphasize that any according to their intention to control the overall distribution of
object placed within either the maximum clearance probe or the ellipse heights. Be aware that P̃ is associated with a disk set DP =
shrunken probe is intersection-free from any other object. Note {Dat , Don } where Dat and Don are the sets of at-disks and on-disks,
that both maximum clearance probe and shrunken probe can be respectively.
found in the linear time of the number of elements of the Voronoi
diagram; (c) The disk approximation P̃ of P and its VD (VD(P̃ )); Idea of the packing algorithm. Let VD(P̃ ) be the VD of the interior
(d) The VD of ellipses E within the approximation P̃ (VD(P̃ , E )). of P (Fig. 4(b)) obtained by trimming the exterior part of the entire
Note that both VD(P ) and VD(P , D) can be correctly, efficiently, VD in Fig. 4(a). Let VD(P̃ , E ) be the Voronoi diagram of E within
and robustly computed. However, we compute VD(P̃ , E ) instead of P . Let πv be the clearance probe of a V-vertex v of VD(P̃ ) and
VD(P , E ) because of the challenges involved in the computation of πmax be the maximum clearance probe. Let vmax be the V-vertex
the vertices and edges of Voronoi diagram VD(P , E ), abbreviated corresponding to πmax . Starting from E = {∅}, we first find the
M. Lee et al. / Computer-Aided Design 101 (2018) 23–36 27
(a) (b)
(c) (d)
(e)
Fig. 4. The ellipse packing process for the bunny polygon using the VD of ellipses. (a) The VD of boundary disks. (b) The VD of the bunny interior. (c) The in-disks of the first
ellipse within the clearance probe are incremented. (d) The fifth ellipse located within the clearance probe after the four ellipses were incremented. (e) The 100-th ellipse
to be incremented. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
V-vertex vmax with πmax (the blue solid circle in Fig. 4(c)) and its 4.1. Voronoi diagram of a polygon
shrunken probe π̃max (the red one) and place the first new ellipse
E within π̃max (Fig. 4(c)). Then, we construct VD(P̃ , E ∪ {E }) by Challenges. It is well-known that the algorithm for an efficient and
inserting E into VD(P̃ , E ). We repeat the clearance-probe-finding, robust construction of VD(P ) is not trivial due to the influence
the ellipse-placement, and Voronoi diagram update processes for of numerical error on maintaining correct topology of Voronoi
a sufficient number of times until a termination condition is met. diagram [36,37]. In this study we developed and implemented a
Fig. 4(d) shows the process after four ellipses are incremented. new, simple, and efficient yet robust algorithm for VD(P ) based
Fig. 4(e) shows after one hundred ellipses are incremented. on the topology-oriented approach [34,38–40]. This is because we
eventually need to construct VD(P , E ) which is lacking in existing
4. Ellipse hollowing via Voronoi diagram codes such as CGAL [41,42] and VRONI [39].
Problem. There are two major computational phases for using 4.1.1. TOI-D algorithm
VD in the ellipse hollowing: First, the construction of VD(P ) and The proposed algorithm takes advantage of the Voronoi dia-
second, the construction of VD(P , E ). gram of circular disks [43,44], particularly the recently reported
28 M. Lee et al. / Computer-Aided Design 101 (2018) 23–36
with the diameter covering the entire rest segment of the P-edge.
For example, see the biggest blue on-disk in Fig. 3(e) and its two the minimum wall thickness δ . In such a case, we subdivide each
adjacent small on-disks adjacent to the two red at-disks. If the P-edge into multiple shorter P-edges with 2δ .
biggest on-disk intersects any other disk, either an at-disk or on-
disk, we subdivide it (to avoid computational complications in the 4.1.3. TOI-P algorithm
following processes) until the intersection is resolved. Note that We construct VD(DP ) of the disk set DP = {Dat , Don } using the
some P-edges of the legs in Fig. 3(e) have more than three blue TOI-D algorithm (Fig. 3(c)) and merge the V-cells of the children
on-disks due to subdivisions. We implemented this subdivision by on-disks of each P-edge (Fig. 5(a, b)). As shown from the figure,
employing a bucket system to accelerate the intersection check. the resulting VD structure has a unique V-cell for both each P-edge
Note that the number of children disks of the FewerOD-method and each P-vertex and thus its structure is close to VD(P ) from
is significantly smaller than that of the UniformOD-method. This both topology and geometry point of views. However, some V-
approach of using on-disks with non-uniform sizes works well for vertices are off P-vertices (where V-vertices and P-vertices should
the polygons produced from fine mesh models such as bunny. We coincide) (Fig. 5(b)) and these V-vertices should be moved to the
used the FewerOD-method in our implementation. related P-vertices. Fig. 5(c, d) shows the VD after relocating those
We note here that the FewerOD-method requires a precondi- V-vertices to the polygon boundary and flipping some V-edges
tion. For example, see the dog model in Fig. 3: The big blue on-disks to get the correct topology, both taking at most O(m) time for m
prevent the placement of ellipses and thus leave an undesirable disks. Note that a V-edge flipping is required to get the correct
bulk material in printed artifacts as shown in Fig. 3(f). This bulk- topological structure of VD(P ) (Compare Fig. 5(b) and (d)). Then,
material symptom tends to occur for engineering models with removing the exterior part of the VD and computing the V-vertex
large planar facets. In fact, the symptom may occur if L∗ ≫ δ for coordinates and the V-edge equations transforms the intermediate
M. Lee et al. / Computer-Aided Design 101 (2018) 23–36 29
VD structure to the correct VD(P ) (Fig. 5(e, f)). Note that some can be located for an a priori defined error, say ϵ0 . Hence, a second
previously linear V-edges are curved. Removing the at-disks and in-disk d2 passes through p while inscribing E. We alternate this
on-disks results in the VD of Fig. 3(a). calculation up and down of d1 to get d2 and d3 , respectively. Re-
There are three cases of V-edges: (i) If a V-edge e is defined peating this calculation produces in-disks with a strictly controlled
between two P-vertices, e is a line segment; (ii) Between two error bound ϵ0 . Given ϵ0 , a shorter ellipse has fewer in-disks than
P-edges, e is also a line segment; (iii) Between a P-vertex and a longer one does.
P-edge, e is a parabolic arc. As the V-edges of VD(P ) are quadratic Regarding VD(P̃ ) for DP as VD(P̃ , E = {∅}), we first find the
curve segments, they can be represented as a rational quadratic V-vertex vmax with the maximum clearance probe πmax and place
Bézier curve [37]. There are four cases of V-vertices: (i) Among an ellipse E which inscribes the shrunken probe π̃max so that its
three line segments; (ii) Among two line segments and one point; center coincides vmax . We incrementally insert E at vmax of VD(P̃ , E )
(iii) Among one line segment and two points; (iv) Among three to get VD(P̃ , E ∪ {E }). Instead of directly inserting E into VD(P̃ , E ),
points. Each V-vertex coordinate and V-edge equation can be cor- we insert the in-disks, one by one, into VD(D) where D ≡ DP . As
rectly computed in O(1) time [37]. the ellipse increment process goes on, D contains all the in-disks
of the ellipses incremented so far in addition to DP .
Lemma 1. Given VD(DP ), TOI-P algorithm constructs VD(P ) in O(m)
time in the worst case where m represents the number of children disks 4.2.3. TOI-EinP algorithm
in DP . The idea is very simple as follows. We insert each in-disk in DE
into VD(D) of existing disks and then merge the V-cells of the in-
Proof. With the polygon P of n P-vertices and n P-edges, n < m, disks of DE . If a sufficient number of in-disks approximates each
the merge process takes O(m − n) time because each merge of ellipse, the VD of the disks well-approximate the VD of ellipses
two adjacent V-cells takes O(1) time. In addition, V-vertex shift and from both topology and geometry point of views. As ellipses do
coordinate correction for all at-disks takes O(n) time. □ not intersect, the in-disks from distinct ellipses do not intersect. In
addition, the in-disks do not intersect both on-disks and at-disks
As m depends either on the length of the shortest P-edge or on the polygon boundary, either.
on the minimum wall thickness, the proposed TOI-P algorithm is The increment of an in-disk is done using the TOI-D algorithm.
input-sensitive. All time complexities in this paper are in the worst When we increment an in-disk, we maintain a dual representation
case sense unless otherwise stated. Note that the TOI-D algorithm of both VD(P̃ , E ) and VD(D). In other words, VD(P̃ , E ) and VD(D)
for the construction of the VD of m disks takes O(m) time on average are carefully synchronized in the following sense. We first incre-
and O(m2 ) time in the worst case [34]. mentally update VD(D) until all in-disks of DE (thus those of E)
are exhausted to get VD(D ∪ DE ). Then, we merge the V-cells of the
4.2. Voronoi diagram of ellipses in a polygon in-disks of E to produce the topology of VD(P̃ , E ∪ {E }). After the
merge process, each of the remaining V-vertices of VD(D ∪ DE ) be-
4.2.1. Challenges to Voronoi diagram of ellipses comes the V-vertices of VD(P̃ , E ) and a connected subset of some
Construction of VD(P , E ) involves the computation of appropriate remaining V-edges becomes the V-edge of VD(P̃ , E ).
V-vertices and V-edges and the topological structure among them Hence, we carefully maintain the correspondence of the V-vertices
where each of these tasks is challenging. Consider a V-vertex and V-edges between VD(D ∪ DE ) and VD(P̃ , E ∪{E }). Note that the
defined by three ellipses. It is known that there can be up to 184 merge can also be done incrementally as soon as after an in-disk is
complex circles that are simultaneously tangent to three conics in incremented. Fig. 6 shows the process of incrementing ellipses (For
the plane and each corresponds to a root of a polynomial of degree visual convenience, we used UniformOD-method in these figures):
184 [47]. It is hard to expect to find the roots of a polynomial of such (a) The maximum clearance probe πmax (the large blue circle),
a high degree both exactly and efficiently. Given 10-bit precision to its shrunken probe π̃max (the red circle), the ellipse within π̃max ,
represent the coefficients of three random ellipses, each coefficient and the biggest in-disk (blue filled circle) is incremented into the
of the resultant necessary for the exact computation of a V-vertex VD; (b) The second in-disk (the blue filled circle) is incremented
v is, on average, 4603-bit integers [47]. Hence, the exact and into the VD (The previously incremented in-disk is yellow now);
efficient computation of the correct coordinate of v itself is hard (c) After four in-disks are incremented; (d) After all in-disks of
to expect. We are not aware of any method to solve this resultant the first ellipse are incremented; (e) After the second ellipse is
exactly and efficiently and thus an exact computation approach incremented; (f) After the third ellipse is incremented.
to construct the VD of ellipses seems impractical. The V-edge The V-vertices of VD(P̃ , E ∪ {E }) remaining after the V-cell
between two ellipses can be more complicated than one might merge have their coordinates inheriting from VD(D ∪ DE ) which
expect. Even the bisector between a point and an ellipse can be very are computed from a triplet of in-disks. Thus, they are not nec-
complicated [48]: It may have cusps and self-intersections and is essarily correct for ellipses and it is necessary to compute their
disconnected if the point is located outside the ellipse. The bisector correct coordinates for the successful packing of next ellipse be-
between two rational curves can be non-rational and even a two- cause the maximum clearance probe needs to be found from these
dimensional object [49]. Therefore, the computation of V-vertices, V-vertices. The six cases of generator combination for a V-vertex
V-edges, and their association through the topological structure in VD(P , E ∪ {E }) among ellipses, line segments (i.e. P-edges),
among ellipses in a free-space is a challenge, not to mention about and points (i.e. P-vertices) become a unified case of generator
the VD of the ellipses within a polygon. As far as we know, no study combination among three ellipses in VD(P̃ , E ∪ {E }) because of Dat
has been reported for constructing VD(P , E ). and Don . The six cases are as follows: among three ellipses, among
two ellipses and one line segment, among two ellipses and one
4.2.2. Idea to increment ellipses with circle approximations point, among one ellipse and two line segments, among one ellipse
We represent an ellipse E as an approximation with a set DE and two points, and among one ellipse, one line, and one point.
of an odd number of disks, called in-disks which inscribes E (The
yellow ones in Fig. 3(d) and Fig. 4(c)). In-disks may intersect but 4.2.4. Geometry of the Voronoi diagram
none is contained by another. The in-disks are generated as follows. V-vertex coordinate among three ellipses. Consider a V-vertex v
The first in-disk d1 is the maximal inscribing disk which is centered defined by three ellipse generators. We iteratively find the correct
at the center of E. Let ϵ be an approximation error defined as the location of v in VD(P̃ , E ) starting with its initial coordinate pro-
horizontal distance between ∂ E and ∂ d1 . Then, a point p ∈ ∂ d1 vided by VD(D). In other words, v is initially equidistant from three
30 M. Lee et al. / Computer-Aided Design 101 (2018) 23–36
(a) (b)
(c) (d)
(e) (f)
Fig. 6. The ellipse increment process of the TOI-EinP algorithm through the increments of in-disks into the VD structure. (a) Identification of the clearance probes, the ellipse,
and the increment of the biggest in-disk. (b) The increment of the second in-disk. (c) The increment of the fourth in-disk. (d) After the increment of all in-disks of the first
ellipse. (e) After the increment of the second ellipse. (f) The increment of the third ellipse. (For interpretation of the references to color in this figure legend, the reader is
referred to the web version of this article.)
in-disks where each is a child of each of three ellipses. We project and ending V-vertices are known with correct coordinates along
v to each of the three distinct ellipses to find its footprint (which with its two elliptic generators. We approximate each V-edge as
is the closest location on an ellipse from v ). Then, we compute a sequence of points by tracing the V-edge in a way conceptually
the circumcircle, say ξ , which passes through the three footprints similar to the tracing algorithm of the intersection curve between
and use the center of ξ as the new coordinate of v . Provided that two free-form surfaces [55]. Tracing V-edges in this study is, how-
each ellipse is approximated by a sufficient number of in-disks, ever, much simpler than tracing general intersection curve in that
the iteration of this footprint-projection and circumcircle-finding (i) the coordinates of two V-vertices of each V-edge are known,
process quickly converges to the correct coordinate of v due to the (ii) V-edges are planar, and (iii) each V-edge is C 1 -continuous
convexity of ellipse. Experiment shows that the initial coordinate between two V-vertices. The case that e is defined between one
of v is already very close to the converged coordinate. The situation ellipse and one at-disk (or on-disk) is an easier special case.
that a generator(s) of v is at-disk or on-disk can be handled as an
Finding footprints. Finding footprints is a key building block. Sup-
easier special case
pose that p is a point outside an ellipse E and L is a line passing
V-edge between two ellipses. Due to the current theoretical limi- through p. It is known that there are four, three, or two locations
tations, it is practically inevitable to approximate a V-edge with on E that L perpendicularly intersects E depending on whether p
a sequence of passing points computed through the envelopes of lies inside the evolute, lies on the evolute but not at a cusp, or
families of point/curve bisectors [48,50] or a sequence of curve lies on a cusp or outside the evolute, respectively [47]. Finding the
segments [51]. There exist other approaches to trace bisectors for perpendicular intersection between L and E can be formulated as
VD and medial axis transformations [52–54]. a root-finding problem of a quartic polynomial thus taking O(1)
We emphasize that the topological structure of VD(P , E ) is time. The footprint of p is obviously one of these locations which
already known. In other words, for each V-edge e, its starting determines the minimum distance.
M. Lee et al. / Computer-Aided Design 101 (2018) 23–36 31
Lemma 2. Suppose that the ellipses in E are placed inside a polygon P Algorithm 4: TOI-EinP
which has n P-vertices and P-edges. Suppose that there are M in-disks
Input: VD(P̃ , E ), and new ellipse E
for E and the disk representation DP of P has N children disks. Given
Result: VD(P̃ , E ∪ {E })
the synchronized VD(P̃ , E ) and VD(D), where D is the union of DP E E
and the M in-disks of E , the increment of a new ellipse E which is
1 Din ← E [Din is in-disk set of E]
E
approximated by C in-disks takes O(C (N + M + 1) + n + |E |) time 2 C ← the number of Din
where |E | represents the size of E . 3 for i ← 1 to C do
4 Algorithm 2. INSERT-ONE-DISK with VD(P̃ , E ) and dEi [dEi
Proof. Given a new ellipse E, with C in-disks, the increment of the is ith in-disk of E]
E
C in-disks into VD(D) takes O(C (N + M)) time. This completes the 5 Merge the V-cells of Din
computation of the topological structure of VD(P̃ , E ∪ {E }). Then, 6 Adjust the topological structure of VD(P̃ , E ∪ {E }) Collect vE
it is followed by the merges of the V-cells among the in-disks of E [vE is V-vertices which bound the V-cell of E]
taking O(C ) time. Then, the computation of the geometry of each 7 Compute coordinates of vE
of O(n + |E |) V-vertices and V-edges takes O(1) time. □ 8 Collect eE [eE is V-edges which are incident to vE ]
9 Compute geometry of eE
Corollary 3. The increment of |E | ellipses takes O(CN |E | + C 2 |E |2 )
time if N ≫ n and M ≫ |E |.
Proof. The increment of one ellipse takes O(C (N + M) + n + |E |) ≡ maximally pack the polygon with ellipses and shrink each ellipse
O(C (N + M)) time if N ≫ n and M ≫ |E |. □ by δ/2. As an ellipse is not offset-invariant, the shrunk ellipse needs
to be approximated but can be effectively computed.
Table 1 summarizes the three algorithms discussed above We instead use a computationally easier yet equally effective
where their pseudocodes are shown in Algorithm 1, 3 and 4. scheme as follows. We have two parameters to control the height
Algorithm 1: TOI-D of each ellipse: the minimum wall thickness δ and the shrink ratio
ρ ∈ (0, 1) of the maximal clearance probe πmax . Given πmax , we
Input: A disk set D = {d1 , d2 , . . . , dn }
multiply ρ to πmax to get a shrunken probe π̃max with the shrunken
Output: The Voronoi diagram VD(D) of D
radius γ . If γ > δ/2, we use π̃max to produce an inscribing ellipse
Construct initial Voronoi diagram VD.
and increment in the VD. Otherwise, we reduce the radius of πmax
1
2 for i ← 1 to n do by δ/2 and produce the inscribing ellipse. The purpose of ρ is to
3 Algorithm 2. INSERT-ONE-DISK(VD, di ) [Insert di into the provide users a convenient handle to control the overall distribu-
current VD] tion of ellipse heights because, in addition to the NP-hardness of
4 return VD the optimal ellipse packing, we never know which way is best even
if we only consider geometry. Moreover, experienced users may
Algorithm 2: INSERT-ONE-DISK want to have a control of overall shape distribution by tuning ρ .
Input: VD(D), and new disk d Terminating condition. An ellipse should not be too small to be
Result: VD(D ∪ {d}) printed. We regard a < δ = 5δ0 (see Eq. (1)) as the terminating
1 Find the V-vertices VVtrim and V-edges VEtrim of VD(D) to be condition of inserting new ellipses. In other words, whenever πmax
trimmed by V-cell of d. is produced and shrunken, we check its horizontal axis a and
2 Make new V-vertices and new V-edges which bound the terminate if it is less than δ .
V-cell of d.
3 Trim VVtrim and VEtrim . 5. Extrusion to 3D
Table 1
Summary table of algorithms.
TOI-D TOI-P TOI-EinP
Function Construct VD Construct VD Construct VD
of disks of polygon interior of ellipses
in polygon
Input Disk set D VD (D P ) VD (P̃ , E )
new ellipse E
Output VD (D ) VD (P ) VD (P̃ , E ∪ {E })
Time Worst C.: O(n2 ) Worst C.: O(m) Worst C.: O(C (N + M + 1))
complexity Avg. C.: O(n)
Explanatory |D | = n P : Polygon P̃ : disk representation of P
note Worst C.: Worst Case D P : children disks E : inserted ellipses
Avg. C.: Average Case of P N: the number of children disks
|DP | = m of P
M: the number of all children
disks of E
C : the number of in-disks of E
Fig. 7. Optimization of static balance (2D case). (a) The hollowed object cannot
stand by itself (left). (b) It is optimized to a self-balanced object using our optimizer
(right). The red dots denote the gravity center. (For interpretation of the references
to color in this figure legend, the reader is referred to the web version of this article.)
Fig. 8. A hollowed bunny model. (a) The hollowed model; (b–d) different cross-sections.
M. Lee et al. / Computer-Aided Design 101 (2018) 23–36 33
Fig. 10. Hollowed human models with different poses. The upper row shows the hollowed model and the lower row one of the cross sections.
(a) (b)
Fig. 11. (a) The hollowed hanging ball may fall down without balance optimization
(left) (b) while the optimized one is standing stable.
Fig. 12. Photos of the fabricated bunny model and kitten model hollowed by our
method.
(a) (b)
(c) (d)
(e)
Fig. 13. Computation time profile of the TOI-EinP algorithm. (a) Bunny model (Time vs. # input P-edges). (b) Hanging ball model (Time vs. # input P-edges). (c) Hanging
ball model (Time vs. # subdivided P-edges). (d) # P-edges changes of both Bunny and Hanging ball models after subdivision. (e) Packing ratio of polygons in both Bunny and
Hanging ball models. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
Printer configuration and parameters. We fabricate the objects us- successfully printed which reveals that the hollowed interior of the
ing a commercial FDM 3D printer: The Ultimaker 2+ with tray size models is printed without any problem. We also validate this by
of 223 mm × 223 mm × 205 mm. The printable layer thickness of printing and checking only half of the models which will be shown
the printer (printing precision) ranges from 0.1 mm to 0.4 mm and later.
we use a value of σ0 = 0.2 mm. We test the plastic PLA material
Experiments. Fig. 8 shows an example of hollowed bunny model
used in the 3D printing and set the maximally allowed overhang-
and a few cross-sections. Fig. 9 shows a 3D hollowed volume
angle as θ0 = 60◦ and the maximal length of printable horizontal
of kitten model with a few cross-sections. Fig. 10 shows human
hangover as δ0 = 5 mm.
models of different poses.
Manufacture setting. After we generate the hollowed models, we Fig. 11 shows two hollowed hanging balls. The left one cannot
add supporting structures for the exterior part of the models but stand by itself. After using our optimizer, it can be optimized to be
do not add any interior support. After the models are fabricated, well balanced in the right by filling material in the elliptic voids of
we manually remove the exterior supports. All models have been the column. Fig. 12 shows photos of the fabricated bunny model
M. Lee et al. / Computer-Aided Design 101 (2018) 23–36 35
and kitten model which are hollowed by our method. The models
are successfully fabricated without adding any extra support in the
interior voids.
Performance of the TOI-EinP algorithm for constructing VD. We con-
ducted computational efficiency test using two models: the bunny
and the hanging ball models. From the bunny model, we produced
121 planes resulting 219 polygons as some planes contain more
than one polygon. The smallest and the largest polygons have 8 and
655 P-edges, respectively. For experimental purpose, we enforced
to pack 100 ellipses into each polygon ignoring the mechanical and
physicochemical constraints. Fig. 13(a) shows computation time
vs. polygon size in terms of the input P-edges. The top-most black
curve: the total time; The next red one: the time for incrementing
all the in-disks of the ellipses into the VD structure; The next green
one: that for finding the maximum clearance probe; The blue one:
that for constructing the VD of the at-disks and on-disks. Note that
the total time is weakly super-linear mainly due to the increment
process of in-disks which is believed to be caused by the mapping
mechanism of equivalent V-vertices between VD(D) and VD(P̃ , E ).
We used the map in the C++ template which is implemented by a
binary search tree, taking O(log n) time for each query for n entities.
With this model, we used the FewerOD method (as few on-disks as
possible) using a bucket system for the acceleration.
From the hanging ball model, we produced 88 planes resulting
141 polygons: The smallest and the largest polygons have 25 Fig. 14. Comparison with Wu et al. (2016b). Upper row: the hollowed P model using
and 232 P-edges, respectively. As this model consists of several Wu et al. (2016b) with a hollowing ratio of 24.3%; Lower row: the hollowed P model
large planar faces together with smaller ones, the polygons have using our method with a hollowing ratio of 25.7%. The bottom of the model is fixed
several long P-edges together with short ones. This is common and one identical external load is conducted on the right, respectively, as shown by
the arrow. The right figures show the color maps of stress. It is seen that the region
in many engineering products. Hence, we subdivided each P-edge marked in red in the upper-right figure suffers the problem of stress concentration,
into a set of P-edges of the length defined by the previously stated i.e., the stress there is very high. (For interpretation of the references to color in this
rule. Fig. 13(b) also shows computation time vs. polygon size in figure legend, the reader is referred to the web version of this article.)
terms of the input P-edges. Note that the correlation is very weak
compared to the bunny model as is expected because of the big
variation of the P-edge lengths. Fig. 13(c) shows computation time
based on the observation of a family of support-free ellipses and
vs. the number of subdivided P-edges: The curves are fairly well
is achieved by hollowing 2D shapes with these ellipses. Then the
correlated in a slightly super-linear fashion. The big gap between
interior ellipses are extruded into volume for generating hollowed
the two clusters of data is due to many subdivided P-edges through
3D shapes. We also develop a new, efficient and robust algorithm
very long input P-edges. For example, the left-most data in the
for the Voronoi diagram of polygons and the first algorithm for the
right cluster in Fig. 13(c) corresponds to a polygon with 234 input
Voronoi diagram of ellipses within a polygon, both based on the
P-edges which was subdivided into 513 shorter P-edges. Fig. 13(d)
topology-oriented incremental approach, which are quite useful
shows the number of subdivided P-edges vs. the number of input
P-edges. The bunny model is expectedly a straight line whereas for generating the ellipse packing in 2D shapes. With the sizes
the hanging ball model shows bumpy curve which is similar to of ellipses as design variables, the optimization according to a
the curves in Fig. 13(b). The relationship between Fig. 13(b) and specific objective function, e.g., static stability, can be formulated.
(c) can be explained by Fig. 13(d). Fig. 13(e) shows the packing Experimental results have shown the practicability and feasibility
ratio of the 100 ellipses in each polygon. The bunny model is of our proposed approach.
expectedly smooth with decreasing pattern for bigger polygons as Limitation and future work. Our research opens many directions
we incremented only 100 ellipses whereas the curve of the hanging for future studies. First, the packing results can be further opti-
ball model is bumpy. mized by optimizing the positions and sizes of the ellipses for
Comparison to rhombic cell structure. The work of [8] adopts rhom- the purpose of increasing packing ratio. Second, it is expected to
bic cell structure, which have C 0 discontinuity on boundaries, to extend our approach for generating support-free ellipsoids for 3D
generate support-free interior voids for 3D shapes. We compare shapes. This is feasible but needs more effort. Last but not the
our method with this method as shown in Fig. 14. We apply two least, we are interested in studying general support-free shapes
methods on the same P model with similar hollowing ratios. Then for additive manufacturing, which is a promising direction for
we fix the bottom of the model and conduct an identical external geometric modeling and processing.
load on it, respectively. From the stress map we can see that the
result generated by [8] suffers the problem of stress concentration Acknowledgments
at the region marked in red, which generally happens in disconti-
nuity. This does not happen in our method. This work was supported by the National Research Foundation
of Korea (NRF) grant funded by the Korea government (MSIP, MSIT)
7. Conclusions and future work (Nos. 2017R1A3B1023591, 2016K1A4A3914691).
[2] Wang W, Wang TY, Yang Z, Liu L, Tong X, Tong W, et al. Cost-effective print- [30] Lubachevsky BD, Stillinger FH. Geometric properties of random disk packings.
ing of 3D objects with skin-frame structures. ACM Trans Graph 2013;32(6): J Stat Phys 1990;60(5):561–83.
177:1–177:10. [31] Lubachevsky BD. How to simulate billiards and similar systems. J Comput Phys
[3] Lu L, Sharf A, Zhao H, Wei Y, Fan Q, Chen X, et al. Build-to-last: strength to 1991;94(2):255–83.
weight 3D printed objects. ACM Trans Graph 2014;33(4):97:1–97:10. [32] Specht E. A precise algorithm to detect voids in polydisperse circle packings.
[4] Strano G, Hao L, Everson RM, Evans KE. A new approach to the design and In: Proc. R. Soc. A. 2015. p. 20150421.
optimisation of support structures in additive manufacturing. Int J Adv Manuf [33] Sugihara K, Sawai M, Sano H, Kim D-S, Kim D. Disk packing for the estimation
Technol 2013;66(9):1247–54. of the size of a wire bundle. Jpn J Ind Appl Math 2004;21(3):259–78.
[5] Dumas J, Hergel J, Lefebvre S. Bridging the gap: Automated steady scaffoldings [34] Lee M, Sugihara K, Kim D-S. Topology-oriented incremental algorithm for
for 3D printing. ACM Trans Graph 2014;33(4):1–10. the robust construction of the voronoi diagrams of disks. ACM Trans Math
[6] Vanek J, Galicia JAG, Benes B. Clever support: Efficient support structure Software 2016;43(2):14:1–23.
generation for digital fabrication. Comput Graph Forum 2014;33(5):117–25. [35] Zeng Z, Yu X, He K, Huang W, Fu Z. Iterated tabu search and variable neighbor-
[7] Langelaar M. Topology optimization of 3D self-supporting structures for addi- hood descent for packing unequal circles into a circular container. European J
tive manufacturing. Additive Manufacturing 2016;12;Part A:60–70. Oper Res 2016;250(2):615–27.
[8] Wu J, Wang CCL, Zhang X, Westermann R. Self-supporting rhombic infill [36] Okabe A, Boots B, Sugihara K, Chiu SN. Spatial tessellations: Concepts and
structures for additive manufacturing. Comput Aided Des 2016;80:32–42. applications of voronoi diagrams. second ed. Chichester: John Wiley & Sons;
[9] Reiner T, Lefebvre S. Interactive modeling of support-free shapes for fabrica- 1999.
tion. In: EUROGRAPHICS. 2016. [37] Kim D-S, Hwang I-K, Park B-J. Representing the Voronoi diagram of a
[10] Pilkey WD, Pilkey DF. Peterson’s stress concentration factors. third ed. Wiley; simple polygon using rational quadratic Bézier curves. Comput Aided Des
2008. ISBN 978-0-470-04824-5. 1995;27(8):605–14.
[11] Karthikeyan K. Why hatches and doorways in ships and airplanes are oval? [38] Sugihara K, Iri M. Construction of the Voronoi diagram for ‘‘one million’’
2016. https://geekswipe.net/science/physics/why-hatches-and-doorways-in- generators in single-precision arithmetic. Proc IEEE 1992;80(9):1471–84.
ships-and-airplanes-are-oval/. [39] Held M. VRONI: An engineering approach to the reliable and efficient com-
[12] Zhang X, Xia Y, Wang J, Yang Z, Tu C, Wang W. Medial axis tree-an inter- putation of Voronoi diagrams of points and line segments. Comput Geom
nal supporting structure for 3D printing. Comput Aided Geom Design 2015; 2001;18(2):95–123.
35–36(5):149–62. [40] Held M, Huber S. Topology-Oriented incremental computation of Voronoi
[13] Hu K, Jin S, Wang CC. Support slimming for single material based additive diagrams of circular arcs and straight-line segments. Comput Aided Des
manufacturing. Comput Aided Des 2015;65:1–10. 2009;41(5):327–38.
[14] Musialski P, Auzinger T, Birsak M, Wimmer M, Kobbelt L. Reduced-Order shape [41] CGAL, CGAL Library Homepage, 2016. http://www.cgal.org/.
optimization using offset surfaces. ACM Trans Graph 2015;34(4):102;1–9. [42] Alliez P, Delage C, Karavelas MI, Pion S, Teillaud M, Yvinec M. Delaunay
[15] Prévost R, Whiting E, Lefebvre S, Sorkine-Hornung O. Make it stand: balancing tessellations and Voronoi diagrams in CGAL (Draft). In: Rien van de Weijgaert
shapes for 3d Fabrication. ACM Trans Graph 2013;32(4):81;1–10. Gert Vegter JR, Icke V, editors. Tessellations in the sciences. Virtues, techniques
[16] Christiansen AN, Schmidt R, Bærentzen JA. Automatic balancing of 3D models. and applications of geometric tilings. 2007.
Comput Aided Des 2015;58:236–41. [43] Kim D-S, Kim D, Sugihara K. Voronoi diagram of a circle set from Voronoi
[17] Bächer M, Whiting E, Bickel B, Sorkine-Hornung O. Spin-it: optimizing diagram of a point set: I. Topology. Comput Aided Geom Design 2001;18:
moment of inertia for spinnable objects. ACM Trans Graph 2014;33(4): 541–62.
96:1–96:10. [44] Kim D-S, Kim D, Sugihara K. Voronoi diagram of a circle set from Voronoi dia-
[18] Deaton JD, Grandhi RV. A survey of structural and multidisciplinary continuum gram of a point set: II. Geometry. Comput Aided Geom Design 2001;18:563–
topology optimization: post 2000. Struct Multidiscip Optim 2014;49(1):1–38. 85.
[19] Wu J, Dick C, Westermann R. A system for high-resolution topology optimiza- [45] Sugihara K. Approximation of generalized voronoi diagrams by ordinary
tion. IEEE Trans Vis Comput Graphics 2016;22(3):1195–208. Voronoi diagrams. Graph Models Image Process 1993;55(6):522–31.
[20] Hu R, Li H, Zhang H, Cohen-Or D. Approximate pyramidal shape decomposi- [46] Emiris IZ, Tsigaridas EP, Tzoumas GM. Exact Voronoi diagram of smooth
tion. ACM Trans Graph 2014;33(6):213:1–10. convex pseudo-circles: General predicates, and implementation for ellipses.
[21] Buchalter BJ, Bradley RM. Orientational order in amorphous packings of el- Comput Aided Geom Design 2013;30(8):760–77.
lipses. J Phys A: Math Gen 1992;26(3):L1219–24. [47] Emiris IZ, Tzoumas GM. Algebraic study of the apollonius circle of three
[22] Schreck CF, Xu N, O’Hern CS. A comparison of jamming behavior in systems ellipses. In: EuroCG. 2005. p. 147–50.
composed of dimer- and ellipse-shaped particles. Soft Matter 2010;6(13): [48] Farouki RT, Johnstone JK. The bisector of a point and a plane parametric curve.
2960–9. Comput Aided Geom Design 1994;11:117–51.
[23] Donev A, Torquato S, Stillinger FH, Connelly R. Jamming in hard sphere and [49] Alt H, Cheong O, Vigneron A. The Voronoi diagram of curved objects. Discrete
disk packings. J Appl Phys 2004;95(3):989–99. Comput Geom 2005;34:439–53.
[24] Donev A, Connelly R, Stillinger FH, Torquato S. Underconstrained jammed [50] Farouki RT, Johnstone JK. Computing point/curve and curve/curve bisectors.
packings of nonspherical hard particles: ellipses and ellipsoids. Phys Rev E In: IMA conference on the mathematics of surfaces. 1992.
2007;75(5):051304. [51] Farouki RT, Ramamurthy R. Degenerate point/curve and curve/curve bisectors
[25] Hitti K, Bernacki M. Optimized Dropping and Rolling (ODR) method for packing arising in medial axis computations for planar domains with curved bound-
of poly-disperse spheres. Appl Math Model 2013;37(8):5715–22. aries. Comput Aided Geom Design 1998;15(6):615–35.
[26] Birgin EG, Lobato RD, Martínez JM. Packing ellipsoids by nonlinear optimiza- [52] Omirou SL, Demosthenous GA. A new interpolation algorithm for tracing
tion. J Global Optim 2016;65(4):709–43. planar equidistant curves. Robot Comput-Integr Manuf 2006;22:306–14.
[27] Delaney G, Weaire D, Hutzler S, Merphy S. Random packing of elliptical disks. [53] Cao L, Liu J. Computation of medial axis and offset curves of curved boundaries
Phil Mag Lett 2005;85(2):89–96. in planar domain. Comput Aided Des 2008;40(4):465–75.
[28] Lozano E, Roehl D, Celes W, Gattass M. An efficient algorithm to generate [54] Cao L, Jia Z, Liu J. Computation of medial axis and offset curves of curved
random sphere packs in arbitrary domains. Comput Math Appl 2016;71(8): boundaries in planar domains based on the cesaros approach. Comput Aided
1586–601. Geom Design 2009;26:444–54.
[29] Jodrey WS, Tory EM. Computer simulation of close random packing of equal [55] Barnhill RE, Farin G, Jordan M, Piper BR. Surface/surface intersection. Comput
spheres. Phys Rev A 1985;32:2347–51. Aided Geom Design 1987;4:3–16.