5.3 Layer manufacturing of 3D physical fractal objects

Transcription

5.3 Layer manufacturing of 3D physical fractal objects
ABSTRACT
Fractal object is a promising area for aesthetic product and decoration design of
natural objects (e.g. landscape, surf, snowflake, coral, etc.), physiology and antenna
system. Contemporary computer-aided design (CAD) and computer-aided
manufacturing (CAM) systems can use non-uniform rational B-spline (NURBS)
surface modeling and solid modeling methods for creating Euclidean analytical
objects and free-form objects. But neither can model fractal objects efficiently. Some
researchers have proposed a new method to manufacture fractal objects that are
mainly described by iterated function system (IFS). However, they were restricted to
IFS connected and single contour fractal objects. Therefore, investigation of fractal
objects in this area begins to emerge.
The thesis investigates a novel method to extend layer manufacturing (LM)
technologies to making three dimension (3D) physical fractal objects. First, the
fractal geometry is tentatively classified and the manufacturability of fractal
geometry is then evaluated. Afterwards, the voxel-based conversion mechanism is
proposed to model complex fractal objects, this method can produce n-dimensional
colored fractal objects. Then, a data structure called colored generative quadtree
encoding (CGQE) is proposed. This data structure is devised to reduce the amount of
space necessary to store the data in a computational efficient way. Besides, the
CGQE can easily dispose a disconnected dust of fractal object in order to obtain a
fractal pattern represented by a simple polygonal chain. These conversion methods
can provide a communication bridge between fractal geometry and CAD/CAM
systems to LM the colored fractal objects. Finally, a grid-based navigation algorithm
and a multi-resolution toolpath generation of fractal objects are proposed.
The proposed mechanism and enhanced data structure can be validated via 3D
colored printer (Z-Corp machine), which uses layer manufacturing (LM) process to
fabricate physical prototypes out of plaster based or starch based material. The
proposed methods for toolpath generation are validated by the physical realization of
a typical IFS multiply connected fractal objects, produced on a Stratasys Fused
Deposition Modeling (FDM) machine. It is a typical LM process that can fabricate
prototypes out of amorphous thermoplastic. The method can also be extended for
generating toolpaths in the natural fractal domains.
i
ACKNOWLEDGEMENTS
The work described in this report was substantially supported by a grant from the
Research Grants Council of the Hong Kong Special Administrative Region (Project
No.: B-Q601).
I would like to express my sincere gratitude and appreciation to my supervisor, Dr.
K.M Yu for his constant guidance, encouragement and support through my
postgraduate study at the Departmental of Industrial & Systems Engineering, the
Hong Kong Polytechnic University. Discussions with him throughout the past years
on various research issues were stimulating and fruitful.
My thanks also go to my friends and family for their encouragement and help.
Finally, I would like to thank the administration and technician staff in the
Department of Industrial and Systems Engineering, for their provision of
administration and technical supports.
ii
TABLE OF CONTENTS
ABSTRACT
ACKNOWLEDGEMENTS
LIST OF FIGURES
LIST OF TABLE
NOTATIONS
i
ii
vii
xii
xiii
CHAPTER 1 INTRODUCTION
1-1
1.1 Background of study
1.4 Problems in fractal manufacture
1.5 Aims and scope of the research
1.6 Organization of the thesis
1-1
1-1
1-2
1-3
1-4
1-6
1-6
1-7
1-8
1-9
1-10
CHAPTER 2 LITERATURE SURVEY
2-1
2.1 Existing academic approaches
2-2
2-2
2-3
2-6
2-6
2-9
2-13
2-16
2-19
2-19
2-20
2-22
2-24
2-25
2-26
1.1.1 Fractals in aesthetic product development
1.1.2 Fractals in physiology
1.1.3 Fractals in antenna system design
1.2 Contemporary CAD systems
1.3 Contemporary CAM systems
1.3.1 Traditional CAM systems
1.3.2 Layer manufacturing
2.1.1 Mathematical models of fractal
2.1.1.1 Fractal properties
2.1.1.2 Definition of fractal dimension
2.1.2 Construction modelling of fractals
2.1.2.1 Iterated function system (IFS) fractals
2.1.2.2 Rendering of complex fractals
2.1.2.3 Rendering of quaternion complex fractals
2.1.3 Computer models of fractal
2.1.3.1 Theoretical development of LM of fractal objects
2.1.3.2 Computer fractal models
2.1.4 Toolpath generation with fractal curves
2.1.5 Physical fractal prototypes
2.1.5.1 2D physical fractal pattern generation
2.1.5.2 3D physical fractal prototypes
iii
2.2 Existing commercial solutions
2-28
2-28
2-30
2-32
2.2.1 Fractal design packages
2.2.2 Programming languages
2.3 Summary of limitations
CHAPTER 3 MANUFACTURIBILITY OF FRACTAL
GEOMETRY
3.1 Introduction
3.2 Manufacturability evaluations
3.2.1 Visibility
3.2.2 Connectivity
3.2.3 Initiator of fractals
3.3 Taxonomy of fractal geometry
3.3.1 Taxonomy of IFS fractals
3.3.2 Taxonomy of complex fractals
3.4 Manufacturability of fractal geometry
3.4.1 Manufacturability of fractal geometry using traditional
manufacturing processes
3.4.2 Manufacturability of fractal geometry using layer manufacturing
processes
3.4.3 Limitations of LM technology
3.5 Summary
CHAPTER 4 MODELLING FOR FRACTAL OBJECTS
FABRICATION
4.1 Voxel-based generative algorithm
4.1.1 Computer model of 3D Mandelbrot set
4.1.2 2D pixelized fractal model
4.1.3 2.5D Mandelbrot set
4.1.4 3D Voxelized computer model
4.1.5 NURBS-based voxel models
4.1.5.1 Workflow for making a NURBS-based voxel models
4.1.5.2 Cell decomposition
4.1.5.3 Displacement mapping
4.2 Hybrid algorithm to LM 3D physical fractal object
4.2.1 Boundary shell extraction
4.2.2 Boundary evaluation
4.2.3 Triangulation
4.3 Visualization of quaternion complex fractals
iv
3-1
3-1
3-3
3-4
3-4
3-5
3-6
3-6
3-11
3-16
3-16
3-19
3-20
3-24
4-1
4-1
4-2
4-4
4-8
4-9
4-13
4-13
4-14
4-15
4-18
4-20
4-21
4-24
4-25
CHAPTER 5 ENHANCED DATA STRUCTURE OF
MODELLING
FOR
FRACTAL
OBJECTS FABRICATION
5.1 Methodology
5.2 Generative colored quadtree encoding (GCQE)
5.3 Layer manufacturing of 3D physical fractal objects
5.3.1 Boundary quadtree-based shell extraction
5.3.2 Quadtree-based boundary evaluation
5.3.3 Non-manifold multi-tessellation
5.4 Dust elimination
5.4.1 Dust elimination by quadtree encoding
5.4.2 Dust elimination by “mask” filtering
CHAPTER 6 TOOLPATH GENERATION FOR LM OF
FRACTALS
6.1 Methodology
6.2 Computer model of multiply IFS fractals
6.2.1 Mathematical model of multiply IFS fractals
6.2.2 Slab model
6.3 Resolution adjustment
6.4 Toolpath generation of multiply IFS fractals
6.4.1 Tool size consideration
6.4.2 Contouring toolpath of multiply IFS fractals
6.4.3 Area filling of multiply IFS fractal
5-1
5-1
5-3
5-6
5-11
5-11
5-13
5-14
5-14
5-15
6-1
6-1
6-4
6-4
6-8
6-10
6-15
6-16
6-18
6-20
CHAPTER 7 CASE STUDIES
7-1
7.1 Euclidean transformed fractal objects
7-1
7-4
7-5
7-6
7-8
7-11
7-12
7-17
7.1.1 Fractal with host geometry
7.1.2 Fractals with translational sweep representation
7.2 N-D colored computational fractal models
7.2.1 Voxel-based generative algorithm
7.2.2 Generative colored quadtree encoding
7.2.3 Layer manufacturing of colored and monochrome fractal objects
7.4 Toolpath generation by grid-based navigation algorithm
v
CHAPTER 8 DISCUSSION AND FUTURE WORKS
8-1
8.1 Theory
8-1
8-1
8-4
8-4
8-5
8-8
8-8
8-8
8.1.1 Limitations of modelling for fractal object fabrication
8.1.2 Laminations of GCQE
8.1.2.1 Checker board fractal pattern
8.1.2.2 Computational fractal modeling
8.2 Implementation
8.2.1 Software
8.2.2 Hardware equipments
CHAPTER 9 CONCLUSION
9-1
REFERENCES
R-1
vi
LIST OF FIGURES
Figure 1-1.
Figure 1-2.
Refractal’s Mandelbrot jewel [Refractal Design Inc.]
Encrusted Ring [XenoDream]
1-1
1-1
Figure 1-3.
Figure 1-4.
Natural objects
Kidneys
1-2
1-2
Figure 1-5.
Figure 1-6.
Lungs
Typical fractal geometry designs
1-2
1-3
Figure 1-7.
Figure 1-8.
Euclidean geometry
B-rep solid modeling
1-4
1-5
Figure 1-9.
Figure 1-10.
Figure 1-11.
CSG solid modeling
Layered manufacturing workflow of Euclidean objects
Layer manufacturing workflow of fractal objects
1-5
1-7
1-9
Figure 2-1.
Figure 2-2.
Figure 2-3.
Figure 2-4.
Figure 2-5.
Figure 2-6.
2-4
2-4
2-5
2-5
2-6
2-15
Figure 2-7.
Figure 2-8.
Figure 2-9.
Figure 2-10.
Recursive process of Koch curve
Magnified infinitely
Self-similarity
Taxonomy of similarity
Non-integer dimensions (the Cantor set)
A Mandelbrot set with Julia sets in a constellation diagram
[Falconer 2003]
Rendered Quaternion Julia fractals [Quaternion Julia fractals]
Cross-section of quaternion Julia set [Peitgen 1991]
RGB cube
Sierpinski carpet [Dionnet 1994]
Figure 2-11.
Figure 2-12.
Figure 2-13.
Figure 2-14.
Koch Curve
Quadratic Koch Island
Twist-extruded CAD model [Soo 2002]
Lofted fractal solid CAD model [Soo 2002]
2-20
2-20
2-21
2-21
Figure 2-15.
Sierpinski tetrahedra
2-22
Figure 2-16.
Figure 2-17.
Figure 2-18.
Dragon curve
Fractal scanning path [Yang, Zhang & Liu 2002]
Generating fractals from Voronoi diagrams [Shirriff 1993]
2-22
2-23
2-23
Figure 2-19.
Voronoi diagram of the third generation Koch island fractal
with the offset curves set at a distance of 0.05 [Voronoi
2-24
Figure 2-20.
diagram]
Sierpinski carpet
2-17
2-18
2-19
2-20
2-25
vii
Figure 2-21.
Figure 2-22.
Fractal antenna for a cellular phone [Fractal antenna]
Koch curve
2-25
2-25
Figure 2-23.
Figure 2-24.
Fractal element [Fractal Antennas System]
Quaternion (3D Julia set) [Crawford 1993]
2-25
2-27
Figure 2-25.
Figure 2-26.
Fractal tree rapid prototype [Kerekes 1992]
Sphereflake model and prototype [Soo 2002]
2-27
2-28
Figure 2-27.
Quaternion Julia fractals generated by PovRay software
[Povray.org]
2-29
Figure 2-28.
Figure 2-29.
Figure 2-30.
Mandelbrot set generated by Maple software [Maple]
Fractal model generated by Hyperfun
Z406 system software
2-29
2-30
2-30
Figure 2-31.
Figure 2-32.
Sierpinski Tetrahedra in VRML explorer
2-31
2-31
Figure 2-33.
Figure 3-1.
Figure 3-2.
Figure 3-3.
Figure 3-4.
Figure 3-5
Figure 3-6
Figure 3-7.
Figure 3-8.
Figure 3-9.
Figure 3-10.
Figure 3-11.
Window in C++ program: c= 0.39054 0.58679
Manufacturability evaluation circle
Connectivity
Taxonomy of IFS fractals
IFS fractal objects
Taxonomy of complex fractal objects
Complex fractal objects
Classification of manufacturing processes
Point visibility
Line visibility
Surface visibility
Plane visibility
2-31
3-3
3-5
3-7
3-10
3-12
3-15
3-18
3-18
3-18
3-18
3-20
Figure 3-12.
A colored physical model
3-20
Figure 3-13.
Figure 3-14.
Figure 3-15.
Monochrome and colored prototypes
The Fused Deposition Modeling (FDM) process
Dragon curve
3-21
3-22
3-23
Figure 3-16.
Figure 3-17.
Material overlap of the self-intersecting curve
Multiply connected IFS fractals
3-23
3-24
Figure 3-18.
Figure 3-19.
Support
Internal fractal features
3-24
3-24
Figure 4-1.
Workflow to obtain an approximated 3D computer fractal
models
Generation of QM-Set
4-2
Figure 4-2.
Colored Julia set: c= 0.357 0.181i generated using Visual
Basic
viii
4-3
Figure 4-3.
Figure 4-4.
Rasterization scanning
Pixels Array Variables
4-4
4-5
Figure 4-5.
Figure 4-6.
Figure 4-7.
Window-to-viewport mapping
Half 2.5D Mandelbrot set (single voxel slab),
Voxel rotation
4-8
4-9
4-1
Figure 4-8.
Figure 4-9.
45o rotation of single voxel slab
Snapshot of the 3D voxel approximation model construction
4-11
4-12
Figure 4-10.
process
Workflow for constructing the host geometry
4-13
Figure 4-11.
Figure 4-12.
Euclidean geometry
3D grids
4-14
4-15
Figure 4-13.
Figure 4-14.
Figure 4-15.
Figure 4-16.
Figure 4-17.
Figure 4-18.
Figure 4-19.
Figure 4-20.
Figure 4-21.
Figure 4-22.
Figure 5-1.
Figure 5-2.
Figure 5-3.
Displacement mapping
Six adjacent voxels N6 (V)
Boundary shell extraction
Single voxel V(x1, y1, z1) with its eight corners
Example of boundary evaluation
Eight corner coordinates in VRML code
Schematic diagram of boundary evaluation
Triangulation of voxel shell
Index list of the triangular mesh in VRML code
Monochrome QM-set
Workflow of the GCQE process
Workflow to layer manufacture 3D physical fractal objects
GCQE
4-16
4-20
4-21
4-22
4-22
4-23
4-23
4-24
4-25
4-26
5-2
5-2
5-4
Figure 5-4.
Figure 5-5.
Quadtree Boolean Operations
Topological data structure for the hybrid algorithm
5-5
5-7
Figure 5-6.
Figure 5-7.
A stack of slabs (S)
Starting point of level k of quadtree and it’s size of quadrants
respectively
5-11
5-12
Figure 5-8.
Four corners of quadtree-based shell for six faces with
5-12
Figure 5-9.
Figure 5-10.
multi-resolution
The color index of the triangular mesh
Mandelbrot set: quadtree encoding starts from level six and
stops at level one
Figure 5-11.
Mandelbrot set: quadtree encoding starts from level six and
5-15
Figure 5-12.
stops at level two
Higher resolution of Julia set
5-15
ix
5-13
5-14
Figure 5-13.
3 u3 filter mask
5-16
Figure 5-14.
Mask filtering of interior and exterior of the 1u1 pixel
5-17
Figure 5-15.
Figure 5-16.
Noisy areas get smoothed out
Different shapes of Fatou dust
5-19
5-22
Figure 5-17.
Figure 6-1.
Julia set without dust
Contouring and area filling
5-22
6-2
Figure 6-2.
Figure 6-3.
Figure 6-4.
The workflow of approximating 2D fractal objects
The workflow of LM fractal objects
Menger sponge
6-3
6-3
6-5
Figure 6-5.
Figure 6-6.
Figure 6-7.
2D computer models of Menger sponge
2nd level Sierpinski carpet obtaining from F1 to F2
Approximation: rounding up or down
6-8
6-9
6-11
Figure 6-8.
6-12
Figure 6-13.
Relationships between rounding up/down of the pre-fractal in
x-dimension
Relationships between rounding up/down of pre-fractal in
y-dimension
Toolsize consideration with negative tolerance
Snapshots of clustering and binary dilation
Notation used for defining the relative locations of pixels with
respect to a pixel P
Grid definition
Figure 6-14.
Figure 6-15.
Morphological outlining
Slab contour is obtained by a number of closed connected
Figure 6-9.
Figure 6-10.
Figure 6-11.
Figure 6-12.
Figure 6-16.
Figure 6-17.
linear segments
Rays in one slab
6-13
6-16
6-17
6-18
6-19
6-19
6-20
6-22
6-22
¦ RR k
k
Figure 6-18.
Multi-view orthographic projection representation of area
filling (F2)
6-22
Figure 7-1.
Figure 7-2.
Figure 7-3.
Examples of fractal image
Host geometry on NURBS surface
Host geometry on Euclidean object’s surface
7-4
7-4
7-5
Figure 7-4.
Julia set with dome feature
7-6
Figure 7-5.
Figure 7-6.
Figure 7-7.
Volcano of Mandelbrot set
QJ-sets
Colored QJ-set
7-6
7-9
7-10
x
Figure 7-8.
Figure 7-9.
Menger sponge
Colored QJ-set, q= 0.368, 50.1, 0.03, 0.01
7-10
7-11
Figure 7-10.
Figure 7-11.
Figure 7-12.
Quadtree representation of half 4D Julia set, q= -1, 0.2, 0, 0
ZTM406 3D color printer [Z-Corp.]
3D printing process
7-12
7-13
7-13
Figure 7-13.
Figure 7-14.
Slab model of QM-set
Slab model of QJ-set
7-14
7-15
Figure 7-15.
Figure 7-16.
Colored half QJ-set, q= -0.08, 0, -0.8, -0.3
Fractal object in STL format
7-15
7-16
Figure 7-17.
Figure 7-18.
QJ-set in 3D Studio MAX
Stratasys (fused deposition modeling) FDM-1600 [PolyU
7-17
7-18
Figure 7-19.
Figure 7-20.
Facility]
Toolpath and physical FDM prototype of Menger sponge
Toolpath of QJ-set
7-19
7-20
Figure 7-21.
Figure 8-1.
Figure 8-2.
Figure 8-3.
Figure 8-4.
Figure 8-5.
Figure 8-6.
Figure 8-7.
Example of SML format
Natural objects
Human body
Fractal blood vessels
A checker board
Quadtree-based boundary shell of the quarter QM-set with
118,416 facets and 6.2 MB storage space
Voxel-based boundary shell of the quarter of QM-set with
143,246 facets and 9.31MB storage space
Octree encoding
xi
7-20
7-22
8-1
8-2
8-3
8-5
8-6
8-7
LIST OF TABLE
Table 3-1.
Capabilities of layer manufacturing techniques to types of
fractal
xii
3-26
NOTATIONS
DH
Hausdorff dimension
LG
The measured length
(X, d)
A metric space with metric d
H , h(x)
Hausdorff space, Hausdorff metric
T
Transformation
W
A set of contractive transform
M
Mandelbrot set
Jc
Julia set with different parameter c
Ec
Escape set for the parameter c
Pc
Prisoner set for parameter c
* , * , *
Regularized union, intersection and difference of sets
Ž,Œ
A proper subset, not a proper subset
,
Belongs to, not belongs to
‡
A void set
Vi
A volume
S
Plane
n
Normal
D
Distance
V
Surface
w (x)
Single voxel boundary shell
Gi
Single voxel or quadrant-based shell
'x, 'y, 'z
x, y, z- LM machine resolution
xiii
Two-, three- and n-dimensional Euclidean space respectively
,
,
Real number in two-, three- and n-dimensional Euclidean space
respectively
Quaternion space
Complex plane
The integers
M M ' M ''
2D, 2.5D and 3D rotated Mandelbrot set
ാ, †
Erosion and dilation operators respectively
E(Fn)
Contouring toolpath of fractal pattern
w1(Fn)
Area filling toolpath of fractal pattern
t,d,#
Large than or equal to, less then or equal to, approximately equal to
, There exists, for all
xiv
CHAPTER 1 INTRODUCTION
1.1Background of study
1.1.1 Fractals in aesthetic product development
Recently, fractals, which can describe irregularly shaped objects or spatially
nonuniform phenomena that cannot be described by Euclidean geometry, have
become an important area for aesthetic product development (Figure 1-1) and
decoration designs (Figure 1-2). Such designs take the aesthetically appealing forms
of real-world objects (Figure 1-3), such as rugged terrains, clouds, landscapes,
foliage, mountains, turbulence, and coastlines that do not correspond to simple
geometric shapes.
Figure 1-1. Refractal’s Mandelbrot
jewel [Refractal Design
Figure 1-2. Encrusted Ring
[XenoDream]
Inc.]
1-1
Figure 1-3. Natural objects
1.1.2 Fractals in Physiology
Fractal geometry are applied in ecology [Sugihara 1990] and used for representing
some complicated structures, like the circulatory, respiratory, and nervous systems of
kidneys (Figure 1-4), lungs (Figure 1-5) [Fractals in Physiology] and others.
Figure 1-4. Kidney
Figure 1-5. Lung
1-2
1.1.3 Fractals in antenna system design
Fractal geometry has been successfully introduced the disruptive antenna system
design into many telecommunication and wireless markets serving commercial,
industrial, military, and security applications. Some of them have been carefully
analyzed under different scopes in the field of fractal electrodynamics. For instance,
the Koch, Minkowski, Hilbert, and Peano curves, the Sierpinski gasket, the
Sierpinski carpet, the Mandelbrot set and the Koch Island are typical examples to be
found in the literature on antennas. Figure 1-6 shows typical designs of fractal
geometry.
Figure 1-6. Typical fractal geometry designs
1-3
1.2 Contemporary CAD systems
Contemporary computer-aided design (CAD) and computer-aided manufacturing
(CAM) theories and systems are well developed only for Euclidean analytical
objects and free-form objects (e.g. car bodies). Euclidean geometry (Figure 1-7) is
comprised of lines, planes, rectangular volumes, etc. These elements can be
classified as belonging to an integer dimension, either one, two, or three. This
concept of dimension can be described both intuitively and mathematically
[Mortenson 1995].
(a) A line
(b) A plane
(c) The volume
Figure 1-7. Euclidean geometry
Contemporary CAD systems, in particular the commercial ones, are either based on
solid or surface modeling systems. Two common choices are usually used to
represent the 3D object, called a boundary representation or B-rep (Figure1-8) for
short, and a volume-based representation, which is called constructive solid
1-4
geometry (CSG) for constructive solid geometry (Figure1-9). Solid modeling,
usually encountered as CSG, allows combining simple shapes to create complex
solid models. CSG has its mathematical foundations in topology, algebraic geometry,
and Boolean algebra. However, depending on the particular CAD modeling system
being used, the modeling capability is limited to the availability of suitable solid
primitives.
\Figure 1-8. B-rep solid modeling
Figure 1-9. CSG solid modeling
Freeform curve representations, being used in contemporary CAD systems, are
Bezier, B-spline or the more general Non-Uniform Rational B-Spline (NURBS)
curves. They present usually smoother shapes and are indicated for modeling
organic shapes. These representations can represent Euclidean shapes which
normally have a few characteristic sizes or length scales (e.g. the radius of a circle or
1-5
the length of a cube) to provide a good description of man-made objects. Euclidean
geometries are defined by algebraic formula, for example, x2+ y2 = r2 defines a
sphere.
However, all these representations cannot model the fractal objects. The reason is
that fractals are a modern invention, with no specific size or scale and is described
by an algorithm for the representation of naturally occurring geometries. Fractals are
normally the result of an iterative or recursive construction or algorithm.
1.3 Contemporary CAM systems
1.3.1 Traditional CAM systems
At the present time, processes such as injection molding, die casting, and stamping
account for a high percentage of the parts that are manufactured worldwide. All
three of these processes are well suited for mass production. However, these
processes are difficult to use to make aesthetically appealing physical objects with
complex shapes.
1-6
1.3.2 Layer manufacturing
The layer manufacturing (LM) technology, also known as solid freeform fabrication
(SFF) or rapid prototyping (RP) is a new kind of manufacturing process. LM is a
potential candidate for physically making aesthetically appealing object. CAD
technology serves as the input of Euclidean geometry for LM. LM represents a class
of recently developed additive and/or subtractive manufacturing processes, and three
dimensional (3D) physical Euclidean objects are constructed layer by layer using
materials such as plastic and wax. The LM workflow of Euclidean objects is shown
in Figure 1-10.
3D Euclidean object
Solid or surface modelling
Solid or surface model
Facetting
STL file
Direct slicing
Slicing
2D slab model
Toolpath generation
Toolpath
Layer manufacturing
3D physical Euclidean
object
Figure 1-10. Layered manufacturing workflow of Euclidean objects
1-7
In the first stage, a computer model of a Euclidean object is generated with the help
of CAD systems. The facetting step then approximates the original model with
triangular facets, usually in the form of STL format. The purpose of the slicing stage
is to prepare the 2D-section information for LM toolpath generation. The slab model
can be obtained by slicing the STL file, or directly from the computer model. Finally,
the geometric information in the toolpath is converted into LM machine codes to
generate a physical prototype. LM technology clearly provides excellent capability
to fabricate three-dimensional physical objects. However, LM technology, similar to
contemporary CAD/CAM systems, can process only Euclidean geometry.
1.4 Problems in fractal manufacture
It has been noted that the use of LM in fine arts is very limited. A major difficulty in
utilizing fractal geometry is the modeling of fractal objects. The conventional
CAD/CAM systems have no capability for modeling fractal objects. The reason is
that they are based either on solid modeling method or on surface modeling method,
which can model man-made objects belonging to the Euclidean geometry, but does
not address the fractal geometry. Thus, it is valuable to propose a novel CAD/CAM
process to make fractal objects.
1-8
1.5 Aims and scope of this research
The main objectives of this research are modelling and layer manufacturing of 3D
physical fractal objects. In this research, the scope will be limited to fractal
geometry as the starting point. The input of 3D fractal mathematical models is well
defined in previous research but little of it focuses on the making of 3D physical
fractal objects. Therefore, the LM of 3D physical fractal objects will be addressed,
and the LM workflow of fractal object is shown in Figure 1-11.
Figure 1-11. Layer manufacturing workflow of fractal objects
1-9
1.6 Organization of the thesis
This thesis is organized as follows:
Chapter 1 is an introduction which covers the background of the study, the
applications of fractal geometry, problems in fractal manufacture, and the aims
and scope of the research.
Chapter 2 provides a comprehensive literature review which is relevant to the
research work in this report, including more detailed background information of
the study as well as previous works on layer manufacturing of fractal objects.
Statements of the problem to be tackled are also presented.
Chapter 3 discusses the manufacturability of fractal geometry in detail.
Chapter 4 proposes a method to construct n-dimensional computer fractal
models and describes the hybrid conversion algorithm for the LM of fractal
objects
Chapter 5 explains the enhanced data structure for the LM of fractal objects
Chapter 6 elucidates the toolpath generation of fractal objects
Chapter 7 demonstrates the implementation of the proposed method with a
specific example by going through the entire workflow of LM of fractal objects.
Chapter 8 discusses the main results encountered in the research, the drawbacks
and limitations of the theory and implementation and suggests possible ways for
1-10
tackling the deficiencies.
Chapter 9 summarizes the research contribution and provides directions for
future works.
1-11
CHAPTER 2 LITERATURE SURVEY
The impetus for this research is the need to manufacture organic designs derived
from forms occurring in nature. B. Mandelbrot coined the word “fractal” in 1975 to
realistically describe natural objects in computer graphics with irregular or
fragmented and self-similar features. However, no commercial CAD/CAM systems
allow the efficient manipulation of fractal geometry.
In this chapter, the major achievements of current fractal formation research are
summarized to identify the existing solutions by academic and commercial
approaches. First, the existing solutions for academic approaches including
mathematical models of fractals, construction modelling of fractals, computer model
of fractals, toolpath generation with fractal curves and physical fractal prototypes are
reviewed in Section 2.1. Next, the existing solutions for commercial approaches
including CAD/CAM systems, fractal design packages, and programming languages
are reviewed in Section 2.2. The problems of the existing solutions are summarized
in Section 2.3.
2-1
2.1 Existing academic approaches
In this research, fractal geometry realization will be investigated to supplement
aesthetic product design and manufacturing. The following sections will thus review
the state-of-the-art technology in fractal geometry computer representation and
fabrication.
2.1.1 Mathematical models of fractal
Mandelbrot [Mandelbrot 1975] introduced the term 'fractal' (from the Latin fractus,
meaning 'broken') to characterize spatial or temporal phenomena that are continuous
but not differentiable. Fractal is defined as a rough or fragmented geometric shape
that can be subdivided in parts, each of which is (at least approximately) a reducedsize copy of the whole. Mathematically, a fractal is defined as a set of points whose
fractal dimension exceeds its topological dimension [Mandelbrot 1983].
Fractal objects and processes are therefore said to display 'self-invariant' (selfsimilar or self-affine) properties [Hastings & Sugihara 1993]. Self-similar objects
are isotropic upon rescaling, whereas the rescaling of self-affine objects is directiondependent (anisotropic).
Fractal geometry proves to be a unifying theme in ecology, since it permits the
2-2
generalization of the fundamental concepts of dimension and length measurement.
Most natural objects and structures are decidedly non-Euclidean, displaying
discontinuities, jaggedness, and fragmentation. Classical measurement and scaling
methods such as Euclidean geometry, calculus and the Fourier transform, assume
continuity and smoothness. It is important to recognize that while Euclidean
geometry is not realized in nature, neither is strict mathematical fractal geometry.
However, natural objects can be manufactured using fractal geometry [Falconer
1996 and Falconer 2003] which is far closer to nature than is Euclidean geometry.
2.1.1.1 Fractal properties
Fractal properties include: (1) the construction of a fractal is based on an iterative (or
recursive) process (Figure 2-1); (2) a fractal when magnified is infinitely complex
(Figure 2-2); (3) upon magnification of a fractal, subsets of it can be found that
resemble like the whole figure. This feature is called self-similarity (Figure 2-3) –
the taxonomy of similarity is shown in Figure 2-4. (4) The dimension of a fractal is
typically a non-integer or a fraction, meaning its dimension is not a whole number
and its formation is by iteration, and hence has non-integer complexity (Figure 2-5).
2-3
Figure 2-1. Recursive process of Koch curve
Figure 2-2. Fractal magnified infinitely
2-4
Figure 2-3. Self-similarity (a) natural object, (b) the logistic equation
Figure 2-4. Taxonomy of similarity
2-5
Figure 2-5. Non-integer dimensions (the Cantor set)
2.1.1.2 Definition of fractal dimension
Fractal theory offers methods for describing the inherent irregularity of natural
objects. In fractal analysis, the Euclidean concept of ‘length’ is viewed as a process.
This process is characterized by a constant parameter, known as the fractal (or
fractional) dimension. The fractal dimension can be viewed as a relative measure of
complexity, or as an index of the scale-dependency of a pattern. Summaries of basic
concepts of fractal geometry can be found in Mandelbrot [Mandelbrot 1983, Frame
2002 and Falconer 2003], Schroeder [Schroeder 1991], Turcotte [Turcotte 1992],
Hastings and Sugihara [Hastings 1993], Lam and De Cola [Lam 1993] and in many
of the references cited below.
A fractal is by definition a set for which the Hausdorff-Besicovitch dimension
strictly exceeds the topological dimension [Mandelbrot 1983] and a fractal is a shape
made of parts similar to the whole in some way. The definition of a fractal mainly
2-6
depends on the dimension relationship of Geometric Measure Theory [Federer 1969],
especially on the concept of Hausdorff measure and Hausdorff dimension. The
definition of Hausdorff dimension DH is completely described according to
Mandelbrot [Mandelbrot 1983] as follows:
Consider estimation of the length of a complex 'coastline'. For a given spatial
scale G, the total length LG is estimated as a set of N straight-line segments of
length G. Because small 'peninsulas' and other features not recognized at coarser
scales become apparent at finer scales, the measured length LG increases as G
decreases [Mandelbrot 1967]. This dependence of length on measurement scale is
a fundamental feature of fractal objects. The relationship between length and
measuring scale is summarized by the power law:
LG= G (1 - DH)
(2.1)
Mathematical fractals exhibit exact self-similarity across all spatial or temporal
scales, such that successive magnifications reveal an identical structure. One
example is the Koch curve [Sugihara 1990], a fractal object in which a reduction
in the measuring scale by one-third (Gn+1/ Gn = 1/3) increases the measured length
by four-thirds (Ln+1/Ln) = 4/3. Substituting into the power law relationship:
2-7
(Ln+1/Ln) = (Gn+1/ Gn)1- DH H
(2.2)
(4/3) = (1/3)1- DH
4 = 3 DH
DH = log 4/log 3 = 1.26
Conversely, given a self-similar object of N parts scaled by ratio r, a D dimensional
self-similar object can be divided into N smaller copies of itself, each of which is
scaled down by a factor r where r =
1
D
DH =
N
, and its Hausdorff dimension is given by
log( N )
1
log( )
r
(2.3)
2.1.2 Construction modelling of fractals
There are many fractal construction methods available such as Lindenmayer’s, who
[Lindenmayer 1968] proposes the L-system method for modelling 3D fractal objects.
Barnsley and Demko [Barnsley & Demko 1984] propose the method of the iterated
function system (IFS). Naylor, Laurie and Demko [Naylor, Laurie & Demko 1985]
present the application of the theory of IFS to geometric modelling. The Julia set is
named after Gaston Julia (1893-1978), the French mathematician who first explored
complex fractal concepts, and, the Mandelbrot set is named after Benoit Mandelbrot
2-8
(1924- ), a brilliant Polish mathematician [Mandelbrot 1997]. Moreover, most fractal
models feature a stochastic component, and there are numerous researchers who
propose new approaches to the synthesis of natural objects, such as Szeliski and
Terzopoulos [Szeliski 1989] who propose a method to generate non-smooth,
irregular shapes, such as mountainous terrain. Oppenheimer [Oppenheimer 1986]
presents a fractal computer model of branching objects (e.g. plants, trees, etc.).
Gavin [Gavin 1986] presents a recursive subdivision method to generate a fractal
mountain. Musgrave, Kolb and Mace [Musgrave 1989] present a new approach to
the synthesis of fractal terrain height fields. In this research, the construction of
multiply connected IFS and complex fractal objects are the main focus, and they will
be briefly reviewed in the following sections.
2.1.2.1 Iterated function system (IFS) fractals
Fractals are found extensively in everywhere [Barnsley 1988], it can reproduce
realistic shapes, such as mountains, clouds, or plants can be generated by a set of
affine transformations W in the plane {wq }W
q 1:
o
§ rq1 cos T q1 rq 2 sin T q 2 ·
¸
wq (x) = Aqx + tq = ¨¨
¸
sin
cos
T
T
r
r
q
1
q
1
q
2
q
2
¹
©
which can be written as:
§ x · § t q1 ·
¸
¨¨ ¸¸ ¨¨
¸
t
y
q
2
© ¹ ©
¹
(2.4)
where x and y are the coordinates of point p. If rq1=rq2=rq with 0< rq <1, and
2-9
șq1=șq2=șq, the IFS transformation is a contractive similarity (angles are preserved)
where rq is the scale factor and șq is the rotation angle. The column matrix tq is just a
translation on the plane.
Creating the complete image IFS representation for an arbitrary image, two
properties need to be defined, that of contractive mapping which specifies that a
final image is always achievable and the collage theorem which shows how affine
transforms can be combined. These two points will be briefly reviewed.
The contractive mapping principle ensures that there exists a unique fixed point
known as an attractor. An affine transformation W is contractive on two points, x1, x2,
if distance, d (x), is of the form,
d(W(x), W (y)) < sd(x, y)
(2.5)
for some s < 1. The Contractive Mapping Fixed Point Theorem states that ‘if X is a
complete metric space, then W has a unique fixed point g’. This can be proved using
iteration. Given x X create the sequence of points,
i W (x) = x, W (x) = W (x), … , W (x) = W (... W ( x) ...)
0
1
i
(2.6)
Now given the distance relation
d(W i+1(x), W i+2(x)) < sd(W i+1(x), W i+2(x))
2-10
(2.7)
so that at each step the distance to the next point in the sequence is smaller than the
distance from the previous point by a factor of s<1. As geometric steps are taken and
the space has no gaps, being a metric space, it must converge into a single point g,
i.e.
lim W i ( x)
g
i of
(2.8)
The fixed point is unique. Consider that there are two fixed points, x1and x2, so W(x1)
= x1, W(x2) = x2. As W is contractive, then
d(x1, x2) < sd(W(x1), W (x2)) = sd (x1, x2)
(2.9)
but as s<1 this inequality cannot hold and therefore the fixed points g = x1= x2 is
unique for any initial value of x. For those fixed point g = F g is the best possible
approximation of the original image. The IFS theorem states that given a set of
contractive transform, W = {wi: i = 1,…, N}, defined as
N
W(x) = wi ( x) , x  X
(2.10)
i 1
Then when the contractive factor is s,
d(W(x), W (y)) < sd(x, y)
(2.11)
that has a unique fixed point, or attractor of the IFS, g, such that,
g = W(g)
lim W i ( x) , x  X
i of
2-11
(2.12)
For point sets the normal distance functions have to be slightly modified and the
Hausdorff function is a suitable representation. Given a complete metric space (X, d),
the Hausdorff space, H where H (X) represents the space whose points are the
compact subsets of X excluding the empty set. The Hausdorff metric, h defines the
distance between the sets A and B  H (X), by
H (A, B) = max {d(A, B), (B, A)}
(2.13)
d (A, B) = max {d(x, B): x A } and d (x, B) = min {d(x, y): y B }
(2.14)
where d is a standard distance function. Euclidean distance function are commonly
used,
d (x, y) =
( x1 y1 ) 2 ... ( x n y n ) 2
(2.15)
This is a measure that indicates in a general sense how similar two images are. To
create large complex images say, T, from many transforms. Given an IFS code {wi: i
= 1,…, N} with contractive factor 0d s<1, then
h(T, g) d
·
1 §¨ N
h¨ T , wi (T ) ¸¸
1 s © i 1
¹
(2.16)
where g is the attractor of the IFS and h(x) is the Hausdorff metric. The collage
theorem tells us that in order for T and g to be close it is sufficient that T and
N
wi (T ) are close.
i 1
2-12
There are many simple IFS fractal construction methods available such as Shimasaki,
et al. [Shimasaki 1995] which presents trees and corals modelling method by using
the IFS method. Zair and Tosan [Zair 1996] also use the IFS technique to model the
fractal objects with free-form surfaces, the control points of which can then affect
the shape of the fractal objects. Martyn Tomek [Tomek 2001] describes a method for
ray tracing of fractals specified by the IFS method and John C. Hart and Thomas A.
DeFanti [Hart 1991] have used the IFS enhancement method to render of 3D linear
fractals. However, none of these could communicate with contemporary CAD/CAM
systems.
2.1.2.2 Rendering of complex fractals
Complex fractal mainly includes Julia set and Mandelbrot set. B. Mandelbrot has
developed and popularized a relatively novel class of mathematical functions known
as fractal. The Mandelbrot fractal is generated by iterating a quadratic polynomial in
the complex plane
and represented on computer graphic [Raúl 1991].
For the Mandelbrot set, the function is defined in the iterative synthetical
formulation and the complex plane:
M ={c|znѰ’, z n2 1 + c, z0 = 0}
where c is constant and n is level of iteration.
2-13
(2.17)
Note the contrast between the shape complexity of the set M and the simplicity of
the iteration zn= z n21 + c. From classical theorems of Fatou and Julia [Branner 1989],
associated with each parameter value c, there is a Julia set Jc which is defined as the
boundary of Mandelbrot set,
Jc = {z|znѰ’, z n2 1 + c, z0 = z}
(2.18)
where Jc of function fc: zoz2 is connected iff cM, M consists of all complex
numbers c for which the sequence f(z), f(f(z)), f(f(f(z))), f(f(f(f(z)))), … remains
bounded and does not diverge to infinity. The boundary of M is self-similar. Noted
that self-similarity is a characteristic property of fractal.
The amazing zoo of Julia set is built on the iteration of Jc. In reality, it is only a
visualization of the escape set E for an arbitrary choice of c, because whatever
remains will then be the prisoner set P, and the common boundary between E and P
is the Julia set.
The more precise definition is that the escape set for the parameter c is
Ec = {z0: |zn|o ’, as n o ’}
(2.19)
In this definition the orbit z0, z1, z2, z3, … of the initial point z0 is of course given by
zn = z n2 1 + c, n = 0, 1, 2, ….
The prisoner set for parameter c is
Pc = {z0: |z0| Ec }
2-14
(2.20)
It is the complement of Ec. The Julia set for parameter c is the boundary of the
escape set Ec. A point is a boundary point if arbitrarily close to it. Recursive function
has been used to plot the distributions of galactic clusters and to generate the family
of Julia set on a grid of pixels for viewing on a graphic screen.
In complex fractal, Mandelbrot set includes the family of Julia set including
connected sets (Fatou set) and Cantor sets (Fatou dust). Some special cases for
Mandelbrot set are shown in Figure 2-6 [Falconer 2003 and Peitgen 1986].
Dendrite fractal
Douady's rabbit
fractal
Siegel disk fractal
San marco fractal
Fatou dust
Figure 2-6. A Mandelbrot set with Julia sets in a constellation diagram [Falconer
2003]
2-15
2.1.2.3 Rendering of quaternion complex fractals
Quaternion Julia set QJ-set is found in the same way as complex Julia set, by
iterating the function fc (z) = z2+ c for quaternions, and see if fc (z)o f . Moreover,
the notion of prisoner and escape sets from the complex can be extended to the
quaternion space. The set of quaternions is denoted
and it was discovered by
William R. Hamilton [Hamilton 1969]. A quaternion value z
can be represented
by the symbol z = a + bi + cj + dk as a four-tuple of independent real values (a, b, c,
d) assigned to one real part and three imaginaries : i, j, k such that
i2 = j2 = k2 = -1
(2.22)
and
ij = k; jk = i; ki = j
(2.23)
but
ji = k; kj = i; ik = j
(2.24)
Alternatively, QJ-set is created as the “dynamics of eiT” which illustrates the
transition in structure of the Julia set that occurs along the boundary. The formula of
QJ-set defines a Julia set in the complex plane that is congruent to the Julia set of z
+ c by any angle T about the origin in the complex plane.
2-16
2
Let gT(z) =e
the origin in
iT
be a function that rotates point z by T radians counter-clockwise about
. A new function is
fT(z)= gT o f o gT-1(z)
=e
–iT 2
z +e
iT
(2.22)
c
This change of the formula does more than just a rotation in the quaternion, but also
a change in the topological structure of the Julia set. The QJ-set (Figure 2-7) can be
visualized on a 2D plane by using the z-buffer projection [Norton 1982] and has
been rendered by a boundary-tracking algorithm [Norton 1982 and Norton 1989], a
ray-tracing algorithm [Hart 1989], and the inverse iteration method [Hart 1990].
Figure 2-7. Rendered Quaternion Julia fractals [Quaternion Julia fractals]
2-17
QJ-set is created by 2D Julia sets in the xy-plane and continuously creating new
Julia set by incrementing z. And, the QJ-set with cut open 2D cross-section shows
the corresponding Julia set in the complex plane (Figure 2-8) [Peitgen 1991].
Figure 2-8. Cross-section of quaternion Julia set [Peitgen 1991]
To obtain a colored complex set, the RGB color information of each voxel will be
added via the orbit of the seed z0, and the orbit is defined as f(z0), f 2(z0), …, f n(z0)
,…, where f
n
is the nth composition of recursion function f. The RGB color model
[Foley 1996] used in color CRT monitors and color raster graphics employs a
Cartesian coordinate system (Figure 2-9).
2-18
Grays are on the
dotted main diagonal
Figure 2-9. RGB cube
2.1.3 Computer models of fractal
2.1.3.1 Theoretical development of LM of fractal objects
In recent years, some researches to manufacture fractal objects have been proposed
which are mainly described by IFS. Dionnet [Dionnet 1994] claimed a method to
enable
the
Serpienski
carpet
(Figure
2-10)
to
be
manufactured.
The
Stereolithography apparatus (SLA), which is a LM machine, is used. However, they
have not considered the efficiency of the data storage and have not physically made
any multiply connected IFS fractal objects.
2-19
Figure 2-10. Sierpinski carpet [Dionnet 1994]
2.1.3.2 Computer fractal models
In [Soo 2000; Soo 2002; Soo 2002 and Soo 2003], a new method (blossoming) and
structure (RBT structure) is proposed which is based on the IFS fractal generation
method to fabricate the simply connected, single contour IFS fractal objects such as
Koch curve (Figure 2-11) and Quadratic Koch Island (Figure 2-12), etc..
Figure 2-11. Koch Curve
Figure 2-12. Quadratic Koch Island
2-20
A simple IFS fractal curve boundary can sweep out simple 3D fractal computer
model such as twist-extruded fractals (Figure 2-13) and lofted fractals (Figure 2-14).
Figure 2-13. Twist-extruded CAD model [Soo 2002]
Figure 2-14. Lofted fractal solid CAD model [Soo 2002]
However, the generation of multiply connected fractal objects such as the Sierpinski
tetrahedra (Figure 2-15) or the self-intersecting curve (e.g. dragon curve) (Figure 216) have not been addressed. Moreover, many common fractal objects, such as the
2-21
Mandelbrot set and the Julia set, cannot be modeled directly because they are
constructed from complex set mapping.
Figure 2-15. Sierpinski tetrahedra
Figure 2-16. Dragon curve
2.1.4 Toolpath generation with fractal curves
Many fractal generation packages have been developed and used to create computer
graphic image, but very little provides any media to communicate with the CAM
systems. Many fractal curves have been used in toolpath generation in numerical
control (NC) machining. One fractal curve, the Hilbert curve (Figure 2-17), has been
used as a scanning path in selective laser sintering (SLS) to improve the prototype’s
physical performance [Liu 2002]. Cox, Takezaki, Ferguson, Kohkonen & Mulkay
[Cox 1994] and Griffiths [Griffiths 1994] have also proposed methods for toolpath
generation with Hilbert curves. Their methods, however, are applications of fractal
2-22
curves and none of them proposes any physical generation methods to manufacture
the fractal objects. Because of these, there are considerable interests in further
developing a new CAD/CAM process to LM the fractal objects.
Hilbert curve
Figure 2-17. Fractal scanning path [Liu, Zhang & Yang 2002]
K. Shirriff used Voronoi diagrams (Figure 2-18) to generate interesting fractal
patterns that resemble leaf veins, roadmaps and cracked pottery glaze [Shirriff 1993].
Figure 2-18. Generating fractals from Voronoi diagrams [Shirriff 1993]
2-23
S. McMains [McMains, Smith, Wang and Séquin, 2000] developed an algorithm for
robustly building the Voronoi diagram (VD) of a set of 2D oriented, piecewise linear
contours that represent a single slice layer from the 3D part. The VD can be used to
identify the minimum feature dimensions of the part. The VD can also be used to
generate robust offset contours which can be used to create FDM tool paths (Figure
2-19). Contour offsetting can be used to generate thin-walled versions of a solid part.
The semi-hollow thin-walled part uses less material and consequently can be built
faster. However, it is restricted to generate the toolpath of simply IFS representation.
Figure 2-19. Voronoi diagram of the third generation Koch island fractal with the
offset curves set at a distance of 0.05 [Voronoi diagram]
2-24
2.1.5 Physical fractal prototypes
2.1.5.1 2D physical fractal pattern generation
A Sierpinski carpet (Figure 2-20) is a fractal that can efficiently pack long lengths
into small volumes; thus makes it suitable to be used in mobile phone antenna
(Figure 2-21) [Gianvittorio 2001 and Gianvittorio 2002]. Another example is Koch
curve (Figure 2-22) which is also suitable in mobile phone antenna and electronics
applications [Fractal Antennas System] (Figure 2-23).
Figure 2-20. Sierpinski carpet
Figure 2-21. Fractal antenna for a
cellular phone
Figure 2-22. Koch curve
Figure 2-23. Fractal element [Fractal
Antennas System]
2-25
However, the manufacturing process does not involve any NC machining. It is
limited to produce 2D physical fractal patterns for fractal antenna system design.
These methods, however, are applications of fractal patterns and none of them
proposes any modelling method or physical generation of fractal object.
2.1.5.2 3D physical fractal prototypes
Richard Crawford and his students seem to be the first team to make a QJ-set
(Figure 2-24) using SLS machine [Crawford 1993]. Swinging (rotational swept)
technique is employed to generate the physical solid model of the QJ-set. However,
this tends to limit the design varieties as this method cannot produce fractal object
with fragmented features and the fractal pattern are limited to axi-symmetric based
model. Kerekes [Kerekes 1992] seems to be the first person to make a fractal rapid
prototype three-dimensionally (Figure 2-25). Nonetheless, Kerekes has not
mentioned any direct CAD modelling nor report of any details.
2-26
Figure 2-24. Quaternion (3D Julia set) [Crawford 1993]
Figure 2-25. Fractal tree rapid prototype [Kerekes 1992]
Soo [Soo 2002] seems to be the first person to develop a complete method to LM
different kinds of IFS fractals. The fractal objects are produced by using FDM. One
example is sphereflake snowball (sphere-like) (Figure 2-26) [Soo 2002]. However, it
is restricted to LM of simply connected and single contour fractal objects. The
2-27
sphereflake which is simple and has low resolution can also be easily modelled by
using existing CAD systems. Also, it does not concern the limitation of machine
resolution and working envelope of LM machines. Besides, all the above-mentioned
methods can only build the monochrome physical fractal models.
Figure 2-26. Sphereflake model and prototype [Soo 2002]
2.2 Existing commercial solutions
2.2.1 Fractal design package
Up to now, fractal modelling and design packages in the commercial sector are
almost for computer graphics generation using solely rendering methods (e.g.
shaping and ray tracing, etc.) and 3D object is projected on a plane by axonometric
projection [Lee 1999]. Through the medium of computer graphics (CG) and its
rendering capability, a fractal model becomes the basis for exploring the aesthetic of
some objects. For example, PovRay [Povray] and Maple [Maple] can produce a
2-28
number of computer graphics (Figures 2-27 and 2-38) of fractals but do not export
any 3D models for CAD system.
Figure 2-27. Quaternion Julia fractals
generated by PovRay
software [PovRay.org]
Figure 2-28. Mandelbrot set generated
by Maple software
[Maple]
There is only one software - Hyperfun [HyperFun] that can export the computer
graphics to VRML file format and be viewed in VRML explorer (Figure 2-29). The
VRML file format can only be exported to colored LM machines (e.g. Z-Corp 3D
colored printer) to manufacture a prototype (Figure 2-30). However, VRML file
format cannot be used for all kinds of LM machine (e.g. FDM, SLA, SLS, etc.)
Moreover, the model is generated by swinging technique [Sourin 1996]. As
mentioned before, the swinging method cannot describe fractal objects with
fragmented features and the fractal pattern is only limited to the axi-symmetrical
2-29
type.
Figure 2-29. Fractal model generated
by Hyperfun
Figure 2-30. Z406 system
2.2.2 Programming language
Some programming language, e.g. Virtual Reality Modelling Language, OpenGL,
etc., can generate 3D IFS fractal objects easily (e.g. Sierpinski tetrahedra) but can
only be visualized via a browser (Figure 2-31). Some programming language, such
as Visual Basic (Figure 2-32), Visual C++ (Figure 2-33), JavaScript, etc., can also
generate 2D complex fractals and display them on the screen. However, none of
them can make 3D physical fractal objects using contemporary CAD system.
2-30
Figure 2-31. Sierpinski Tetrahedra in VRML explorer
Figure 2-32. Colored Julia set: c= 0.357 0.181i generated using Visual Basic
Figure 2-33. Window in C++ program c= 0.390540.58679
2-31
2.3 Summary of limitations
In summary, the possibility and potential of contemporary manufacturing process for
manipulating fractals have not been detailly discussed in the literature. Little works
were investigated on how to make 3D physical fractal objects. Furthermore, the
above-mentioned methods are for LM simply connected fractal objects. They could
not cater for LM complex fractal object (e.g., Mandelbrot set, Julia set, etc.). In
addition, none of the previous modelling approaches was developed to LM colored
and disconnected fractal objects.
In this research, two major areas will be addressed for the physical realization of n-D
fractal objects. The computer modelling method is proposed to LM colored n-D
fractal objects and a pre-layer manufacturing processing, the LM toolpath generation,
is proposed to manipulate n-D fractal objects. The scope will be limited to complex
and multiply connected fractals.
2-32
CHAPTER 3 MANUFACTURABILITY OF
FRACTAL GEOMETRY
3.1 Introduction
Analyzing the manufacturability of a proposed design has become an important step
in the design stage. In recent years, numerous researches proposed to determine the
manufacturabilities of 3D designs using feature recognition and extraction. Ha [Ha
1996] used Gaussian sphere to determine the manufacturabilities of proposed 3D
designs with a given set of manufacturing operations, which is an essential reasoning
problem for integrating CAD and CAM systems. In [Chen 2003], Chen, Wen and
Ho presented an approach using spatial reasoning on feature interactions for
manufacturability assessments. Dissinger and Magrab [Dissinger 1996] proposed a
new approach to geometric reasoning for manufacturability evaluation application to
powder metallurgy. Prosenjit and Godfried [Prosenjit 1994] also proposed a
practical algorithm to determine whether or not an arbitrary object can be built using
any of the known manufacturing processes. However, none of these methods can be
used to determine which types of fractal objects are manufactured by certain LM
processes.
The main purpose of this Chapter will, thus, give a tentative classification and
3-1
nomenclature of fractal geometry. Then, a state-of-the-art overview of
manufacturing techniques is presented. By bridging the gap between fractal
geometry and manufacturing, those processes that are promising to manufacture 3D
fractal objects will be highlighted. Emphasis is placed on two fundamental questions
that arise concerning every type of manufacturing process: (a) Can fractal be
manufactured by existing conventional process? (b) Is fractal only manufacturable
by LM technology? The survey in this Chapter attempts to answer the above
questions by considering the manufacturability of fractal objects, as well as to
explore the limits of the technologies. It will go on to discuss how the promising
techniques can better serve the requirements of fractal geometry fabrication. Finally,
a summary will be made regarding the manufacturability of fractal geometry.
3-2
3.2 Manufacturability evaluations
This
part
focuses
on
fractal
geometric
reasoning
required
to
support
manufacturability evaluation. Manufacturability evaluation circle (Figure 3-1) refers
to the fractal geometry that is compatible with a manufacturing process by
evaluating its shape and then pointing out the restrictions and limitations of the
process. The bases of the conditions for manufacturability are visibility, connectivity
and initiator of fractals. They will be defined in the following sections.
Fractal geometry
Input (represented by point,
line, plane and surface)
Connectivity
Self-intersecting
Fragmented features
Host geometry
Post- processing
Remove support
Finishing
Polishing
Manufactur
-ability of
fractal
geometry
Material selection
Crystalline
Amorphous
Powder
Solid
Liquid
Manufacturing process
selection
Visibility
Figure 3-1. Manufacturability evaluation circle
3-3
3.2.1 Visibility
Recently, visibility is widely used to many classes of problem in design and
manufacturing. Visibility [Woo 1994, Chen 1993] is from viewpoint-to-region and it
is meaningful when a pair consisting of a source and a target is considered.
Geometrically, the target (or the workpiece) can be a point, a line segment, a curve
segment, a planar polygon, or a surface patch. Similarly, the source (or the effector)
can be modeled hierarchically by its topological dimensionalities: 0D points, 1D
straight lines and curves, and 2D planes and surfaces.
3.2.2 Connectivity
In the case of fractals, the type of connectedness referred to is “pathwise”
connectedness, meaning that one can trace a path from a point in the set to other
points in the set without leaving the set. In physical making, connected single object
is required and fragmentation of fractal is accepted even disconnected objects are
difficult to be built physically. Thus, the disconnectivity and connectivity (Figure 32) of fractal objects will also be studied in this Chapter.
3-4
y
x
Vertex
Edge
(a)
y
x
z
Vertex
Edge
(b)
Face
Figure 3-2. Connectivity (a) 2D connectivity, (b) 3D connectivity (adjacency
relations between voxels)
3.2.3 Initiator of fractals
In this part, the basis of the condition for manufacturability, initiator of fractals (the
initiator itself is essentially iteration 0) is defined. Actually, fractal objects (e.g.
natural objects) modeled for physical making have to be in finite form. Therefore,
the intermediate state of fractal generated model will be the main focus, such model
is also called prefractal. Prefractals can be dealt with in six different domains, they
include visibility along a line, visibility from a point, visibility from a straight line
segment, visibility from a polygon, visibility from a region and global visibility. The
problem domains can further be categorized as discrete or continuous. The
3-5
geometries of the prefractals are discussed in the following sections according to
their initiators.
3.3 Taxonomy of fractal geometry
3.3.1 Taxonomy of IFS fractal
Fractal geometry is classified by connectivity properties and initiator of fractal
geometry (e.g., point, line, plane and surface). The taxonomy of IFS fractal is shown
in Figure 3-3. The fractal geometry includes self-intersecting, simply connected,
natural, area filling, multiply connected (connected with loops), dust object (totally
disconnected, cantor sets), self-similar evolutionary pattern (e.g. fill-in dragon curve
boundary can sweep out simple 3D fractal objects such as dragon mountain), and 3D
multiply connected and 3D natural objects (Figure 3-4).
3-6
3-7
Figure 3-3. Taxonomy of IFS fractals
(a) Self-intersecting fractal objects (Dragon curve) [Mandelbrot 1983]
(b) Simply connected fractal objects (Koch curve)
(c) Natural objects (branch) [Flake 1998]
3-8
(d) Area filling fractal objects (Peano curves) [Mandelbrot 1983]
(e) Multiply connected fractal objects (Sierpinski Carpet) [Mandelbrot 1983]
(f) Dust object (Cantor set) [Cantor set]
3-9
(f) Twist simply connected curve (Dragon mountain)
(g) 3D multiply connected fractal objects (Menger sponge)
(h) Natural objects
Figure 3-4. IFS fractal objects
3-10
3.3.2 Taxonomy of complex fractals
It is now quite a challenging task to unearth new patterns from the complex fractal
equation. Consequently, creative work calls for modification of the formula and
there are infinitely many formulas available for this purpose. But in this Section, the
discussion is limited to the family of Mandelbrot set M generated by the quadratic
case form f (z) = z2 +c. Depending on the value of c being selected, the resultant
Julia set (Jc) may be either totally connected or totally disconnected. Jc is connected
iff c  M. Disconnected Julia sets are called a "dust" of points, or "Fatou dust"
[Mandelbrot 1982]. This is a logical term, since a disconnected Julia set consists of
individual points in the complex plane which, likes sparsely sprinkled dust on a
sheet, are not connected to any others. Another term used to describe a disconnected
Julia set is Cantor dust [Peitgen 1986]. By analyzing the connectivity and initiator of
fractal, the taxonomy of complex fractal is obtained (Figures 3-5 and 3-6).
3-11
3-12
Figure 3-5. Taxonomy of complex fractal objects
(a) Contour Julia set, c =0.357-0.181i
(b) Filled-in Julia set [Mandelbrot 1983]
(c) Fatou Julia set, c=0.66i
(d) Dendrite Julia set, c=0.01+i [Mandelbrot 1983]
3-13
(e) Hybrid Mandelbrot set [Mandelbrot 1983]
(f) Host geometry
(g) Quaternion Mandelbrot set [Quaternion Mandelbrot set]
3-14
(h) Rotated Julia set [HyperFun]
(i) 3D fractal created by z-level transformation [Maple]
(j) Quaternion Julia set
Figure 3-6. Complex fractal objects
3-15
3.4 Manufacturability of fractal geometry
3.4.1 Manufacturability of fractal geometry using traditional
manufacturing processes
Up to now, manufacturing techniques can be classified into three categories. They
are forming processes, material removal processes and material addition processes.
Forming processes such as injection moulding, die casting, and stamping account for
a very high percentage of parts that are manufactured worldwide. Material removal
processes such as computer numerical control (CNC) machining and electrical
discharge machining (EDM) start from a larger amount of bulk material and remove
all excess material. They are commonly used in mould making. All these processes
are well suited for mass production. However, these processes can hardly be used to
make three dimensional (3D) physical aesthetic appealing objects with complex
shape. In this Section, the reasons why these common techniques cannot be used to
manufacture the 3D physical fractal objects will be discussed.
The classification of manufacturing processes based on the visibility is shown in
Figure 3-7. The conventional manufacturing processes mainly include point visible
(Figure 3-8), line visible (Figure 3-9) and surface visible processes (Figure 3-10).
NC machining is said to be a process that requires point visibility which is short for
3-16
point-point visibility. For example, a turning machine can produce a model with
symmetrical geometry, but it cannot produce fractal object with symmetrical
geometry (quaternion complex fractal). The reason is that the fractal object has
fragmented (disconnected) features. Another example is that a drilling machine can
remove the internal feature of objects, but it is difficult to remove the intricate shape
of multiply IFS fractals (e.g. Sierpinski tetrahedron) with complex features. Only 5axis machining can manufacture host geometry which is a fractal pattern for
engraving or embossing by projecting a fractal curve onto a free-form surface. And,
the host geometry of fractals can be generated using existing CAD software (e.g.
PowerSHAPE, ArtCAM, etc.). However, the fractal geometry cannot communicate
with the CAD system efficiently as the CAD system considers only Euclidean
geometry. For line visible process (e.g. wire-cutting electric-discharge machining
(EDM)), there must be line visibility between the effector and the workpiece such
that all the points in a segment of the cutting wire are visible to the corresponding
points in a line segment on the workpiece. Die sinking EDM, sheet-metal stamping,
die casting and plastic mould injection demand surface visibility. Both line and
surface visible process also cannot manufacture fractals with fragmented features
and complex intricate features. In conclusion, the traditional manufacturing
processes are only suitable to manipulate simply connected fractal objects.
3-17
Figure 3-7. Classification of manufacturing processes
Figure 3-8. Point visibility
Figure 3-9. Line visibility
Figure 3-10. Surface visibility
3-18
3.4.2
Manufacturability of fractal
manufacturing processes
geometry
using
layer
Today, there is a new group of manufacturing techniques in which physical objects
are produced by adding rather than removing or deforming material. They are the
layer manufacturing (LM) technology, also known as solid freeform fabrication
(SFF), computer automated manufacturing or rapid prototyping (RP). LM
technology belongs to plane visibility (Figure 3-11). The LM device can be
conceptualized as a planar source, giving rise to point-by-point correspondence
between the source and the target. Therefore, it offers advantages in many
applications compared to classical subtractive fabrication methods such as milling or
turning. Objects can be formed with complex or intricate geometries without the
need for elaborating machine setup or final assembly. Therefore, LM is a potential
candidate for making aesthetically appealing objects physically. The CAD
technology inputs Euclidean geometry for LM. 3D physical Euclidean objects are
then constructed layer by layer using materials such as photopolymer, thermoplastic
and wax. It has been noted that the use of LM in fabricating complex shape objects
is very limited. Therefore, we will analyze the manufacturability of fractal geometry
using LM techniques with reference to LM materials (e.g., thermoplastic, sand,
3-19
metal, elastomer, etc.), and process types (e.g., photopolymerisation, material
deposition, powder sintering, etc.).
Figure 3-11. Plane visibility
3.4.3 Limitations of LM technology
In the last decade, many articles and works have been published in books,
conferences and journals in the area of LM technology. Chee and Siaw [Chee 1995]
address the shortfall of LM technologies by reviewing the limitations of these LM
systems according to their working principle. Dickens [Dickens 1995] gave a brief
qualitative and historical overview of existing developments in LM technology in
terms of their techniques and applications.
In summary, many LM processes are now using a variety of materials and layering
methods, which may be broadly classified into photopolymerisation (e.g.
stereolithography), material deposition (e.g. fused deposition modeling (FDM)),
powder binding (e.g. selective laser sintering (SLS), 3D printing (3DP)), lamina
3-20
binding (e.g. laminated object manufacturing (LOM)) and weld-based approaches
(e.g. shape deposition manufacturing (SDM)) [Pratt 2002 ]. This section will present
a brief overview of the research aiming at the manufacturability of fractal objects
using LM technologies.
Fractals can be manufactured by many types of LM machines. However, fractal
objects
with
fragmented
features
can
only
be
produced
by
using
photopolymerisation (e.g. 3D system, stereolithography (SL)) as one can pre-select a
red-tint function [Pattijn 2000] (Figure 3-12) unless the user can supply a host
geometry for disconnected fractal models to attach. Besides, only 3D color printers
can produce both monochrome and multi-color objects (Figure 3-13). These
machines are capable of producing models in full color by installing colored inkjet
printing heads.
Figure 3-12. A colored physical model
3-21
Figure 3-13. Monochrome and colored prototypes
Moreover, material deposition (e.g. FDM) (Figure 3-14) is not suitable to
manufacture self-intersecting fractal objects due to the problem of material
overlap (Figures 3-15 and 3-16). However, the material overlapping problems
will not occur in photopolymerisation (e.g. SL) and powder binding (e.g. SLS).
The reason is that SL and SLS would not impose any effect on the volume of the
model even though the model is over-irradiated by the laser beam.
Figure 3-14. The Fused Deposition Modeling (FDM) process
3-22
Plastic filaments
Figure 3-15. Dragon curve
Material overlap
Figure 3-16. Material overlap of the
self-intersecting curve
Another problem is the manufacturing of multiply connected IFS fractals (Figure 317). Support structures (Figure 3-18) are needed when fabricating overhanging
geometries or internal features (Figure 3-19) which have to be removed later by
breaking them away from the fractals. Photopolymerisation and material deposition
(e.g. FDM) processes’ supports are very difficult to be removed in the postprocessing step. However, FDM can use water-soluble support material for the freehanged features and which can later be dissolved away. On the other hand, lamina
binding processes’ (e.g. LOM) supports are very difficult if not impossible to be
removed to expose the internal fractal features.
3-23
Figure 3-17. Multiply connected IFS
fractals
Figure 3-18. Support
Internal fractal
features
Menger sponge
Figure 3-19. Internal fractal features
3.5 Summary
Before going into the modeling of fractal, the LM’s capability the machine
resolution and working envelope should also be considered. Table 3-1 gives a
summary of commercial LM machines’ capability.
3-24
Fractal objects
Type of system/ LM
technologies
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
x
x
x
x
x
x
x
x
Photopolymerisation
3D systems :
Stereolithography (SL) [3D
Systems]
F&S: SL [Fockele &
Schwarze]
Sony/D-MEC: SL [D-MEC
(Sony)]
CMET Inc.: SL [CMET]
Denken : SL
[Denken]
Denken : SL
[Denken Engineering Co.
Ltd.]
Meiko :SL [Meiko]
Unirapid Inc. SL (Lamp and
fiber optics [Unirapid]
Autostrade: SL [Autostrade]
Stratasys: Fused Deposition
Modeling with water soluble
support material [Stratasys]
3D systems :
Multi-jet modeling
[3D Systems]
Extrude Hone ProMetal
Div. : Inkjet [ProMetal]
SDI: inkjet [SDI]
Solidscape : Inkjet (the wax
support material is either
melted or dissolved away)
[Solidscape]
Generis: Inkjet
[Generis]
Object : PolyJet technology
[Object]
Solidica: Ultrasonic/CNC
[Solidica]
Optomec: Laser Engineered
Net Shaping [Optomec]
Beijing Yinhua: Melted
Extrusion manufacturing
[Rpyinhua]
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x x x
Material deposition
x
Powder binding
3D systems : SLS [3D
Systems]
Z-Corp. : MIT’s 3DP
Technology [Z-Corp.]
EOS : laser sintering [EOS]
F&S: Laser melting [Fockele
& Schwarze]
Arcam: Electron beam
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
3-25
melting[Arcam]
Lamina binding
Cubic Technologies:
Laminated object
manufacturing (LOM) [Cubic
Technologies]
Kinergy / Lamination
[Kinergy]
Schroff Development:
Adhesive Materials Layering
[SDI]
Kira: Lamination [Kira ]
Toyoda Machine Works:
LOM [Toyoda Machine
Works]
Beijing Yinhua: Slicing solid
manufacturing [Rpyinhua]
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Per-factory
Envision Technologies :
Digital light processing
[Envision Technologies]
x
x
x
x
x
x
x
x indicates the technology can manufacture the corresponding type of fractal object
a.
b.
c.
d.
e.
f.
g.
h.
i.
j.
k.
l.
m.
n.
o.
p.
q.
r.
s.
Self-intersecting fractal objects
Simply connected fractal objects
Natural objects (2D)
Area filling fractal objects
Multiply fractal objects
Cantor set
Twist simply connected curve
Natural objects (3D)
3D multiply connected fractal objects
Contour Julia set
Filled-in Julia set
Fatou Julia set
Dendrite Julia set
Hybrid Mandelbrot set
Host geometry
Quaternion Mandelbrot set (connected)
Rotated Julia set
3D fractal created by z-level transformation
Quaternion Julia set (connected)
Table 3-1. Capabilities of layer manufacturing techniques to types of fractal
3-26
In conclusion, the connectivity of fractal object is important since a connected object
is easier to make. Also, LM technology provides a better opportunity for making 3D
physical fractal objects than traditional manufacturing processes. LM is thus selected
for further investigation in the physical making of fractal object.
3-27
CHAPTER 4 MODELLING FOR FRACTAL
OBJECTS FABRICATION
4.1 Voxel-based generative algorithm
Figure 4-1 shows the workflow of a new method to construct the computer
model of 3D complex fractals. In order to convert complex fractals into a
computer understandable format, three steps are required. The first step is to
generate the pixelized computer model from the 2D complex mathematical
model. The overall geometry of the fractal object will then be described by
binary spatial occupancy enumeration. That means the fractal model is
recursively subdivided into equally sized sub-cells until either the sub-cell (pixel
elements) is free of obstacles, or the smallest cell is reached in the embedded
Euclidean space,
.
Then, a 2.5D computer fractal model is generated and
represented by a single voxel slab. Finally, appropriate similarity transformation
along the axis and regularized Boolean operations are used to generate a 3D
voxelized computer fractal model.
4-1
Figure 4-1. Workflow to obtain an approximated 3D computer fractal model
4.1.1 Computer model of 3D Mandelbrot set
This section will discuss the implementation issues of modelling 3D complex
fractal. A typical complex fractal object, the quaternion Mandelbrot set (QM-set),
will be examined. The algorithm to generate the QM-set is shown in Figure 4-2.
Firstly, one half of the Mandelbrot set M is generated via zn= z n21 + c. Then, a
2.5D Mandelbrot set M ' is obtained using translational sweep. Afterwards,
appropriate rotation of M ' is performed to obtain the rotated Mandelbrot
set M '' . Finally, the 3D voxelized one quarter (¼) QM-set is obtained by
combining all M '' .
4-2
Figure 4-2. Generation of QM-Set
4-3
4.1.2 2D pixelized fractal model
A complex fractal is represented by picture elements. In computer graphics,
pixels are displayed on screen in windows. Logically, pixels are addressed as
two-dimensional arrays, whose indices are called “screen-space” coordinates.
The image is raster-scan display and stored in the coordinate system (Figure 4-3).
Each point in the grid represents a pixel in the image. The images are binary,
with 1’s shown shaded and 0’s shown in white.
In mathematical morphology, an object X in a binary 2D object is described as a
set in a 2D grid:
X = {v: f (v) =1, v =(x, y)
}
(4.1)
where f is called the characteristic function of X. On the other hand, the object
background Xc can be defined as:
Xc = {v: f (v) =0, v =(x, y)
}
(4.2)
Figure 4-3. Rasterization scanning
Pixel memory can be considered as an array of numbers whose dimensions
depend on the screen size. The memory is organized into height scan-lines, each
4-4
containing width pixels. Think of this as a two dimensional array, pixels [width,
height] (Figure 4-4). We impose a coordinate system on the pixel array by
numbering each pixel by its position as the h pixel in the v scan-line, i.e. the
coordinate (h, v), with the first pixel in the upper-left corner having coordinates
(0, 0).
Figure 4-4. Pixels Array Variables
Also, the color display can change the values in the pixels array. For example,
setting a pixel is simply the statement: pixels [h, v] = BLACK. This pixel will be
displayed black by the display processor during the next refresh cycle.
4-5
To obtain the pixelized computer model of the QM-set, the first step is to obtain
the Mandelbrot set by convergence mapping using the procedure zo z2 + c. The
algorithm is shown in the following pseudo code.
Procedure: Mandelbrot_Set
Input: Window size (x max , x min , ymax and ymin)
No. of pixels = MaxY u MaxX /*Resolution setting based on LM machines*/
/*Setting a condition to define when the iteration function should be stopped */
Blowup parameter: escape time R, maximum number of iterations K
Begin
For all pixels (p, q) in the window, do
'a = (a max - a min) /MaxX
'b = (bmax -bmin) / MaxY
Begin
Step (1) : set
a0= amin+ p*'a,
b0= bmin+ q*'b,
n=0;
x0= 0, y0= 0
Step (2):
x n+1= x n2 y n2 a ,
x n+1= 2 x n y n b ,
n= n+1;
Step (3):
(i) If x n2 y n2 <R and n<K, go back to Step (2);
(ii) If x n2 y n2 t R , color the pixel (p, q) with black color;
End
End
4-6
Consequently, the discretization of the Mandelbrot set is generated by a
window-viewport mapping (Mwv) which converts the coordinates in the world
coordinate system (WCS) to normalized screen coordinates (NSC).
(4.3)
The overall matrix M wv is:
§ vx max vx min
vy max vy min
,
© wx max wx min wy max wy min
Mwv = T (vxmin, vymin) u S ¨¨
(4.4)
·
¸¸
¹
u T (wxmin, wymin)
ª1 0
= ««0 1
«¬0 0
ª1 0
u ««0 1
«¬0 0
ª vx max
«
vxmin º « wx max
vy min »» u «
«
1 »¼ «
«
«¬
wx min º
wy min »»
1 »¼
ª vx max
« wx
« max
= ««
«
«
«¬
vx min
wx min
0
0
vx min
wx min
0
vy max vy min
wy max wy min
0
0
0
º
0»
»
0»
»
1»»
»¼
vx max vx min
º
vx min »
wx max wx min
»
vy max vy min
wy min u
vy min »
»
wy max wy min
»
1
»
»¼
wx min u
0
vy max vy min
wy max wy min
0
NSC [m, n , 1]
ª
= «vxmin ( x wxmin )
¬
vy min
vxmax vxmin
vy
, vymin ( y wy min ) max
wxmax wx min
wy max wy min
º
,1»
¼
(4.5)
In other words, the world coordinates (wx, wy) of an arbitrary point is converted
to its corresponding normalized device coordinates (vx, vy) (Figure 4-5). The
viewport is a region within the screen that displays the window. The window and
viewport boundaries are specified in screen coordinates and normalized screen
coordinates. Noted that the transformations between window and viewport
coordinates are machine-independent. The overall geometry of the Mandelbrot
set will then be described by binary spatial occupancy representation.
4-7
(a)
(b)
Figure 4-5. Window-to-viewport mapping (a) Mandelbrot set coordinates in the
WCS (b) Mandelbrot set in NSC
4.1.3 2.5D Mandelbrot set
As the Mandelbrot set is symmetric, only one half of the Mandelbrot set is
needed to generate the ¼ QM-set to improve the computational and storage
efficiency. The 2.5D Mandelbrot set M ' is obtained by simply adding a
z-dimension to M along a linear path which is normal to the plane of the area to
create a volume, say one layer thick voxel, V(i, j, k) (Figure 4-6).
4-8
Single voxel thick
layer
j
i
k
Figure 4-6. Half 2.5D Mandelbrot set (single voxel slab), M '
4.1.4 3D Voxelized computer model
In order to obtain the computer model of the ¼ QM-set, there are two main
operations. First, a rotated Mandelbrot set, M '' with coordinates (x*, y*, z*) is
obtained by 3D rotating V (i, j, k) of M ' relative to the real axis. The rotation
degree T
along the x-axis can be obtained by employing the affine
transformation in global coordinate system and then approximated by rounding
function with voxel resolution 'x, 'y and 'z, Equations (4.6) and (4.7). The
schematic diagram of the rotation and an example are shown in Figure 4-7 and
Figure 4-8 respectively.
­ i*
°° *
®j
° *
¯° k
­ x*
°° *
®y
° *
°¯ z
round (i, ' x )
i
(4.6)
round ( j' y cos T , ' y )
round ( j' y sin T , ' z )
(4.7)
x
j *' y
k *' z
4-9
Second, the overall geometry of the fractal object in binary occupancy
representation will be updated by regularized union operation (‰*) and a series
of rotations in each recursion. The voxelized ¼ QM-set is described by a binary
variable indicating the presence (‘1’) or absence (‘0’) of matter in the immediate
vicinity of the voxel. Therefore, the rotated single voxel slab is classified as
EMPTY, FILLED or PARTIAL FILLED. If the voxel is classified as ‘partial’, it
means that the value will be approximated to EMPTY or FILLED. Boolean
operations are replicated and the rotation is terminated when the sum of rotation
angle T #90o. The algorithm is shown in the following pseudo code:
Procedure QM-set generation (Rotate_to_Union)
Input: rotational degree T in each recursion, size of voxel (Vs) = 'x 'y 'z, where 'x = 'y z 'z and
MaxX = MaxY= MaxZ= 90/ T
Output: voxelized ¼ QM-set
/*Initialization*/
If (input degree T is 90o)
Then return;
End If
/* Undertake Boolean operation (‰*) */
For c=0 To MaxZ
For b=0 To MaxY
For a=0 To MaxX
Rotate_to_Union m Rotating M-set degree T
Union (Rotate_to_Union);
/*Check whether the voxel is inside or outside the object*/
If (Rotate_to_Union is classified as FILLED)
Store_in_black_node
If (Rotate_to_Union is classified as EMPTY)
Store_in_white_node
If (Rotate_to_Union is classified as PARTIAL FILLED)
If volume of Rotated M-set, VR • Vs/2
Then
Approximate Rotated M-set belongs to FILLED
Store_in_black_node
Else
Approximate Rotated M-set belongs EMPTY and
Store_in_white_node
End If
End If
End If
End If
Next a
Next b
Next c
} End Procedure QM-set generation
4-10
and
Figure 4-7. Voxel rotation
y
x
z
Figure 4-8. 45o rotation of single voxel slab
4-11
Figure 4-9(a-c) show snapshots of the 3D voxelized complex fractal construction
process. The voxelized model is a uniform cubical grid representation.
(a) One layer thick
voxel (M1)
(b) 45o rotation of one
layer thick voxel
(M2)
(c) Translation and
union (M1‰* M2)
Figure 4-9. Snapshot of the 3D voxel approximation model construction process
4-12
4.1.5 NURBS-based voxel models
4.1.5.1 Workflow for making a NURBS-based voxel model
This approach is a combination of voxel-based model and NURBS model. The
workflow for making a NURBS-based voxel model is shown in Figure 4-10.
Figure 4-10. Workflow for constructing the host geometry
4-13
The approach combines the concepts of cell decomposition and displacement
mapping. This means that displacements are applied to voxel-based model
according to their spatial position regardless of surface geometry. First, fractal
model and geometric model are inputted. Then, the fractal model is discretized
into 2.5D pixels and represented by a single voxel slab while the geometric
model is subdivided into a number of single voxel cell. Afterwards, a fractal
pattern for engraving or embossing can be prepared by mapping a fractal pattern
onto the voxelized free-form surface.
4.1.5.2 Cell decomposition
The voxel-based NURBS objects can be obtained by cell decomposition. This
method decomposes the NURBS objects (Figure 4-11) into simple regions called
cells (Figure 4-12) such that the path between and two configurations in a cell
can be easily generated (example: a straight line) [Sleumer 1999].
ʳ
Figure 4-11. Euclidean geometry
4-14
Figure 4-12. 3D grids
4.1.5.3 Displacement mapping
In computer graphics, the color associated with the surface point is obtained
through texture mapping [Foley 1996]. A displacement map specifies a height
field to add a colored object on voxel-based objects in the direction of the surface
normal. Figure 4-13 shows an example which parallel maps a colored object onto
a voxel-based NURBS surface.
4-15
y'
y
z'
z
x'
x
(a) 2.5D colored object
(b) Voxelized Object
y''
z''
x''
Figure 4-13. Displacement mapping
Let PFractal denotes a fractal pattern represented by single voxel thickness is
mapped onto to PVNURBS, a voxelized NURBS surface. Fractal patterns PTexture,
Pdifference, PUnion are then formed by set operations (e.g. subtraction, union, etc.)
and texture mapping. Mathematically,
Pdifference = PVNURBS –* Volmap(PFractal), PFractal(x', y', z')= PVNURBS (x, y, z)
PUnion
= PVNURBS ‰* Volmap(PFractal) , PFractal(x', y', z') = PVNURBS (x, y, z)
PTexture = Color map (PFractal), PFractal(x', y', z') = PVNURBS (x, y, z)
4-16
(4.8)
(4.9)
(4.10)
The fractal pattern PFractal to be mapped (assuming in 2D xy-plane) forms Vol map
(PFractal) by transformation (e.g. scale, translation, etc.) of a number of PFractal with
respect to PVNURBS while Color
map
(PFractal) is texture mapping with respect to
PVNURBS, i.e.
Vol map(PFractal) ={ (x', y', z') | ( x'', y'', z'')  PFractal}
(4.11)
where z' is arbitrary selected with no duplication. In practice, the coordinate
values of the PFractal are translated, scaled and mapped onto the NURBS surface.
4-17
4.2 Hybrid algorithm to LM 3D physical fractal objects
In this section, the single voxel shell of the ¼ QM-set is generated using a hybrid
algorithm that combines boundary shell extraction, boundary evaluation and
triangulation. Since VRML is the common digital format that can communicate
with LM machine such as Z-Corp. printer, the VRML file format (*.wrl file) is
chosen to be edited. In VRML format, each vertex is stored just once and
considerable space is saved. Furthermore, the coordinate of the vertex can be
changed easily. Two information are needed to create the VRML file format.
First, geometrical information of the single voxel shell QM-set w is needed. It is
represented by explicitly using a list of vertex coordinates: V = ((x1, y1, z1), (x2,
y2, z2), …, (xn, yn, zn)). Second, the information is stored as an index list (or
pointers), which defines the polygons in a vertex list. The procedure to obtain the
QM-set information is shown in the following algorithm and the detail is
described in the following subsections.
Procedure hybrid algorithm (single voxel shell)
Input: QM-set represented by voxels, V (a, b, c) of black cells (which is obtained from Procedure
QM-set generation (Rotate_to_Union)).
Screen size = maxX u maxY u max Z
' is xyz-resolution of LM machine ('x = 'y z 'z),
Output: A sequence V (p1, p2., …, pk) of boundary voxels i.e. single voxel shell of QM-set
{
/* Initialization*/
Do While (Input x, y and z values of QM-set)
a=a+1
b=b+1
c=c+1
V (a, b, c) = 1 /*Value “1” represents the main pattern*/
End While
4-18
/*Check whether V(x1, y1, z1) belongs to black (value =1) or not */
Triangle = 0
For z1 = 1 To maxZ
For y1 = 1 To maxY
For x1 = 1 To maxX
check = False
If V(x1, y1, z1) = 1 Then
/*Boundary evaluation: preparing 6 facets from 8 corners of V(x1, y1, z1) for
triangulation*/
1
1
)'x, (y1+ )'y,
2
2
1
1
1
1
1
1
)'z), P3((x1+ )'x, (y1 + )'y,
(z1+ )'z), P2((x1 )'x, (y1+ )'y, (z1
2
2
2
2
2
2
1
1
1
1
1
1
(z1 )'z), P4((x1+ )'x, (y1+ )'y, (z1+ )'z), P5((x1 )'x, (y1 )'y, (z1
2
2
2
2
2
2
1
1
1
1
1
1
+
)'z), P6((x1 )'x, (y1 'y), (z1 )'z), P7(x1+ )'x, (y1 )'y,
2
2
2
2
2
2
1
1
1
1
)'z).
(z1 )'z) and P8((x1+ 'x), (y1 'y), (z1+
2
2
2
2
Define 8 corners of V(x1, y1, z1), they include P1((x1
/*Boundary extraction: the single voxel shell of discretized ¼ QM-set is traced
via morphological outlining by considering 6 adjacent voxels N6 (V) to all
V(x1, y1, z1).* /
If V(x1+1, y1, z) =0, V(x11, y1, z1) =0, V(x1, y1+1, z1) =0, V(x1, y11, z1) =0,
V(x1, y1, z1+1) =0 or V(x1, y1, z11) Then
check = True
/* Triangulation */
Write and update the index list (the index list of the triangular mesh is
generated with reference to the defined coordinates) during each recursion
End If
If check Then
Write and update the 8 corner coordinates of V(x1, y1, z1) during each recursion
Triangle = Triangle + 8
End If
/*Color addition */
Paint a color for each triangle
End If
Next x1
Next y1
Next z1
} End Procedure boundary evaluation
4-19
4.2.1 Boundary shell extraction
The raster-scan approach is utilized to obtain the single voxel boundary shell of
the QM-set. The idea behind the boundary shell extraction algorithm is very
simple. The scanning starts at the bottom left corner of the grid and scans each
column of voxels from the bottom upwards. The computer model of the ¼
QM-set consists of two values. The value ‘1’ represents the QM-set i.e. a group
of black voxels, and the value “0” will be assigned to the empty region (a
background of white voxels). With this convention, the boundary points are
obtained by eroding the object with a structure element which contains all the six
possible neighbors of the central voxel. The generalized erosion mask is:
Figure 4-14. Six adjacent voxels N6 (V)
This mask has the effect of removing a single voxel from the perimeter of a
fractal object in one section. The erosion operation works by looking at the effect
of its mask as it passes over bitmap regions having various black and white
voxels. The boundary of the ¼ voxelized QM-set, denoted by w (QM-set), is
traced out via morphological outlining by considering the 6-adjacent voxels N6
(V) to all V(x1, y1, z1).
4-20
N6(V) = {(x1, y1, z1+1), (x1-1, y1, z1), (x1, y1+1, z1), (x1, y1-1, z1),
(x1+1, y1, z1) , (x1, y1, z1-1)}
(4.8)
w (QM-set)= ¼ QM-set \ (¼ QM-setാV1 )
(4.9)
i.e., erosionാby one voxel V1 followed by set difference (–).
The cross-section of the fractal pattern, the erosion pattern and the boundary
pattern are shown in Figure 4-15 (a), (b) and (c) respectively.
y
y
y
x
x
x
(a)
(b)
(c)
Figure 4-15. Boundary shell extraction: (a) Initial fractal pattern (b) fractal
pattern to be eroded(c) single voxel boundary shell of the fractal
pattern
4.2.2 Boundary evaluation
Boundary evaluation is used to prepare a rectangular cuboid having six
rectangular regions (G) from the eight corners of V(x1, y1, z1) for triangulation.
The six regions G1(P5P6P7P8), G2(P4P3P2P1), G3(P8P7P3P4), G4(P1P2P6P5),
G5(P4P1P5P8) and G6(P2P3P7P6) are evaluated by considering the 6-adjacent voxels
N6 (V) to all V(x1, y1, z1). The boundary of the ¼ voxelized QM-set, which is
represented by a number of single rectangular voxel, called the single voxel shell
model. The 8 corner coordinates of V(x1, y1, z1), i.e. P1, P2, P3, P4, P5, P6, P7 and
P8, will be assigned and stored in memory (Figure 4-16). The schematic diagram
of boundary evaluation is shown in Figure 4-17. An example of boundary
evaluation is shown in Figure 4-18 such that all regions are defined as the
4-21
boundary regions except the common region (G3(P3P4P8P7) or G4(P1cP2cP6cP5c))
between the two voxels (Figure 4-18). The geometric information of the single
voxel shell model is stored in chain code (Figure 4-19).
Center of
V(x1, y1, z1)
y
x
z
Figure 4-16. Single voxel V(x1, y1, z1) with its eight corners
Figure 4-17. Schematic diagram of boundary evaluation
4-22
Figure 4-18. Example of boundary evaluation
A single voxel shell
model is stored in chain
code.
.
.
.
Figure 4-19. Eight corner coordinates in VRML code
4-23
4.2.3 Triangulation
The schematic diagram of triangulation is shown in Figure 4-20. The boundary of
a single voxel cell consists of 6 u 2 triangular facets G which are triangles with
only two 45o and one 90o angle. These facets are extracted to construct the
triangulatable spatial polygons pointing to outward normal (n) with the given
position vectors in
. The boundary shell of the fractal is represented by a
uniform triangular mesh which is obtained by connecting all triangulatable
spatial polygons. Then, the index of the triangular mesh (Figure 4-21) is
generated with reference to the geometric information (Figure 4-17).
y
x
z
Figure 4-20. Triangulation of voxel shell
4-24
Figure 4-21. Index list of the triangular mesh in VRML code
4.3 Visualization of quaternion complex fractals
The single voxel boundary shell w is in general disconnected such that each is
bounded by its own closed shell. Each disconnected single voxel shell is
represented by connected (rectangular and then triangular) facets. To obtain the
VRML file from w of QM-set, four single voxel shells of ¼ QM-set are added up
by copying and reflecting on the xy- and yz-planes. Figure 4-22 shows the
VRML file of QM-set. The VRML models can be used in LM construction as
well as visualization.
4-25
Disconnected
voxels
Connected voxel
Figure 4-22. Monochrome QM-set
4-26
CHAPTER 5 ENHANCED DATA STRUCTURE OF
MODELLING
FOR
FRACTAL
OBJECTS FABRICATION
In computer processing of fractal, the memory requirements are prohibitive.
Fortunately, fractal pattern usually contains large homogeneously empty regions, a
sparse representation may help to alleviate the problem. Therefore, the simple
uniform sized voxel data structure is enhanced to compress the data.
5.1 Methodology
Figure 5-1 and Figure 5-2 show the workflow of generative colored quadtree
encoding (GCQE) and the workflow of a conversion mechanism to construct the
computer model to layer manufacture the quaternion complex fractals respectively.
GCQE is based on the quadtree data structure which has the potential to supersede
rasterization for handling, visualizing and manipulating the fractal objects to
increase the computational and storage efficiency substantially.
In order to obtain the toolpath control signals to fabricate the fractal objects, five
steps are needed. First, boundary shell extraction algorithm is used to trace a single
voxel boundary shell of the fractal object. Second, quadtree encoding is used to
generate a quadtree based boundary shell of the fractal object. Then, regularized
quadtree Boolean operations are used to generate the fractal model. For examples,
colored regularized union operation (‰*) is used to generate 3D rotated Mandelbrot
set and regularized different operation (*) is used to generate Menger sponge. Third,
5-1
boundary evaluation algorithm is used to define the skin of the quadtree based
boundary shell. Afterwards, triangular mesh is generated from the shell skin model.
Consequently, the data is converted to VRML format. VRML is a standard 3D file
format for describing the behavior and geometry of a 3D virtual world, or scene.
Finally, the 3D model is exported to LM machine and the toolpath is generated
automatically.
Figure 5-1. Workflow of the GCQE
Figure 5-2. Workflow to layer
manufacture 3D physical
fractal objects
5-2
5.2 Generative colored quadtree encoding (GCQE)
Quadtree is the hierarchical model definition that is most conveniently stored as a
tree [Samet 1990]. A divide-and-conquer principle is often used to obtain a quadtree
model by recursively subdivides a two dimensional (2D) Euclidean object into 4
quadrants (Q). In this Section, GCQE is proposed for building a linear quadtree (i.e.
a pointerless representation) from a raster representation.
The fractal object is represented by a binary array. The array is then converted to a
complete quadtree, i.e., for a 2n u2n image, a tree of height n with one node per pixel.
Beginning from the maximum envelope (root), a fractal region satisfies the
homogeneity criterion (color or white throughout) in the embedded Euclidean
space,
, starts clustering. Otherwise, move down the fractal region to the next level
of four equal quadrants (also called as QNW, QNE, QSW, QSE) and check the
homogeneity criterion for clustering. Figure 5-3 shows snapshots of the construction
process of GCQE from a 2D bitmap.
QNW: = {p Q: px > xmid and py > ymid},
QNE: = {p Q: px d xmid and py > ymid},
QSE: = {p Q: px d xmid and py d ymid} and
QSW: = {p Q: px > xmid and py d ymid}
xmid : = (x1+xsize)/2, where xsize is the maximum number of the x-axis of a
quadrant.
ymid : = (y1+ysize)/2, where ysize is the maximum number of the y-axis of a
quadrant.
5-3
1st clustering
2nd clustering
3rd clustering
4th clustering
(a)
Interior node with descendants
Leaf node representing a blue color block
Leaf node representing a red color block
Leaf node representing an empty region
Figure 5-3. GCQE (a) snapshot of subdivision 4n region and (b) quadtree
representation.
5-4
It is possible to use the quadtree representation for operations between two objects.
The most common uses are for Boolean operators which include union, intersection,
difference and complementary, Figure 5-4.
Set A
Union:
Set B
A‰B
Intersection:
Difference: AB
Complementary: BA
Figure 5-4. Quadtree Boolean Operations
5-5
AˆB
5.3 Layer manufacturing of 3D physical fractal objects
In this section, the quadtree-based shell of the fractal is generated using a hybrid
algorithm, those based on GCQE and combining boundary quadtree-based shell
extraction, quadtree-based boundary evaluation and non-manifold tessellation. Three
information are needed to create the VRML file format. First, the geometrical
information of the quadtree-based shell QJ-set w is needed which is obtained by
combining all quadtree-based faces Fquadtree(k) of the six different planes S for all
slabs S. It is represented by explicitly using a list of vertex coordinates: V = ((x1, y1,
z1), (x2, y2, z2), …, (xn, yn, zn)) which is obtained from the four corners of the
different quadrants Q. Second, the information is stored as an index list (or pointers),
which defines the polygons (defined by simple line segments (E)) in a vertex V list.
Third, color addition is used to define the color of each polygon being referred in the
index list. Figure 5-5 shows the topological data structure of the hybrid algorithm.
5-6
Figure 5-5. Topological data structure for the hybrid algorithm
The procedure to obtain the information is shown in the following algorithm and the
detail is described in the following subsections.
5-7
Procedure hybrid algorithm (Quadtree-based multi-resolution shell model)
Input: Mandelbrot set is represented by a Boolean value fill = {1 (Red) or 2 (Green) or 3 (Blue) or 0
(White)}, e.g. pixel (x, y) refers to the position of an element
Screen size= maxX u maxY
Quadrants size = 2qu2q
Level of quadtree = Log (Quadrants size)/log2-1
Output: fractal(x, y, z) is represented by quadtree
{
/* Initialization: Read voxel and write voxel operations*/
Do While (Input x, y and z values and color value of fractal model)
a=a+1
b=b+1
c=c+1
V (a, b, c) = color /*Value “0” represents the outside of main pattern*/
End While
For z =0 To MaxZ
For x=0 To MaxX+1
For y=0 To MaxY+1
/*Check whether V(x1, y1, z1) belongs to black (value =1) or not */
If V(x1, y1, z1) = color Then
/*Boundary single shell extraction: the single voxel shell of discretized fractal
computer model is traced via morphological outlining by considering 6 adjacent
voxels N6 (V) to all V(x1, y1, z1).*/
If V(x1+1, y1, z1) =0, V(x11, y1, z1) =0, V(x1, y1+1, z1) =0, V(x1, y11, z1) =0, V(x1, y1,
z1+1) =0 or V(x1, y1, z11)
/*The single colored pixel shell is obtained by considering in 6 different directions of
the face of the single voxel V(x1, y1, z1).*/
Then P(y, z ) =color
P(y, z ) =color
P(x, z ) =color
P(x, z ) =color
P(x, y ) =color
P(x, y ) =color
/* V(x1, y1, z1)= color and V(x1+1, y1, z1) =0 */;
/* V(x1, y1, z1)= color and V(x11, y1, z1)=0 */;
/* V(x1, y1, z1)= color and V(x1, y1+1, z1) =0 */;
/* V(x1, y1, z1)= color and V(x1, y11, z1) =0 */;
/* V(x1, y1, z1)= color and V(x1, y1, z1+1) =0 */ or
/* V(x1, y1, z1)= color and V(x1, y1, z11) =0 */
End If
End If
Next y
Next x
5-8
/*Boundary quadtree-based shell extraction*/
/* Undergoing GCQE for the case of P(x, y) =color and V(x1+1, y1, z1) =0 in S (+xy): Quadrants [4q]
store four grouped Quadrants*/
If (all quadrants are homogenous)
then return;
/*Square takes the quadrant size in each recursion, e.g., quadrant (level q) = 2 q u 2q, quadrant (level
q-1) = 2q-1 u 2q-1,…. quadrant (level 1) = 2 u 2*/
Squarestart = Quadrants size
For q = level of Quadtree To 0 Step -1
Square = Squarestart
For x = maxX + 1 To 0 Step - square
For y = maxY + 1 To 0 Step - square
If (pixel belongs to inside, i.e. pixel(x, y) = color) Then
Check =True
/*Check whether the pixel (x, y) and its 4q neighbours is homogenous or not*/
For x1 = x To x + square - 1
If check Then
For y1 = y To y + square – 1
If pixel (x1, y1) = 0 Then
check = False
End If
Next y1
End If
Next x1
/* Define the starting point of k level and the clustering size */
i =0
If check =True Then
i=i+1
/* i refers to the level of clustering */
TreeX (i) = x
/* Store starting position x of the k level */
TreeY (i) = y
/* Store starting position y of the k level */
TreeType (i) = square /* Declare the clustering size of the composition level (square) in
quadtree*/
/* Turn all the color pixels to white to avoid the clustering procedure running throughout
the lower level again */
For x2 = x To x + square - 1
For y2 = y To y + square - 1
pixel (x2, y2) = 0
Next y2
Next x2
End If
End If
Next y
Next x
SquareStart = SquareStart/2
Next q
TreeMax =i /*Maximum level of quadtree*/
5-9
/* To undergo GCQE for other 5 directions in the 3D co-ordinate system*/
/* Quadtree encoding for the case of P(x, y) =color, V(x1, y1, z1) = color and V(x11, y1, z1) =0 in
S (xy)*/
/* Quadtree encoding for the case of P (y, z) =color, V(x1, y1, z1) = color and V(x1, y1+1, z1) =0 in
S (+yz)*/
/* Quadtree encoding for the case of P (y, z) =color, V(x1, y1, z1) = color and V(x1, y1, z1) =0 in
S (yz)*/
/* Quadtree encoding for the case of P(x, z) =color, V(x1, y1, z1) = color and V(x1, y1, z1+1) =0 in
S (+xz)*/
/* Quadtree encoding for the case of P(x, z) =color, V(x1, y1, z1) = color and V(x1, y1, z11) =0 in
S (xz)*/
/* Quadtree-based boundary evaluation: preparing a facet from 4 corners of V(x1, y1, z1) with 6 faces
in 3D space for triangulation */
For i =1 To TreeMax
Squarestart =initialSquare
For q = level of Quadtree To 0 Step -1{
Square = Squarestart
If Treetype (i) = Square Then
Define 4 corners of V(x1, y1, z1) with 6 faces in 3D space according to the
corresponding TreeX (i), TreeY (i) and TreeType (i)
/* Non-manifold tessellation*/
Write and update the index list (the index list of the triangular mesh is generated
with reference to the defined coordinates) during each recursion
Write and update the corner coordinates of each face during each recursion
Triangle = Triangle + 4
End If
SquareStart = SquareStart/2
Next q
Next i
} End Procedure hybrid algorithm (Quadtree-based multi-resolution shell model)
5-10
5.3.1 Quadtree-based boundary shell extraction
The raster-scan approach and GCQE are employed to obtain a single quadtree-based
boundary shell of the QJ-set. Similar to single voxel shell boundary extraction
(mentioned in Section 4.2.1), the boundary points are obtained by eroding the object
with a structure element which contains the all six possible neighbors of the central
voxel. Afterwards, GCQE is applied on each data slice which is an infinitesimal
cross-section of the complex fractals at some constant z-value. Then, the 3D model
can be though of as a stack of quadtree-based model arrays (Figure 5-6).
Figure 5-6. A stack of slabs (S)
5.3.2 Quadtree-based boundary evaluation
A quadtree-based boundary evaluation is used to define the fractal object by six sets
of multi-resolution rectangular regions (G) from the four leaf node corners in six
different directions for triangulation. The six regions G1(V1V2V4V3), G2 (V5V8V7V6),
G3(V9V11V12 V10), G4(V13V14V16V15), G5(V17V19V20V18) and G6(V21V22V24V23) are
defined by six variables, they are TreeX(k), TreeY(k), TreeType(k), the x- and
y-starting point of level k of the quadtree and its size of quadrants respectively
(Figure 5-7). The boundary region of the fractal model is called the quadtree-based
6
multi-resolution shell model G k . Topologically, each boundary region is enclosed
i 1 i
5-11
by a loop of boundary curves. The 4 corner coordinates of each quadrant will be
assigned and stored in memory. The geometrical information of the quadtree-based
shell model is then stored in chain code (Figure 5-8).
Figure 5-7. Starting point of level k of the quadtree and its size of quadrants
respectively
G1(V1V2V4V3)
G2(V5V8V7V6)
G3(V9V11V12V10)
y
x
z
G4(V13V14V16V15)
G5(V17V19V20V18)
G6(V21V22V24V23)
Figure 5-8. Four corners of quadtree-based shell for six faces with multi-resolution
5-12
5.3.3 Non-manifold tessellation
The boundary of a quadrant consists of 2 triangular facets 'quadtree. These facets are
extracted to construct the triangulatable spatial polygons pointing to outward normal
(n) with the given position vectors in
. The boundary shell of the fractal is, thus,
represented by a triangular mesh. The index of the triangular mesh is generated with
reference to the geometrical information (Figure 5-8). All triangles around a vertex
must satisfy topological rules for a valid VRML model. All face normals must point
towards the same side. Each edge must be shared by exactly two triangles. Moreover,
the color index of the triangular mesh which takes the value 0, 1 or 2 for the red,
green, and blue components, respectively, is assigned to each 'quadtree with reference
to the index list of the triangular mesh in VRML format (Figure 5-9).
Figure 5-9. The color index of the triangular mesh
5-13
5.4 Dust elimination
5.4.1 Dust elimination by quadtree encoding
Corner connected quadrants and disconnected dust of the fractal objects (Figure 5-10)
are disposed in order to obtain a 2D fractal pattern represented by a simple polygon.
Most LM machines can only produce single shell prototype with one closed surface.
Therefore, disconnected point clouds, known as 'Fatou dust’ and quadrants
connected only at corner without any edge sharing cannot be manufactured using
some LM machines (e.g. FDM, LOM, etc.). By avoiding to enter below certain level
of the tree structure it is possible to filter out the “dusts” of the fractal region,
resulting in a less precise but more compact version of the data. This method is
efficient and can save much computational time but some details are lost and may
affect the fractalness appearance (Figure 5-11).
Figure 5-10. Mandelbrot set: quadtree encoding starts from level six and stops at
level one
5-14
Some details are loss
Figure 5-11. Mandelbrot set: quadtree encoding starts from level six and stops at
level two
5.4.2 Dust elimination by “mask” filtering
It is imperative to eliminate unwanted artifacts by “mask” filtering pre-processing.
Figure 5-12 shows that higher resolution of fractal objects (100 pixels u 100 pixels)
has many corner connected objects and “Fatou dust”.
Figure 5-12. Higher resolution of Julia set
5-15
2D spatial filter can be defined as area operators that map a 2D fractal object a(x, y)
into another object b(x, y):
b(x, y) = [(a(x, y))
(5.1)
The implementation of the filtering in the discrete spatial domain is straightforward.
The filter coefficients mask in form of matrix is convolved with the 2D object a(x, y).
Filtering function [ is performed by letting the mask move over the fractal pattern.
Neighborhoods of a(x, y) can be specified in terms of masks like those shown in
Figure 5-13.
Figure 5-13. 3 u3 filter mask
5-16
For example, the interior and exterior dust of 1u1 pixel can be disposed by the specific
filter masks shown in Figure 5-14. For example, if a portion of the fractal pattern is
equal to the filter mask A, the coordinate (x, y) will be converted from blue color (1) to
white color (0). And, if a portion of the fractal pattern is equal to the filter mask B, the
coordinate (x, y) will be converted from white color (0) to blue color (1). The result of
dust elimination is shown in Figure 5-14(b).
Interior dust
by mask B
Mask filtering by
mask A and B
Exterior dust
disposed by
mask A
(a)
(b)
A
B
(c)
Figure 5-14. Mask filtering of interior and exterior dust of 1u1 pixel (a) input pattern
(b) modified pattern (c) filter mask patterns
5-17
The interior and exterior dust of 1u1 pixel filtering process is shown in the following
pseudo code.
Procedure mask_ filtering
Input: fractal pattern represented by pixels, p(a, b, c) of black cells
Screen size = maxX u maxY u max Z
Output: Simply connected fractal pattern without Fatou dust and corner connected objects
{
/* Initialization*/
Do While (Input x and y values of the fractal pattern)
x=x+1
y=y+1
a(x, y) = 1 /*Value “1” represents the main pattern*/
End While
/*Dispose the 1u1 pixel dust */
For p = 1 To maxY
For q = 1 To maxX - 1
If a(x, y) = 0 Then
check = False
Mask of interior dust of
If a(x, y - 1) = 1 Then
1u1 pixel
If (x, y + 1) = 1 Then
If a(x - 1, y) = 1 Then
If a(x + 1, y) = 1 Then
check = True
End If
End If
End If
End If
If a(x, y) = 1 Then
check = False
If a(x, y - 1) = 0 Then
Mask of exterior dust of
If (x, y + 1) = 0 Then
1u1 pixel
If a(x - 1, y) = 0 Then
If a(x + 1, y) = 0 Then
check = True
End If
End If
End If
End If
If check = False Then
/*Display the fractal pattern without dust by a number of line segment. Assume the
pixel size is value 1*/
If a(x, y - 1) = 1 Then
PX1 = x - 0.5
PY1 = y - 0.5
PX2 = x + 0.5
PY2 = y - 0.5
Create line PX1, PY1, 0, PX2, PY2, 0
End If
If a(x, y + 1) = 1 Then
PX1 = x - 0.5
PY1 = y + 0.5
PX2 = x + 0.5
PY2 = y + 0.5
5-18
Create line PX1, PY1, 0, PX2, PY2, 0
End If
If a(x - 1, y) = 1 Then
PX1 = x - 0.5
PY1 = y - 0.5
PX2 = x - 0.5
PY2 = y + 0.5
Create line PX1, PY1, 0, PX2, PY2, 0
End If
If a(x + 1, y) = 1 Then
PX1 = x + 0.5
PY1 = y - 0.5
PX2 = x + 0.5
PY2 = y + 0.5
Create line PX1, PY1, 0, PX2, PY2, 0
End If
End If
End If
Next p
Next q
End Sub
} End Procedure mask_ filtering
After the filtering, the noisy areas get smoothed out. Julia set without dust is shown
in Figure 5-15.
Figure 5-15. Noisy areas get smoothed out
5-19
Many complex fractals may include another shape of Fatou dust. Therefore,
rectangular, L-shape and T-shape mask should be considered. See Figure 5-16.
(a) Julia set: c= -0.37+0.658i and resolution: 200 u 200 pixels
(b) Square dust and its binary representation
5-20
(c) Rectangular dust and its binary representation
5-21
(d) T-shape and L-shape dust
Figure 5-16. Different shapes of Fatou dust
5-22
After pixel sorting, the noisy areas get smoothed out. A Julia set without dust is
shown in Figure 5-17. This filtering method can also be applied to 3D fractal pattern.
Figure 5-17. Julia set: c= -0.37+0.658i without dust
5-23
CHAPTER 6 TOOLPATH GENERATION FOR LM
OF FRACTALS
6.1 Methodology
Current process planning methods are mainly devised for the Euclidean geometry,
but not fractal geometry. Thus, all process planning tasks have to be reconsidered for
fractal objects and additional steps have to be developed. For this purpose, a
grid-based navigation algorithm is proposed for generating LM toolpaths of complex,
multiply IFS connected and self-similar fractal objects. In order to obtain the LM
toolpath, six steps are required. The first step is to discretize the fractal object into a
computable form with a prescribed iteration level. The overall geometry of the
fractal object will then be described by a binary spatial occupancy representation,
which is to be updated by means of regularized set operations and affine
transformations in each recursion. Consequently, this method works on the LM
resolution (represented by rectangular grid) chosen so that a predefined tolerance for
surface roughness is satisfied. Then, multi-resolution fractal patterns are generated
by dilation mapping and clustering based on different tool sizes of a LM machine
(e.g. diameter of FDM’s nozzle). Afterwards, contouring and area filling are used to
generate the toolpath. The contouring of each discretized fractal slab is generated via
an 8-neighbours metric. Then, the slab contour is represented by a number of closed
6-1
connected linear segments. For area filling, alternately oriented rays covering
adjacent slabs and spiral patterns (Figure 6-1) are used.
(a)
(b)
Figure 6-1. Contouring and area filling (a) alternate oriented rays covering adjacent
slabs and (b) spiral patterns
Moreover, appropriate offset is used to prevent material overlap during the toolpath
generation. In this way, 3D physical fractal objects can be produced using LM
machines. The proposed toolpath generation method has been simulated graphically
and validated by the physical realization of a typical IFS multiply fractal object, the
Menger sponge. Figures 6-2 and 6-3 show the workflow of approximating a 2D
fractal object and the workflow to LM fractal objects.
6-2
Figure 6-2. The workflow to
approximate 2D fractal
objects
Figure 6-3. The workflow to LM
fractal objects
6-3
6.2 Computer model of multiply IFS fractals
6.2.1 Mathematical model of multiply IFS fractals
Before going into the description of the method, we will briefly review the
mathematical definition of Menger sponge. The first step is to discretize the Menger
sponge into a computable form with prescribed iteration level. The overall geometry
of the fractal object (Fn) will then be described by binary spatial occupancy
representation, which is to be updated by means of regularized set operations and
affine transformations in each recursion. Each regularized Boolean set operator in
terms of the corresponding ordinary Boolean set operator is defined as
A op* B = closure(interior(A op B))
(6.1)
where op is one of ‰, ˆ or and closure(interior(x)) represents regularization
(closure of interior) of the point set.
A recursive affine transformation is formulated as
§ x n 1 ·
¨
¸
¨ y n 1 ¸
¨z
¸
© n 1 ¹
§a b
¨
¨d e
¨g h
©
c ·§ x n · § j ·
¸¨ ¸ ¨ ¸
f ¸¨ y n ¸ ¨ k ¸
i ¸¹¨© z n ¸¹ ¨© l ¸¹
(6.2)
Each affine transformation will generally yield a new attractor in the final image.
The form of the attractor is given through the choice of the coefficients a, b, c, …,
and l which uniquely determine the affine transformation. To get the desired shape, a
6-4
collage of several attractors may be used (i.e. several affine transformations). For an
initial set F0, which is a unit cube in Euclidean space
, is divided into 27 equal
sub-cubes and the regularized set difference operation (*) is undertaken to remove
the central block of sub-cube and its 6 neighbors to become F1. By repeating this
operation, the Menger sponge is obtained (Figure 6-4).
Figure 6-4. Menger Sponge
6-5
To obtain the voxelized computer model of the Menger sponge, the algorithm is
shown in the following pseudo code.
Procedure Menger sponge generation (Cube_to_difference)
Input: Size of voxel (Vs) = 'x 'y 'z, where, 'x = 'y z 'z
No of iteration level: k
Co-ordinates of initiator (1st level): total 20 cubes represented by {FilledX (x), FilledY (x),
FilledZ (x)}
Removed co-ordinates of initiator: central block of sub-cube and its 6 neighbors represented
by {EmptyX (x), EmptyY (x), EmptyZ (x)}
Output: voxel-based Menger sponge
/*Initialization*/
/*Define how many sub-cubes to represent a unit cube, i.e. if k = 3, total 3u3u3= 27 sub-cubes */
For x = 0 To (3 ^ k - 1)
For y = 0 To (3 ^ k - 1)
For z = 0 To (3 ^ k- 1)
Cube(x, y, z) = 1
Next z
Next y
Next x
Sub Eliminate ( ) /* Undertake Boolean operation (*) */
For x = (CoX) To ((Step - 1) + CoX)
For y = (CoY) To ((Step - 1) + CoY)
For z = (CoZ) To ((Step - 1) + CoZ)
Cube(x, y, z) = 0
N=N+1
Next z
Next y
Next x
End Sub
Sub Level_Output()
/*Level 1*/
If k >= 1 Then
Step = 3 ^ (k - 1)
For a = 1 To 7
CoX = EmptyX(a) * (3 ^ (k - 1))
CoY = EmptyY(a) * (3 ^ (k - 1))
CoZ = EmptyZ(a) * (3 ^ (k - 1))
Goto Eliminate
Next a
6-6
/*Level 2*/
If k >= 2 Then
Step = 3 ^ (k - 2)
For a = 1 To 20
For b = 1 To 7
CoX = FullX(a) * (3 ^ (k - 1)) + EmptyX(b) * (3 ^ (k - 2))
CoY = FullY(a) * (3 ^ (k - 1)) + EmptyY(b) * (3 ^ (k - 2))
CoZ = FullZ(a) * (3 ^ (k - 1)) + EmptyZ(b) * (3 ^ (k - 2))
Goto Eliminate
Next b
Next a
.
.
.
/*Level n*/
If k >= n Then
Step = n ^ (k - n)
For a1 = 1 To 20
For a2 = 1 To 20
.
.
.
For a n-1= 1 To 20
For b = 1 To 7
CoX = FullX(a1) * (3 ^ (k - 1)) + FullX(a2) * (3 ^ (k - 2)) + FullX(a3) * (3 ^ (k 3)) + …+EmptyX(d) * (3 ^ (k - n))
CoY = FullY(a1) * (3 ^ (k - 1)) + FullY(a2) * (3 ^ (k - 2)) + FullY(a3) * (3 ^ (k - 3))
+ …+EmptyX(d) * (3 ^ (Levelno - n))
CoZ = FullZ(a1) * (3 ^ (k - 1)) + FullZ(a2) * (3 ^ (k - 2)) + FullZ(a3) * (3 ^ (k - 3))
+ …+EmptyX(d) * (3 ^ (k - n))
Goto Eliminate
Next b
Next a
.
.
.
Next a2
Next a1
End If
End If
.
.
.
End If
End Sub
} End Procedure Menger sponge generation
6-7
6.2.2 Slab model
In order to create data that can be used to build a part one level at a time, slicing
process is performed to obtain necessary 2D data for a LM process. In other words, a
3D model can be thought of as a stack of 2D model arrays and each 2D array is
called a slice or slab model. A slice is an infinitesimally thin cross-section of a part
at some constant z-value. Curves, or topological contours, are consequently
produced for each slice. All the curves are made up of straight-line segments; the
end of each segment is called a vertex. These slices are indexed from bottom to top
so that the bottom-most slice is numbered “0”, the next slice is numbered “1”, and so
forth. More precisely, the model is the set:
{(s, r, c) | 0d s< nslices, 0d r< nrows, 0d c< ncolumns}
where nslices, nrows, ncolumns denote the number of slices, rows and
columns.
(6.3)
The 2D computer models of Menger sponge (Figure 6-5) are obtained from different
z-level slicings of the 3D model.
(a)
(b)
(c)
(d)
Figure 6-5. 2D computer models of Menger sponge
6-8
Some 2D computer models can be represented by a Sierpinski carpet (Figure 6-5 a).
The 2nd level Sierpinski carpet (F2) is obtained by set difference operations of 8
children from the parent Sierpinski carpet after suitable affine transformation (Figure
6-6).
F1= F0 –* F0
ª1
«3
«
«0
«
«0
«¬
Fn= Fn-1 –* {F n-1
ª
«1
«0
« 2l
«
¬3
º
0 0»
»
1
0»
3
»
0 1»
»¼
ª1
«3
«
«0
«
«0
«¬
ª
«1
«0
«l
«
¬3
º
0 0»
1 0»
»
l
1»
3 ¼
(6.4)
º
0 0»
ª1 0 0º
»
1
0» } { ««0 1 0»» +
3
»
«¬0 0 1»¼
0 1»
»¼
ª
º
0 0»
«1
1 0» + « 0
»
« 2l
l
1»
«
3 ¼
¬3
0
1
2l
3
º
0»
0» +
»
1»
¼
ª
«1
«0
«l
«
¬3
0
1
2l
3
ª
º
« 1 0 0»
« 0 1 0» +
«l
»
0 1»
«
¬3
¼
º
0»
0» +
»
1»
¼
ª
«1
«0
«
«0
¬
0
1
2l
3
ª
«1
«0
« 2l
«
¬3
º
0 0»
1 0» +
»
0 1»
¼
º ª
º
0 » «1 0 0 »
0 » + «0 1 0 » }
» «
»
l
1 » «0
1»
3 ¼
¼ ¬
where F is a fractal region, l is equal to 3n, n is the level of iteration, 32n is the
total number of equally sized pixels which is also the smallest grid cell.
F1
F2
Figure 6-6. 2 level Sierpinski carpet obtained from F1 to F2
nd
6-9
(6.5)
6.3 Resolution adjustment
Before further discussion of the methodology, three basic assumptions should be
noted:
From the perspective of computational modelling, the infinite state of the fractals
cannot be modelled. Actually, natural object modelled for physical making has to
be in finite form. Therefore, iteration level of 3D computer fractal models are
assumed to be finite and prescribed;
In the stage of toolpath generation, fractal dimension is an integral multiple of
machine resolution, and the toolsize is equal to the machine resolution ', which
assumes 'x = 'y z 'z;
The fractal dimensions are refined by tool geometry (tool size) consideration and
tool size is an integral multiple of machine resolution
In real case, the designer does not input the LM machine resolution as the fractal
dimension. Since, the LM machine can only produce finite physical objects, the
intermediate state of IFS generated model (F) will be the main focus; such model is
also called prefractal (Df). Df may have more digits than the resolution of LM
machine (Dm), and Df is probably not a multiple of Dm, Df z n Dm, FΠn (Dx, mu Dy, m)
6-10
and n (Dx, mu Dy, m)ΠF (Figure 6-7). In this situation, some portion of F is inside Dm
and some other portion of Dm inside F. Therefore, it is undesirable and needs
rounding or truncating the original dimension of the fractal object. In other words,
the pre-fractal dimension is replaced by the integral multiple of LM machine
resolution with the required number of digits closest to it.
Figure 6-7. Approximation: rounding up or down
The approximation of the pre-fractal in x-dimension (Figure 6-8) and y-dimension
(Figure 6-9) are
~
Let D f , D f 
Df
~
~
, where D f is an approximation to D f , D f := D f ,
VԦmԦ10e, where V is sign ,+1 (toolpath data should be positive), m is
mantissa, 1<m<10, e is exponent, which is an integer.
6-11
The approximation of the pre-fractal dimension will be
~
Df
where,
§ n
·
= D f ನ ¨¨ ¦ D f O' ¸¸
©G 1
¹
(6.6)
n
1
' ¦ D f O' t 0 , Oള+
2
G 1
Therefore,
~
'(n + 1) > D f ( x) > 'n,
~
'(m + 1) > D f ( y ) > 'm,
where
' is x and y-resolution of LM machine ('x = 'y z 'z),
n is multiple of ' for x-resolution and
m is multiple of ' for y-resolution.
Figure 6-8. Relationships between rounding up/down of the pre-fractal in
x-dimension
6-12
(6.7)
(6.8)
Figure 6-9. Relationships between rounding up/down of the pre-fractal in
y-dimension
Four possible approximations are used for rounding up or down the fractal dimension.
They are:
(n + 1)(m + 1)'2 means that both xy-resolution rounding up
(n + 1)m'2 means that x-resolution rounding up while y-resolution rounding down
n(m + 1)'2 means that x-resolution rounding down while y-resolution rounding up
nm'2 means that both xy-resolution rounding down
Therefore, the x-dimension approximation of the pre-fractal is
If Df (x) +0.5' t (n+1)'
Then Df (x) # (n+1)'
~
D f ( x)
1
nroundup=
'
(6.9)
Else if Df (x) +0.5' d(n+1)'
Then Df (x) # n'
~
D f ( x)
nrounddown =
'
6-13
(6.10)
Similarly, the y-dimension approximation of the pre-fractal is
If Df (y) +0.5' t (m+1)'
Then Df (y) # (m+1)'
~
D f ( y)
nroundup=
1
'
(6.11)
Else if Df (y) +0.5' d(m+1)'
Then Df (y) # m'
~
D f ( y)
nrounddown =
'
(6.12)
Eventually, the approximated fractal dimension,
Approx (Df)
~
~
= D f ( x) Ԧ D f ( y )
= {{(n + 1)(m + 1)'2 } › {(n + 1)m'2} › {(m + 1)n'2} › {nm'2},
n, mള ‰ {n
0, m
0} }
6-14
(6.13)
6.4 Toolpath generation of multiply IFS fractals
From the viewpoint of the Euclidean geometry, the contour of a fractal curve is a 2D
non-simple and concave polygon. In other words, the curve can be fabricated in a
single slab with LM technique. Thus, point-to-point toolpath can provide the
geometrical information for LM machine fabrication. The toolpaths for both
contouring and area filling are represented by a list of (x, y) coordinate values which
can be obtained directly by the grid-based navigation algorithm. The geometrical
information of a single slab is needed. It is represented by explicitly using a list of
vertex coordinates: P = ((x1, y1), (x2, y2), …, (xn, yn)). Before toolpath generation,
multi-resolution fractal patterns for different LM machine tool sizes will be
discussed.
6-15
6.4.1 Tool size consideration
In this section, the traces of toolpath for LM machines with different tool sizes will
be simulated. Tool size consideration for a LM surface can be approximated or
represented by the grids. This approximation can be expressed in terms of the
following two containment conditions between the fractal pattern (F) and tool size
(l): (a) FŽl (excess deposition) and (b) lŽF (deficient deposition). Suppose rfinest =lul
is the side of the finest machine resolution, there are two options for making coarser
pattern. They are even (Reven = 2n l u 2 n l) and odd (Rodd = 3n l u 3n l) (Figure 6-10).
(a)
(b)
(c)
Figure 6-10. Toolsize consideration with negative tolerance (a) finest toolsize, (b)
even number multiple of finest toolsize, (c) odd number multiple of
finest toolsize
6-16
In order to obtain fractal patterns with variable machine tool sizes, three steps are
needed. First, a variable binary dilation mask using the simplest structuring elements
is defined from the tool size. The mask is defined by N which is the number of
neighbors of P(x, y), Neven = 2n u 2n –1 and Nodd = 3n u 3n –1, where nt1. Then, the
mask is mapped onto the original pattern with raster scanning. Finally, coarser
pattern can be obtained by clustering. Snapshots of clustering and binary dilation are
shown in Figure 6-11.
Figure 6-11. Snapshots of clustering and binary dilation (a) even number multiple of
finest toolsize, Neven = 3 and (b) odd number multiple of finest toolsize,
Nodd = 3
6-17
6.4.2 Contouring toolpath of multiply IFS fractals
The contouring toolpath is a set of plane curve described by ordered n-tuples (P1 ,…,
Pn) as long as n t 2 (Euclidean dimension (DE) of the plane curve equals to two, i.e.
DE =2). The contour of each discretized fractal slab Fn, denoted by E(Fn), is traced
via morphological outlining by considering the Moore neighborhood of a pixel (i.e.,
the 8-adjacent pixels N8(P) to all P(x, y) include the 4-neighbors plus four diagonally
adjacent pixels, these pixels are P1, P2, P3, P4, P5, P6, P7 and P8 as shown in Figure
6-12.
Figure 6-12. Notation used for defining the relative locations of pixels with respect
to a pixel P
N8 (P) = {(x, y-1), (x, y +1), (x -1, y), (x +1, y), (x -1, y -1), (x +1, y -1),
(6.14)
(x -1, y +1), (x +1, y +1)}
Toolpath contour E(Fn) = (Fn † P1) –Fn
i.e., the dilation † by one pixel P1 followed by subtraction.
6-18
(6.15)
Figure 6-13. Morphological outlining
The tool proceeds from one grid centre-point to a single layer. The slab contour is
traced out by a number of closed connected linear segments. Finally, the profiles of a
3D fractal object are obtained by a number of consecutive 2D slice of E(Fn) along
the z-direction.
Contour toolpath of fractal | ¦ E k (Fn )
k
k = 0,1,2,...,N
(6.16)
The toolpath information can be used in point-to-point NC machining, as the
information is coordinate based. The grid definition is filled with material and the
entire area of the grid is covered by the tool (Figure 6-14).
Figure 6-14. Grid definition
6-19
The width of the border region is calculated from the separation distance between
two pixel centroids. The result of the outer and inner perimeter roads is shown in
Figure 6-15.
Connecting all pixels by a
number of line segment
Figure 6-15. Slab contour is obtained by a number of closed connected linear
segments
6.4.3 Area filling of multiply IFS fractal
For area filling, zig-only path or spiral pattern are selected to fill the interior area of
the fractal pattern. For spiral pattern, it can be obtained by morphological operation
and the equation is
Spiral area filling toolpath = w1(Fn) + w2(Fn) + w3(Fn) +… + wi(Fn)
n
= ¦ wi(Fn)
i 1
where
w1(Fn) = Fn – (FnാP1)
w2(Fn) = (Fn – w1(Fn)) – ((Fn – w1(Fn))ാP1)
w3(Fn) = (Fn – w1(Fn) – w2(Fn)) – ((Fn – w1(Fn) –
w2(Fn))ാP1)
..
.
wi(Fn) = (Fn –w1(Fn) –w2(Fn)……–wi(Fn))
– ((Fn –w1(Fn) –w2(Fn) ……–wi(Fn))ാP1)
i.e., the erosionാby one voxel P1 followed by set difference (–).
6-20
(6.17)
Similar to toolpath contour, the tool proceeds from one grid centre-point to the next
layer and the slab contour is then traced out by a number of closed connected linear
segments. The area filling of one slice is
Toolpath of fractal = Contour toolpath + Area filling
n
(6.18)
| ¦ ( E k ( Fn ) ¦ wi(Fn))
k
i 1
where k = 0, 1, 2,..., N, i = 0, 1, 2,..., n
For zig-only path, ray representation [Hartquist 1999] in adjacent slabs will use
different orientations to improve interlocking. Figure 6-16 shows the 45o raster
angle of area filling that is obtained from a ray representation RR (F; G) of one slab.
It is a collection of line segments generated by ‘clipping’ a regular grid of lines, G,
against F. In 3D, the slab model can be defined as:
RR (F; G) = (Li, j F)
i, j
where Li, j is a line in a grid G indexed by position (i, j).
6-21
(6.19)
Here, Gk depends on the machine working envelope, and Gk-1 and Gk will have rays
of different orientations (Figure 6-17) and multi-view orthographic projection
representation of area filling is shown in Figure 6-18. As a result, the Menger sponge
can be approximated as:
Menger sponge | ¦ RR k E k(Fn))
k = 0,1,2,...,N
k
Figure 6-16. Rays in one slab
(6.20)
Figure 6-17. ¦ RR k
k
Figure 6-18. Multi-view orthographic projection representation of area filling (F2)
6-22
CHAPTER 7 CASE STUDIES
In order to validate and to verify the proposed theories, case studies are employed
for implementation. The case studies, in fact, works out the example being used in
Chapters 4, 5 and 6. The voxel-based and quadtree-based generative algorithms are
used to model colored fractal objects and grid-based navigation algorithm is used to
generate the toolpath of LM fractal objects. The physical fractal object generation
program is implemented in Visual Basic and SoildWorks with Application
programming interface (API).
7.1 Euclidean transformed fractal objects
From literature survey in Chapter 2, there is an infinite number of fascinating
complex set fractals. Figure 7-1 shows some examples of complex fractals [Pickover
1998]. Chapter 4 discussed how to model a quaternion Mandelbrot set. The
following sections will show that the proposed algorithm can model a number of
Euclidean transformed fractal objects as the proposed algorithm is a very intuitive
and user friendly modelling scheme, which can be made complementary to the
Euclidean CAD software.
7-1
(a) Thorn Fractal, xn+1 =
yn+1 =
xn
+ cx ,
cos( y n )
(b) Fractal created using the Newton
Raphson method , z4 + z3 + z - 1 =
0
yn
+ cy
cos( x n )
(c) Mandelbrot set, f(z) = sin (z/c) + z 0
(d) Filled-in Julia set generated from z
o z-2 + c with c = 0.106+0.619i
(e) Lemon fractal, zn+1 = z0 zn2 (zn2 + 1) /
(zn2 - 1)2, centered at 0 + 0i
(f) Reverse Julia
7-2
(g) Marek Dragon, zn+1 = zn + zn2 ,
zn is e
(h) Inverse Mandelbrot set
2S r i
(i) Julia set of sin(z), zk+1 = c sin(zk),
where c = 1 + 0.3i
(j) Cactus fractal, f(zn+1) =
zn3 + (z0-1)zn-z0
(k) Biomorphs fractal, f(zn+1)
= sin(zn) + ezn + c
(l) Logistic equation and bifurcation
diagram, f(x) = R x (1 - x)
7-3
(m) Blaschke products from
§
1 ·
¸¸ exp i n 1
an = ¨¨1 © (n 1) ¹
(n) Composite Mandelbrot set with -3d
Re(c) d 1, -1.5d Im(c) d 1.5
Figure 7-1. Examples of fractal images
7.1.1 Fractals with host geometry
A fractal pattern for engraving or embossing can be prepared by projecting a fractal
pattern onto a free-form surface. Figures 7-2 and 7-3 show examples which parallel
project a Julia set onto a Euclidean surface and NURBS surface respectively.
Figure 7-2. Host geometry on NURBS surface
7-4
Figure 7-3. Host geometry on Euclidean object’s surface
7.1.2 Fractals with translational sweep representation
Sweeping a fractal pattern along a trajectory through space defines a new fractal
object, called a sweep. The simplest kind of sweep is defined by 2D area swept
along a linear path normal to the plane of the area. This is known as a translational
sweep or extrusion [Rooney 1987]. To fully exploit the potential, concerning
transformation and sweeping, Figure 7-4 shows a Julia set with dome feature which
is constructed by simple translational sweep and dome operation. Figure 7-5 shows a
volcano of Mandelbrot set which is created by a series of z-level transformations and
Boolean operations to union (‰*) a number of Mandelbrot sets with different escape
sets Ec. These fractal models were generated by the proposed algorithm and
SoildWorks software.
7-5
Figure 7-4. Julia set with dome feature
Figure 7-5. Volcano of Mandelbrot set
7.2 N-D colored computational fractal models
In this section, a common complex fractal, the Quaternion Julia set, is selected to
explain the theories of 4D fractal realization. The algorithm is shown as follows.
Procedure: Quaternion Julia_Set
/*different parameters can generate different fancy patterns*/
Input: Parameter r, a, b and d where c= r +ai+ bj+dk
/* Window size setting can generate certain interesting patterns for those to be manipulated by LM
machines*/
Window size (x max , x min , ymax , ymin , zmax, zmin)
/*Resolution setting based on LM machines*/
No. of voxels = MaxY u MaxX u MaxZ
/*Setting a condition to define when the iteration function should be stopped and to assign color on a
voxel during each iteration*/
Blowup parameter: escape time R, maximum number of iterations K and colors C1 & C2 defined
based on R1 and R2
7-6
Begin
For all pixels (p, q) in the window, do
Check = False
Step (1): set
dx = (x max - x min) /MaxX
x = x min + dx * x 0
x = ymin + dx * y 0
z = z min + dx *z 0
'w = w
R =0
K=0
Begin
Step (2): While Check = False
x n+1= x n2 y n2 z n2 wn2 r ,
y n+1= x n* y n +a,
z n+1= x n* zn +b,
w n+1= x n* wn +d,
n= n+1;
Step (3): (i) if n =K, color the pixel (p, q) with black color
(ii) if x n2 y n2 z n2 wn2 >R and n>K, go back to Step (2);
(iii) if x n2 y n2 z n2 wn2 d R1 , color the pixel (p, q) with color C1 and
x n2 y n2 z n2 wn2 d R 2 , color the pixel (p, q) with color C2
End
End
7-7
7.2.1 Voxel-based generative algorithm
The single voxel boundary shell w is in general disconnected such that each is
represented by a closed shell. Each disconnected single voxel shell is represented by
connected facets. The VRML file of a colored QJ-set and its computer model can be
obtained from rules as mentioned in Chapter 2 and algorithm mentioned previously.
A number of colored quaternion Julia set, zn+1 = zn+ c with different parameters
(where c= r +ai+ bj+dk) are generated. Figures 7-6, 7-7 and 7-8 show the VRML file
of monochrome QJ-sets, colored QJ-sets and 3D multiply IFS fractals (e.g. Menger
sponge) respectively. And, the VRML models can be used in LM construction as
well as visualization.
(a) QJ-set, c = (-0.162, 0.163, 0.560, -0.599)
7-8
(b) QJ-set, c = -0.08, 0, -0.8, -0.3
Figure 7-6. Monochrome QJ-sets
(a) Colored QJ-set, q= -0.08, 0, -0.8, -0.3
7-9
(b) QJ-set, q = (-1, 0.2, 0, 0)
Figure 7-7. Colored QJ-set
Figure 7-8. Menger sponge
7-10
7.2.2 Generative colored quadtree encoding
Similarly, the VRML file of a colored QJ-set and its computer model can be
obtained from rules as mentioned in Chapter 2 and algorithm mentioned previously.
But in this case, the colored QJ-set is represented by the quadtree-based and colored
boundary shell wquadtree and each disconnected multi-resolution shell is represented by
variable resolution rectangular and then triangular facets 'quadtree. Figures 7-9 and
7-10 show the VRML files of 3D cross-sections of colored QJ-sets in 4D space.
Figure 7-9. Colored QJ-set, q= 0.368, 50.1, 0.03, 0.01
7-11
Figure 7-10. Quadtree representation of half 4D Julia set, q= -1, 0.2, 0, 0
7.2.3 Layer manufacturing of colored and monochrome fractal
objects
The proposed modelling method for monochrome and colored complex fractal
objects has been validated by producing on a ZTM406 3D color printer [Z-Corp.]
(Figure 7-11). It is a typical LM process that can fabricate prototypes out of
starch-based or plaster-based powders from Z-Corp colored machine (Figure 7-12).
7-12
Figure 7-11. ZTM406 3D color printer [Z-Corp.]
Figure 7-12. 3D printing process
The toolpath data of the 3D physical complex fractal objects will be converted into a
Z-Corp. machine proprietary VRML format so that it can be readily loaded into the
Z-Corp. machine. The slab model of the monochrome QM-set and QJ-set are shown
in Figure 7-13 and Figures 7-14 respectively. Figure 7-15(a) shows the slab model of
colored QJ-sets while 7-15(b) shows the corresponding colored physical fractal
prototype.
7-13
Figure 7-13. Slab model of QM-set
Figure 7-14. Slab model of QJ-set
7-14
(a) Slab model of color QJ-set
(b) Colored physical fractal prototype
Figure 7-15. Colored half QJ-set, q= -0.08, 0, -0.8, -0.3
7-15
On the other hand, the VRML format can be easily converted into other alternative
RP interfaces (e.g. IGES, STEP, STL, etc.) (Figure 7-16) as it can be communicated
with contemporary CAD system (e.g. 3D Studio MAX) (Figure 7-17) and CAM
systems (e.g. Z-Crop colored printer, etc.). The proposed algorithm can thus handle
fractal objects with different kinds of LM machines.
Figure 7-16. Fractal object in STL format
7-16
Figure 7-17. QJ-set in 3D Studio MAX
7.3 Toolpath generation by grid-based navigation algorithm
In the grid-based navigation algorithm, the facet approximation step in the LM
process has been skipped. Moreover, the LM toolpath for the fractal curves is
directly obtained from the 2D slab model. The proposed methods for toolpath
generation for multiply connected and self-similar fractal objects have been
validated by the physical realization of a typical IFS multiply connected fractal
object, the Menger sponge in FDM 1600 machine [Stratasys 1995] of Stratasys Inc.
(Figure 7-18). The toolpath data which is represented by a list (x, y) coordinate
7-17
values is modified into a FDM proprietary SML (Stratasys Modelling Language)
format so that it can be readily loaded into a FDM machine. The resulting toolpaths
of boundary tracing and area filling the Menger sponge and the corresponding
physical FDM prototype are shown in Figure 7-19.This method can also generate the
toolpaths of complex fractal objects (e.g. Q-set) (Figure 7-20). All coordinate values
are prefixed by the letter “MA”, which is the code for “move absolutely” in FDM.
Afterwards, the data is merged with other FDM attributes (sets, road widths, gaps
between roads, etc.) to form the complete data in the SML file (Figure 7-21). SML is
the file that controls a computer numerically controlled extruder head to squeeze a
fine filament of melted thermoplastic through a nozzle. The nozzle deposits the
heated plastic layer by layer to form the desired shape.
Figure 7-18. Stratasys FDM-1600 [PolyU ISE]
7-18
(a) Toolpath of fractal objects with alternate area filling
(b) Physical FDM prototype
Figure 7-19. Toolpath and physical FDM prototype of Menger sponge
7-19
Figure 7-19. Toolpath of QJ-set
Figure 7-20. Example of SML format
7-20
CHAPTER 8 DISCUSSION
In this thesis, modelling and toolpath generation methods for multiply connected IFS
and complex fractals are proposed. However, many open problems still remain
unsolved. This Chapter lists out some potential areas for future research. Some of
them are direct extensions of the work presented in this thesis, while others are
broader concepts which require further research.
8.1 Theory
8.1.1 Limitations of modelling for fractal object fabrication
The lure of cosmetic decoration and aesthetic product is due to its ability to
concretely present the beauty of art. Natural object (Figure 8-1) will mainly consider
complex fractal as a potential modelling vehicle for aesthetic appealing object and
cosmetic decoration design.
(a) Cloud
(b) Coral reef
Figure 8-1. Natural objects
8-1
As mentioned in Chapter 1, fractal geometry is applied in biology and used for
representing some complicated structures, like the alveoli, the blood vessels, the
brain, the bone, membranes and others (Figure 8-2).
Figure 8-2 Human body
A fractal blood vessels (Figure 8-3) is used as an example for simply connected IFS
fractal model. Cylinder is the initiator of the vessels. The cylinders can be voxelized
and affine transformation is used to generate the voxel-based IFS fractal with binary
representation. The vessel can then be modeled by using voxel-based generative
algorithm or GCQE.
8-2
Figure 8-3. Fractal blood vessels
However, some of them are constructed from more than one kind of fractal objects,
say multi-IFS fractals (e.g. human body) which cannot be modelled by the proposed
methods efficiently. Also, multi-IFS fractal geometry theory cannot be found in the
literature yet. Therefore, the immediate effort is to enhance the computational
efficiency, extending the manufacturing scope, as well as to refine the fractal
geometry theory for physical fractal fabrication.
8-3
8.1.2 Lamination of GCQE
8.1.2.1 Checker board fractal pattern
The quadtree encoding algorithm devised reduces the amount of memory and disk
space when compared to its voxel-based counterpart. Also, the GCQE accompanying
with the hybrid algorithm, eliminate the “Fatou dust” and self-intersecting entities
efficiently. However, if the amount of aggregation is minimal (e.g., a checker board
fractal pattern (Figure 8-4)), the quadtree-based scheme is no longer that beneficial.
The Menger sponge is an example of the checker board fractal pattern.
(a)
(b)
Figure 8-4. A checker board (a) its pattern and (b) its quadtree
8-4
8.1.2.2 Computational fractal modelling
The GCQE is devised to reduce the amount of space necessary to store the data
through aggregation of homogeneous blocks. One quarter of QM-set will be taken as
an example. The quadtree-based boundary shell of the quarter QM-set (Figure 7.11)
is obtained by undertaking recursively quadtree Boolean operations to union (‰*) a
number of quadtree base boundary shell of 2.5D Mandelbrot set. In this case, the
storage space is reduced by 20% when compared with the voxel-based equivalent
(Figure 8-5).
z
y
x
Figure 8-5. Quadtree-based boundary shell of the quarter QM-set with 118,416
facets and 6.2 MB storage space
8-5
z
y
x
Figure 8-6. Voxel-based boundary shell of the quarter of QM-set with 143,246 facets
and 9.31MB storage space
Although the proposed method is flexible enough to represent a wide variety of
fractal objects, the higher resolution of fractal object needs a large number of
polygons. This fact is a problem and the resulting mesh models will take a
considerable amount of computational time, slow to display in preview and in final
modelling.
The reason is that the proposed method needs to traverse each 2D slab of the
computer model layer by layer. For this reason, a 3D data structure represented by a
hierarchical structure known as an octree (Figure 8-7) can be considered. The fractal
object can be constructed with constructive solid geometry (e.g. cuboid as the
primitive).
8-6
1st clustering
2nd clustering
3rd clustering
(a)
(b)
Leaf node with descendants
Leaf node representing a blue color block
Leaf node representing a red color block
Leaf node representing an empty region
Figure 8-7. Octree encoding (a) 8n regions using octree subdivision and (b) octree
representation.
8-7
8.2 Implementation
8.2.1 Software
Further work to enable the GUI (Graphical User interface) for higher level
interaction between the product designer and the CAD/CAM system is
recommended. In addition, future CAD systems should also provide synthesizing
environments
for
“functional”
design
and
fabrication
pre-processing
of
heterogeneous fractal objects.
8.2.2 Hardware equipments
Perfactory® Mini [Envision Technologies] aims for designers and manufacturers of
small filigree parts with a high surface quality, e.g. in jewelry design, aesthetic
product. With the Mini system a pixel resolution down to 32µm can be achieved.
Layer thickness can be adjusted between 25µm and 50µm. The resolution of the
Perfactory® Mini machine has the highest resolution (1400 x 1050 dpi) when
compared with other LM machines (e.g. Multi-jet modelling [3D systems]: 656 x
656 dpi). Therefore, fractal object can be built with more details. However, this
machine is not available, making fractal objects can only be tested in FDM and ZCorp LM machines. Moreover, some natural objects are composed of multi-IFS
fractals, multi-materials and multi-colors. However, some LM techniques (e.g. direct
metal deposition (DMD), laser engineered net shaping (LENS), direct light
fabrication (DLF) and multi-material selective laser sintering (M2SLS), etc.) can
only fabricate heterogeneous (multi-materials) objects or Z-Corp colored 3D printer
8-8
can fabricate a multi-colored objects. Therefore, contemporary LM technology needs
to be extended to cover a larger scope.
8-9
CHAPTER 9 CONCLUSION
This chapter concludes the work described in this dissertation by presenting its
research contributions and findings. First, the definitions of fractal geometry and
construction of fractals have been reviewed and the limitations being found are
summarized in section 2.3. Then, a detailed manufacturability assessment for
traditional manufacturing and layer manufacturing processes were performed and
section 3.5 gives a summary of commercial LM machines’ capability to LM fractals.
The voxel-based generative method for generating n-D colored computer fractal
models based on binary spatial occupancy representation scheme is proposed.
Afterwards, the hybrid algorithm is worked out that combines boundary shell
extraction, boundary evaluation and triangulation to generate the colored single
voxel shell of the n-D fractal objects. It is found that the memory requirements are
prohibitive in computer processing of fractal. To enhance further the computational
and storage efficiency, new representation schemes, namely, GCQE and the
corresponding hybrid algorithm are proposed.
Afterwards, a grid-based navigation algorithm is proposed for toolpath generation to
9-1
LM the fractal objects. It is found that the method draws the advantages of direct
slicing generation. Comparing with traditional LM procedures, some steps involving
solid or surface modeling and facetting can be skipped. Finally, case studies are
conducted to verify the validity of the proposed methods by incorporating suitable
synthesizing tools.
9-2
REFERENCES
[3D Systems]
3D systems, website: http://www.3dsystems.com
[Arcam]
Electron beam melting, website: http://www.arcam.com/
[Autostrade]
SL Unirapid, website: http://www.autostrade.co.jp/
[Barnsley 1988]
Barnsley, M. (1988), Fractal Everywhere, Academic Press
[Barnsley 1984]
Barnsley, Michael F. and Demko, Stephen (1985), “Iterated function systems and the
global construction of fractals”, The Proceedings of the Royal Society, pp.243-275
[Branner 1989]
Branner, B. (1989), “The Mandelbrot Set”, In Chaos and Fractals: The Mathematics
Behind the Computer Graphics, Proc. Sympos. Appl. Math., Vol.39 (Devaney, R. L. and
Keen, L. (Ed.)). Amer. Math. Soc., pp.75-105
[Cantor set]
Cantor set, website: http://www.duke.edu/~mjd/ chaos/chaos.html
[Chee 1995]
Chee, Kai Chua and Siaw, Meng Chou (1995), “Rapid prototyping technologies and
limitations”, Proceedings of the Institution of Mechanical Engineering, Part B; Journal of
Engineering Manufacture, Vol.209, pp.165-185
[Chen 2003]
Chen, Yuh-Min; Wen, Chiun-Cheng and Ho, Chengter Ted (2003), “Extraction of
geometric characteristics for manufacturability assessment”, Robotics and Computer
Integrated Manufacturing, Vol.19, pp.371–385
R-1
[Chen 1993]
Chen, Lin-Lin; Chou, Shuo-Yan and Woo, Tony C. (1993), “Parting directions for mould
and die design”, Vol.25, pp.762-768
[CMET]
SL, website: http://www.cmet.co.jp/
[Cox 1994]
Cox, J. J.; Takezaki, Y.; Ferguson, H. R. P.; Kohkonen, K. E. and Mulkay, E. L. (2002),
“Space-filling curves in toolpath application”, Computer-Aided Design, Vol.26, No.3,
pp.216-224
[Crawford, 1993]
Project Proposal, website: http://emsh.calarts.edu/~mathart/3DZoom.html
[Cubic Technologies]
Laminated object manufacturing, website: http://www.cubictechnologies.com
[Denken]
Denken Engineering Co. Ltd, website: http://www.denken-eng.co.jp/
[Dickens 1995]
Dickens, P. M. (1995), “Research developments in rapid prototyping”, Proceedings of the
Institution of Mechanical Engineering, Part B; Journal of Engineering Manufacture, Vol.
209, pp.261-266
[Dionnet 1994]
Dionnet, Vincent; Heliodore, Frederic; Alain, R. P. and Andre Claud, Nancy (1994),
“Method of manufacturing a fractal object by using stereolithography and a fractal object
obtained by performing such a method”, United States Patent, No.5355318
[Dissinger 1996]
Dissinger, Thomas E. and Magrab, Edward B. (1996), “Geometric reasoning for
manufacturability evaluation-application to powder metallurgy” Computer-Aided Design,
Vol.28, pp.783-794
R-2
[Envision Technologies]
Digital light processing, website: http://www.envisiontec.de/
[EOS]
Laser sintering, Electro Optical Systems GmbH website: http://www.eos-gmbh.de/
[Falconer 2003]
Falconer, K. (2003), Fractal Geometry: Mathematical Foundations and Applications,
Wiley
[Falconer 1996]
Falconer, K. (1996), Techniques in Fractal Geometry, Wiley
[FDM process]
FDM process, website: http://www.mec.cf.ac.uk/services/?view=fdm&style=plain
[Federer 1969]
Federer, H. (1969), Geometric Measure Theory, Springer
[Flake 1998]
Flake, Gary William (1998), The Computational Beauty of Nature: Computer
Explorations of Fractals, Chaos, Complex Systems, and Adaptation, MIT Press
[Foley 1996]
Foley, James D. (1996), Computer Graphics: Principles and Practice, Addison-Wesley
[Fractal antennae]
Fractal antennae, website:
http://www.geocities.com/Eureka/Plaza/4033/fraktenne_index.en.html
[Fractal Antennas System]
Fractal Antennas System, Inc., website:
http://www-tsc.upc.es/eef/research_lines/antennas/fractals/gallery.html
[Fractal antenna]
An example of fractal antenna, website:
www.cg.tuwien.ac.at/courses/Fraktale/PDF/fractals1.pdf
R-3
[Fractals in Physiology]
Fractals in Physiology, website:
http://classes.yale.edu/fractals/Panorama/Biology/Physiology/Physiology.html
[Fockele & Schwarze]
Fockele & Schwarze, website: http://www.fockeleundschwarze.de/
[Frame 2002]
Frame, Michael and Mandelbrot, Benoit B. (2002), Fractals, Graphics, and Mathematics
Education, Mathematical Association of America
[Gavin 1986]
Miller, Gavin S. P. (1986), “The definition and rendering of terrain maps”, International
Conference on Computer Graphics and Interactive Techniques, pp.39-48
[Generis]
Inkjet, website:http://www.generis.de/
[Gianvittorio 2001]
Gianvittorio, J. P. and Rahmat-Samii, Y. (2001), “Fractal geometry in antenna system
design: miniaturized - multiband element, phased array and frequency selective surface
design”, Department of Electrical Engineering, University of California
[Gianvittorio 2002]
Gianvittorio, J. P. and Rahmat-Samii, Y. (2002), “Fractal Antennas: a novel antenna
miniaturization technique, and applications”, IEEE Antennas and Propagation Magazine,
Vol.44, No.1, pp.20-36
[Griffiths 1994]
Griffiths, J. G. (1994), “Toolpath based on Hibert’s curve”, Computer-Aided Design, Vol.
26, No.11, pp.839–844
[Griffiths 1998]
Rapid prototyping technologies, website:
http://me.psu.edu/lamancusa/me415/rpintro2.pdf
R-4
[Ha 1996]
Ha, Jong Sung (1996), “On Determining 3D Manufacturability Using Gaussian Sphere”,
Ph. D. dissertation, Computer Science Dept., KAIST
[Hamilton 1969]
Hamilton, W. R., (1969), Element of Quaternions, Vols. I and II, Reprinted by Chelsea
Publ. Co.
[Hart 1989]
Hart, John C.; Kauffman, Louis H. and Sandin, Daniel J. (1989), “Ray tracing
deterministic 3-D fractals”, Computer Graphics, Vol.23, No.3, pp.289-296
[Hart 1990]
Hart, John C.; Kauffman, Louis H. and Sandin, Daniel J. (1990), “Interactive
visualization of quaternion Julia sets”, Proc. of IEEE Visualization, pp.209-218
[Hastings 1993]
Hastings, H. M. and Sugihara, G. (1993), Fractals: A User's Guide for the Natural
Sciences, Oxford University Press
[Hartquist, Menon, Suresh, Voelacker & Zagajac 1999]
Hartquist, E. E.; Menon, J. P.; Suresh, K.; Voelacker, H. B. and Zagajac, J. (1999), “A
computing strategy for applications involving offsets, sweeps, and Minkowski
operations”, Computer-Aided Design, Vol.31, pp.175-183
[HyperFun]
HyperFun Project, website: http://cis.k.hosei.ac.jp/~F-rep/HF_proj.html
[Kerekes 1992]
Kerekes, T. (1992), “Stereolithography builds computer-generated models of natural
forms”, Rapid Prototyping Report, Vol.2, No.4, pp.1-8
[Kinergy]
Kinergy, website: http://www.kinergy.com.sg/
[Kira]
Kira, website: http://www.kiracorp.co.jp/
R-5
[Lam 1993]
Lam, N. S. and De Cola, L. (1993), Fractals in Geography. Prentice Hall
[Liu 2003]
Yang, J., Bin, H., Zhang X. and Liu, Z. (2003), “Fractal scanning path generation and
control system for selective laser sintering (SLS)”, International Journal of Machine
Tools & Manufacture, Vol.43, pp.293–300
[LOM process]
LOM process, website:
http://www.warwick.ac.uk/atc/rpt/Techniques/Photos/lomprocess.jpg
[Mandelbrot 1967]
Mandelbrot, B. B. (1967), “How long is the coastline of Britain? Statistical self-similarity
and fractional dimension”, Science, Vol.156, pp.636-638
[Mandelbrot 1975]
Mandelbrot, B.B. (1975), “Stochastic models for the earth's relief, the shape and the
fractal dimension of the coastlines, and the number-area rule for islands”, Proc. Nat. Acad.
Sci. U.S.A., Vol.72, pp.3825-3828
[Mandelbrot 1983]
Mandelbrot, B. (1983), The Fractal Geometry of Nature, W.H. Freeman and Company
[Maple]
Maplesoft, website: http://www.mapleapps.com/
[McMains 2000]
McMains, S.; Smith, J.; Wang, J., and Séquin, C. (2000), "Layered manufacturing of
thin-walled parts", ASME Design Engineering Technical Conferences, 26th Design
Automation Conference, pp. 379-387
[Meiko]
SL, website: http://www.meiko-inc.co.jp/
[Mortenson 1997]
Mortenson, M. E. (1997), Geometric Modeling, Second Edition, John Wily & Sons
R-6
[Musgrave 1989]
Musgrave, F. K.; Kolb, C. E. and Mace, R. S. (1989), “The synthesis and rendering of
eroded fractal terrains”, Computer Graphics, Vol.23, No.3, pp.41-50
[Naylor 1985]
Naylor, Bruce; Laurie, Hodges and Demko, Stephen (1985), “Construction of fractal
objects with iterated function systems”, Proc. Roy. Soc. London, pp. 243-275
[Norton 1982]
Norton, Alan (1982), “Generation and display of geometric fractals in 3-D”, Computer
Graphics, Vol. 16, No.3, pp. 61-67
[Norton 1989]
Norton, Alan (1989), “Julia sets in the quaternions”. Computers and Graphics, Vol.13, No.
2, pp.267-278
[Object]
PolyJet technology, website: http://www.2objet.com
[Oppenheimer 1986]
Oppenheimer, Peter E. (1986), “Real time design and animation of fractal plants and
trees”, International Conference on Computer Graphics and Interactive Techniques, pp.
55-56
[Optomec]
Laser Engineered Net Shaping, website: http://www.optomec.com
[Pattijn 2000]
Pattijn, V.; Samson, I.; Vander Sloten, J.; Van Audekercke, R.; De Buck, V. and
Swaelens, B. (2000), “Personalized titanium membrane reconstruction in tumor surgery”
[Peitgen 1986]
Peitgen, H. O. and Richter, R. H. (1986), The Beauty of Fractals, Springer
[Peitgen 1991]
Peitgen, Heinz-Otto (1991), Fractals for the Classroom, Springer
R-7
[Pickover 1986]
Pickover, C. A. (1986), “Mathematics and beauty: Time-discrete phase planes associated
with the cycle system”, Computer & Graphics, Vol. 11, pp. 217-226
[Pickover 1987]
Pickover, C. A. (1987), “Mathematics and beauty: Turbulent complex curls”, Computer
& Graphics, Vol.11, pp.499-508
[Pickover 1998]
Pickover, Clifford A. (1998), Chaos and Fractals: A Computer Graphical Journey: Ten
Year Compilation of Advanced Research
[PolyU ISE]
PolyU, ISE dept, digital factory, website:
http://158.132.205.160/Digital_Factory/Systems/Factilies.htm
[PovRay]
PovRay image, website: http://astronomy.swin.edu.au/~pbourke/povray/povfrac/
[Pratt 2002]
Pratt, M. J.; Bhatt, A. D.; Dutta, D.; Lyons, K. W.; Patil, L. and Sriram, R. D. (2002),
“Progress towards an international standard for data transfer in rapid prototyping and
layered manufacturing”, Computer-Aided Design, Vol.34, No.14, pp.1111-1121
[ProMetal]
Inkjet, website: http://www.prometal.com/
[Prosenjit 1994]
Prosenjit, Bose and Godfried, Toussaint (1994), “Geometric and computational aspects of
manufacturing processes”, Computer & Graphics, Vol.18, No.4, pp.487-497
[Quaternion Julia fractals]
Quaternion Julia fractals, website:
http://astronomy.swin.edu.au/~pbourke/fractals/quaternionjulia/
R-8
[Quaternion Mandelbrot set]
Quaternion Mandelbrot set, website:
http://www.fractal.org/Bewustzijns-Besturings-Model/JRSet.htm
[Raúl 1991]
Rojas, R. (1991), “A tutorial on efficient computer graphic representations of the
Mandelbrot set”, Computers and Graphics, Vol.15, No.1, pp.91-100
[Rooney 1987]
Rooney, Joe and Steadman, Philip (1987), Principles of Computer-Aided Design, Pitman
in Association with the Open University
[Rpyinhua]
Rpyinhua, website: http://www.rpyinhua.com/mem200.htm
[Samet 1990]
Samet, Hanan (1990), The Design and Analysis of Spatial Data Structures,
Addison-Wesley
[Samet 1990]
Samet, Hanan (1990), Applications of Spatial Data Structures: Computer Graphics,
Image Processing, and GIS, Addison-Wesley
[Schroeder 1991]
Schroeder, M. (1991), Fractals, Chaos, Power Laws. Minutes from an Infinite Paradise,
Freeman
[SDI]
Inkjet, website: http://www.sandersdesign.com/
[Shimasaki 1995]
Shimasaki, M.; Matsusaka, Y. and Sakamoto, S. (1995), “IFS based on 3D self-similar
contraction mapping and modeling tree and coral” in Novak, M. M. and Miroslav M.
(eds.), Fractal Reviews in the Natural and Applied Sciences: Proceedings of the Third
IFIP Working Conference on Fractals in the Natural and Applied Sciences, Chapman and
Hall, pp.81-88
R-9
[Shirriff 1993]
Shirriff, Ken (1993), “Generating fractals from Voronoi diagrams”, Computers &
Graphics, Vol.17, No.2, pp.165-167
[Shirriff 1993]
Shirriff, K. (1993), “An investigation of fractals generated by zĺ1/z -n + c.”, Computers
and Graphics, Vol. 17, No.3, pp.603-607
[Sleumer 1999]
Sleumer, Nora H. and Tschichold-Gürman, Nadine (1999), “Exact cell decomposition of
arrangements used for path planning in robotics”, Technical Reports 329, ETH Zürich,
Institute of Theoretical Computer Science
[Solidica]
Ultrasonic/CNC, website: http://www.solidica.com/
[Solidscape]
Inkjet, website: http://www.solid-scape.com/
[Sony/D-MEC]
SL, website: http://www.d-mec.co.jp
[Soo 2002]
Soo, S. C. (2002), “Fractal Fabrication for Aesthetic Product Design”, Master of
Philosophy Thesis, Dept. of Industrial and Systems Engineering, The Hong Kong
Polytechnic University, Hong Kong.
[Soo 2002]
Soo, S. C. (2002), “Rapid prototyping using fractal geometry”, Solid Freeform
Fabrication Symposium 2002 Proceedings, pp.424-431.
[Soo 2002]
Soo, S. C. and Yu, K. M. (2002), “Toolpath generation for fractal curve making”
International Journal of Advanced Manufacturing Technology, Vol.19, pp.32-48
R-10
[Soo 2003]
Soo, S. C. and Yu, K. M. (2003), “Rapid prototyping for self-similarity design”, Journal
of Materials Processing Technology, Vol.139, pp.219–225
[Sourin 1996]
Sourin, A. and Pasko, A. (1996), “A function representation for sweeping by a moving
solid”, IEEE Transactions on Visualization and Computer Graphics, Vol.2, pp.11-18
[Stratasys]
Fused Deposition Modeling, website: http://www.stratasys.com
[Sugihara 1990]
Sugihara, G. and May, R. M. (1990), “Applications of fractals in ecology”. Trends Ecol. E,
Vol.5, pp.79-86
[Szeliski 1989]
Szeliski, R. and Terzopoulos, D. (1989), “From splines to fractals”, International
Conference on Computer Graphics and Interactive Techniques, pp.51-60
[Tomek 2001]
Tomek, Martyn (2001), “Efficient ray tracing affine IFS attractors”, Computer Graphics,
Vol. 25, No.4, pp.665-670
[Toyoda Machine Works]
Toyoda Machine Works, website: http://www.toyoda-kouki.co.jp
[Turcotte 1992]
Turcotte, D. L. (1992), Fractals and Chaos in Geology and Geophysics. Cambridge
University Press
[Unirapid]
Unirapid, Inc., website: http://www.unirapid.com/
[Voronoi diagram]
Voronoi diagram of fractal curve, website:
http://www.cs.berkeley.edu/~jordans/research/voronoi/erl.html
R-11
[Woo 1994]
Woo, Tony C. (1994), “Visibility maps and spherical algorithms”, Computer-Aided
Design, Vol.26, No.1, p. 6-16
[XenoDream]
Fractal images, website: http://www.fractalus.com/sharon/xeno/xeno.htm
[Zair 1996]
Zair, C. E. and Tosan, E.(1996), “Fractal modeling using free form techniques”,
Computer Graphics Forum, Vol.15, No.3, pp.269- 278
[Z-Corp]
MIT’s 3DP Technology, website: http://www.ems-usa.com
[Z-Corp machine]
ZTM406 3D Color Printer User's Manual Version 6.0
R-12