Author's Accepted Manuscript
AR based Ornament Design System for 3D Printing
Hiroshi Aoki, Jun Mitani, Yoshihiro Kanamori,
Yukio Fukui
www.elsevier.com/locate/jcde
PII: S2288-4300(14)00006-2
DOI: http://dx.doi.org/10.1016/j.jcde.2014.11.005
Reference: JCDE5
To appear in: Journal of Computational Design and Engineering
Cite this article as: Hiroshi Aoki, Jun Mitani, Yoshihiro Kanamori, Yukio Fukui, AR based Ornament Design System for 3D Printing, Journal of Computational Design and Engineering, http://dx.doi.org/10.1016/j.jcde.2014.11.005
This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting galley proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
Journal of Computational Design and Engineering 00 (2013) 0000~0000
AR based Ornament Design System for 3D Printing
Hiroshi Aoki, Jun Mitani, Yoshihiro Kanamori and Yukio Fukui
University of Tsukuba (1-1-1 Tennoh-dai, Tsukuba, Ibaraki 305-0006, Japan)
(Manuscript Received 000 0, 2013; Revised 000 0, 2013; Accepted 000 0, 2013)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Abstract
In recent years, 3D printers have become popular as a means of outputting geometries designed on CAD or 3D graphics systems. However, the complex user interfaces of standard 3D software can make it difficult for ordinary consumers to design their own objects. Furthermore, models designed on 3D graphics software often have geometrical problems that make them impossible to output on a 3D printer. We propose a novel AR (augmented reality) 3D modeling system with an air-spray like interface. We also propose a new data structure (octet voxel) for representing designed models in such a way that the model is guaranteed to be a complete solid. The target shape is based on a regular polyhedron, and the octet voxel representation is suitable for designing geometrical objects having the same symmetries as the base regular polyhedron. Finally, we conducted a user test and confirmed that users can intuitively design their own ornaments in a short time with a simple user interface.
Keywords: 3DCG, Modeling, Augmented Reality, 3D printing, Voxel, Octet truss
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Introduction:
In recent years, 3D printers have attracted attention as a means of outputting computer-designed 3D shape data to the real world. The price of 3D printers is in a downward trend, and some are now even within the means of ordinary consumers. When 3D prin-ters have become commonplace household items, what will be the sort of item they used to produce most often? Household or-naments is one possibility. People find geometric three-dimensional shapes like those shown in Fig. 1 both interesting and appeal-ing when used in items such as key holders, straps or Christmas tree decorations, or simply as ornaments in their own right. In this study, we propose a system that supports ordinary users in the design of ornaments that include symmetrical structures.
CorrespondingE-mailaddress:authormitani@cs.Tel.:+81.tsukuba.29.853.ac.5388.jp, Fax.: +82.29.853.2333
S. Smith et al. / Journal of Computational Design and Engineering 00 (2013) 0000~0000
0000
Conventional 3D graphics software is difficult for non-specialists to use as a means of creating three-dimensional shapes. Fur-thermore, the high cost of 3D printer materials and the long time needed to print objects mean that the feature of previewing de-signed object with quick trial-and-error process is important.
Barriers to using 3D software for shape modeling include the difficulty of grasping a 3D space via a planar display, and the fact that the typical mouse and keyboard user interface is not intuitive. There have already been widespread efforts aimed at making a user interface more amenable to novice users. For example, the use of AR (augmented reality) has often been proposed. AR is a technique involving the display of computer-generated images superimposed on a real-world space captured by a video camera. By synchronizing the real and virtual coordinate systems based on the use of markers called AR markers, it is possible to make computer-generated objects and characters appear just as if they were present in the real world. By using a shape modeling inter-face in conjunction with stereoscopic equipment such as head-mounted displays and pointing devices, it is possible to get the same visual effect as when the object really is present. Furthermore, by allowing the user to perform shape modeling actions di-rectly by hand or with hand-held tools instead of with a mouse and keyboard, it is possible to give the user the feeling of actually creating something.
With conventional 3D graphics software, not only is it difficult to manipulate objects, but there is also a problem in that the 3D shapes made in this way are often inappropriate for output to a 3D printer. For example, it is not possible to print objects that have holes or self-intersections in the surface. Such defects often have to be corrected manually. To address this problem, two possible approaches can be considered. One is to provide a means to correct the problems in data after it has been created, and the other is to provide users with a system that is only capable of producing shapes that are printable on a 3D printer. For the former approach, the automatic restoration method proposed by Bischoff et al. [1] could be applied. A number of research studies on mesh recon-struction are found in the survey papers [2][3]. However, the latter approach, i.e., provide a system that is incapable of designing shapes that cannot be printed, seems to be more appropriate for users lacking in specialist knowledge of 3D modeling.
Therefore in this study we propose a 3D modeling system with the following characteristics:
Allows ornamental shapes having symmetrical shape characteristics to be designed via an intuitive AR-based modeling in-
? terface.
Can only produce shapes that are printable on a 3D printer.
An advantage of this system is that there is no need to correct the data so that it can be output by a 3D printer. Further, it is possible to preview a designed 3D object superimposed on the real world in AR before it is actually output by a 3D printer.
Our AR-based 3D modeling system uses an air-spray interface. Although AR is critically flawed by the lack of force feedback,
Figure 1. Examples of ornaments with geometric patterns and symmetric features (designed with the proposed system).an air-spray has essentially no force feedback and therefore allows us to hide this drawback of AR.
To ensure that it can only design solid models capable of being produced by a 3D printer, the proposed system uses an octet truss structure made of octahedrons and tetrahedrons to represent the internal structure that holds the shape data. We propose a shape representation method called octet voxels, whereby each of these octahedrons and tetrahedrons stores a value used to distin-guish between the inside and outside of the three-dimensional shape.
Related studies are discussed in Section 2 of this paper, and in Section 3 we describe the properties of octet voxels and the pro-posed system. The results of user tests are discussed in Section 4. Finally, our conclusions are presented in Section 5.
2. Related work
S. Smith et al. / Journal of Computational Design and Engineering 00 (2013) 0000~0000
0000
The 3DM interface developed by Butterworth et al. is strongly related to our study as an attempt at improving the 3D modeling interface [4]. This system uses a head-mounted display to perform 3D modeling in a virtual reality space. This system does away with the mouse and keyboard interface that is hard for beginners to use, and instead uses a hand-held pointer device to manipulate the menus and cursor shown in a VR space.
For the input device of our system, we referred to a study by Jung et al. [9], where an air-spray interface is used to perform
Surface Drawing is an early study of the combination of AR and 3D computer graphics [5]. In this system, the movements of a glove worn by the user are tracked by special sensors to generate band-shaped polygonal surfaces along its locus in a virtual reali-ty workspace, thereby allowing the user to form three-dimensional shapes intuitively. Using various tools with built-in sensors, the user can perform operations such as deforming or deleting objects. Although this system uses expensive large-scale hardware to implement AR, Cheok et al. have proposed a modeling system with approximation functions that uses a cheaper marker system [6]. Studies where AR markers are used to make simple 3D models include a study by Sano et al., who developed a system that creates a full scale box model by generating textures from photographic information [7], and a study by Schlaug where shapes can easily be formed by modeling in the same way as with clay [8]
rough 3D computer modeling in an AR space. This involves a 3D design process whereby a skeleton shape is first created by a pointer device, and then the air spray is used to blow particles onto this shape. Although this process is limited to shapes without pronounced roughness, it can form a variety of shapes. An air compressor is connected to the air-spray held by the user, and re-leases puffs of air when the user performs spray operations. The sound of these puffs and the feel of the spray actuator provide the user with sensory feedback. Our proposed system uses a similar air spray interface, but without the air compressor, and uses a simple AR marker as a mouse.
To ensure that the designed shapes can be output by a 3D printer, the shapes have to be a solid. Owada et al. proposed a voxel based approach with sketch interface [10]. On the other hand, Rivers et al. proposed a CSG based tool [11]. One heavily related to our system is the Hirose et al.’s system [12]. This is a design support system tailored specifically for geometrical toys called Sphe-ricon. In this system, the space is partitioned into small cells based on a conical shape, and three-dimensional shapes are represented as sets of these cells. In recent years, several papers related to digital fabrication with 3D printers were published. Prévost et al. proposed a method to modify shape of objects so that they stand [13].
Symmetry is essential for attractive design, and was sometimes used as a constraint of design system [14][15]. To efficiently design the shape of ornaments with symmetry, we decided to represent our 3D design space as a set of triangular pyramids, with each pyramid being represented as a set of octahedra and tetrahedra, like the structure of an octet truss.
The Spatial Sketch system developed by Willis et al. [16] supports the creation of lamp shades. The user moves a hand-held operating device freely in space, and a 3D model of a lamp shade is generated based on the locus of this device. Although this system does not use AR, it facilitates intuitive operations as an input device for the user’s hand movements. This allows the user to discover interesting shapes by making new forms through trial and error, even without a preconceived idea of how the finished item should look. Similarly, our system also supports the discovery of new forms through trial and error.
3. Proposed system
This section describes our proposed system in more detail. First, we describe how the proposed octet voxels are used to represent three-dimensional shapes, and then we describe the shape design user interface that uses these voxels.
3.1 Representing shapes with octet voxels
To design symmetrical 3D shapes in the proposed system, these shapes are made based on regular polyhedra (also called Pla-tonic solids) as shown in Fig. 2. Regular polyhedra constitute one of the simplest sets of symmetrical three-dimensional objects,
S. Smith et al. / Journal of Computational Design and Engineering 00 (2013) 0000~0000
0000
and have fascinated people since ancient times. Due to the useful engineering qualities of these shapes, they are often used in buildings and are also widely used in the structure of ornaments. Regular polyhedra exhibit symmetry not only in their facets, which are all regular polygons, but also in the three-dimensional structure whereby the facets connected to each vertex are ar-ranged uniformly.
Our system works with structures that have the same symmetry as one of the regular polyhedra. As shown in Fig. 3, the space inside a regular polyhedron is partitioned into multiple triangular pyramids, and the target shape is designed in these triangular pyramid spaces. If P is a regular polyhedron with M facets comprised of regular N-gons, then P is partitioned into M pyramids with their apex at the center of the regular polyhedron and their base in each facet. Next, these pyramids are used to make N trian-gular pyramids by splitting them through planes that are perpendicular to the base and intersect with the apex and the vertices in Figure 5. Structure of octet-voxels constituting a basic trian-gular pyramid space.
the base facet. With the above operations, it is possible to represent a regular polyhedron P as a set of N times M triangular pyra-mid spaces. These triangular pyramid spaces are called “basic triangular pyramid spaces”.
The user performs shape editing in a single triangular pyramid space. This shape is duplicated into other basic triangular pyra-mid spaces to built a new 3D object according to the procedure shown in Fig. 4. That is, the user can automatically obtain a shape having the same symmetry as the regular polyhedron on which it is based, simply by creating a design inside one triangular py-ramid space.
Assuming that the design is to be formed by a 3D printer, it is preferable that when modeling the shape of the basic triangular pyramid space, a solid model with a strictly defined interior and exterior can be easily constructed. For this sort of objective, it is appropriate to use a voxel representation where the space is divided into small cells, and each cell has a value to distinguish be-tween the inside and outside of the 3D shape. In an ordinary voxel representation, the space is partitioned into multiple cubical
S. Smith et al. / Journal of Computational Design and Engineering 00 (2013) 0000~0000
0000
Figure 6. Three types of cells.
Figure 7. Order of cell arrangement.
cells aligned with the x, y and z axes. However, this method is unsuitable for our work space, which is formed from triangular pyramids. Therefore, as shown in Fig. 5, we divide the basic triangular pyramid space into octahedral and tetrahedral spaces by using the same structure as an octet truss. Of the spaces obtained after subdivision, the cells with octahedral shapes are called octa-cells, and the cells with tetrahedral shapes are called tetra-cells. However, since there are two types of tetrahedron with dif-ferent orientations, in the following we will use a prime symbol (′) to distinguish between those that are oriented in the same way as tetrahedra on the first layer “tetra-cell” and those that are oriented in the opposite direction “tetra′-cell” (Fig. 6).
A 3D shape is defined by making each cell hold a value for distinguishing between the inside and outside of the shape. Specifi-cally, a value of 1 corresponds to the interior of the shape, and a value of 0 corresponds to its exterior. This method is the same as ordinary voxels, so the shape representation method we propose here is referred to in the following as an octet voxel method. Be-low, we discuss the properties of octet voxels according to the coordinate system shown in Fig. 5.
The basic triangular pyramid space is divided into multiple layers in the y-axis direction (the number of layers is referred to as
the resolution in the following). If the layers are numbered sequentially from 1 starting with the lowermost layer, then layer k is
partitioned by planes parallel with the bounding planes of the basic triangular pyramid space, thereby forming the tetrahedral
and octahedral cells (Fig. 7). As shown in Fig. 8, if the cell positions in each layer are indicated by two integers representing the
row and column, then the following formulae can be used to express the numbers of tetra-cells
octa
octa-cells nm in the m-th column:
nmtetra = m
m ? 2 (m ≥ 2)
nmtetra ' =
0 (m < 2)
m ? 1 (m ≥ 1)
nmocta =
0 (m < 1)
ntetra
, tetra′-cells
ntetra '
and
m
m
S. Smith et al. / Journal of Computational Design and Engineering 00 (2013) 0000~0000
0000
With the process shown in Algorithm 1, it is possible to determine the types of cells in the l-th row and m-th column. This judgment is applicable to any layer.
Algorithm 1: Determination of cell type
Function: Determine the cell type
Input: l /* column index */, m /* row index */
if l % 3 = 1 or l = n tetra + n tetra ' + nocta
then
m
m
m
type ← tetra
else if l %3 = 2 then type ← octa
else
type ← tetra’
return type
The total number of cells constituting the k-th layer Nk is represented by the formula shown below. When constructing the cell
information on a computer, move to the next layer above when the number of voxels arranged in each layer has reached this
Figure 8. Relationship between a cell’s position in a single layer (row index, column index) and the cell type.
tetra
value. N k
N k = N ktetra,+
Nktetra '
N tetra '
N octa
represent the total numbers of tetra-cells, tetra′-cells and octa-cells in layer k, respectively.
k
k
N tetra'
+ N octa
k
k
N tetra
=
k ( k + 1)
k
2
( k ? 1)( k ? 2)
( k ≥ 1)
,
=
2
0
(k = 0)
Nkocta = k (k ? 1)
2
The coordinates of the constituent vertices of a cell in the k-th layer at the l-th row and m-th column (v0 through v5 in Fig. 6)
are calculated as follows based on the cell type. As shown in Fig. 9, W, H, and D are the width, height and depth of a single
S. Smith et al. / Journal of Computational Design and Engineering 00 (2013) 0000~0000
0000
D
H
W
Figure 9. Dimensions of a tetra-cell.
tetra-cell, and the cell type can be determined by Algorithm 1. n tetra , ntetra ' and nocta are the numbers of cells of the same
type included in the 1st through (l-1)th rows of the m-th column in the k-th layer.
tetra-cell
Figure 11. Modeling in progress. Virtual material is blown onto a design shape from the AR marker held by the right hand. The octet-voxels in a triangular pyramid space is dis-played at the maker held by the left hand.
v0 ( (2 n tetra ? m )W , kH , mD)
v1 ( (2 n tetra ? m )W , ( k + 1) H , mD)
v2 ( (2 n tetra ? m ? 1)W , ( k + 1) H , ( m + 1) D)
v3 ( (2 n tetra ? m ? 1)W , ( k + 1) H , ( m + 1) D)
tetra’-cell
v0 ( (2 n