-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy paththesis.lof
229 lines (229 loc) · 27.5 KB
/
thesis.lof
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
\addvspace {10\p@ }
\contentsline {figure}{\numberline {1.1}{\ignorespaces Geometric models used in various applications. These models are courtesy of the INRIA Gamma team research database\nobreakspace {}\cite {INRIA}.}}{1}
\contentsline {figure}{\numberline {1.2}{\ignorespaces 3D modeling using the 3ds Max software\nobreakspace {}\cite {3DSMAX}.}}{2}
\contentsline {figure}{\numberline {1.3}{\ignorespaces Sketch-based 3D modeling.}}{3}
\addvspace {10\p@ }
\addvspace {10\p@ }
\contentsline {figure}{\numberline {3.1}{\ignorespaces An example of using the sketching tool. (a) Initially three basic planes are provided. (b) A closed curve is sketched on the blue plane. (c) The preview of the reconstructed shape. (d) A new cross section is added on the red plane and the previewed shape is rendered. (e) The green plane is translated and three more cross sections are sketched. (f) More cross sections are added to update the overall model. (g) The intersection between the green plane and the current model is rendered semi-transparently to provide reference for further sketches. (i) The final model.}}{31}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{31}
\contentsline {subfigure}{\numberline {(h)}{\ignorespaces {}}}{31}
\contentsline {figure}{\numberline {3.2}{\ignorespaces Some sculpting examples. (a) A user sketched contour (yellow) and the generated initial model. (b) Tunneling operation. (c) Extrusion operation. (d) Cutting operation. (e) Smoothing operation.}}{35}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{35}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{35}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{35}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{35}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{35}
\contentsline {figure}{\numberline {3.3}{\ignorespaces An example of deformation. (a) The blue curve is the handle curve sketched on the initial model. The yellow, red and green dots denote the handle, ROI and static vertices respectively. (b) The automatically generated base plane (blue) and projection plane (green). (c) The target curve (green) drawn on the base plane. (d) To create a non-planar target curve, a curve (red) is drawn on the projection plane as its projection. (e) The updated non-planar target curve (green). (f) The deformed model.}}{36}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{36}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{36}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{36}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{36}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{36}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{36}
\contentsline {figure}{\numberline {3.4}{\ignorespaces An example of stroke preprocessing. The goal here is to filter the noisy points and get a smooth curve with 10 points. (a) Initial input. (b) Filtering result. (c) Resampling result. (d) Final result after smoothing.}}{38}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{38}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{38}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{38}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{38}
\contentsline {figure}{\numberline {3.5}{\ignorespaces An example for rule\nobreakspace {}2\hbox {}. (a) The user sketched cross sections. Containing relationship exists among multiple cross sections on the blue plane. (b) The generated model.}}{40}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{40}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{40}
\contentsline {figure}{\numberline {3.6}{\ignorespaces Curve sewing. (a) Two curves lie on two orthogonal planes. The colored points denote the intersection points between a curve and a plane that another curve lies on. (b) Deform the two curves so that they intersect at two points. (c) Generate a mesh that takes the two curves as contours.}}{42}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{42}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{42}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{42}
\contentsline {figure}{\numberline {3.7}{\ignorespaces Sketching of some models using our system.}}{46}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Mushroom}}}{46}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Handicraft}}}{46}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Car}}}{46}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {Censer}}}{46}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {Bicycle}}}{46}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {Sculpture}}}{46}
\contentsline {figure}{\numberline {3.8}{\ignorespaces Sketching and sculpting of some models using our system.}}{47}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Cup}}}{47}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Rabbit}}}{47}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Chair}}}{47}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {4.1}{\ignorespaces 2D illustration of our surface reconstruction algorithm. (a) Input segments (red, corresponding to the 3D cross sections) and partitioned zones. (b) The \textit {empty} zones (blue), \textit {end} zones (green) and \textit {body} zones (yellow). (c) Generating polygons (corresponding to the cylinders) in \textit {body} zones. (d) Generating polygons in the \textit {end} zones using the same way as the reconstruction in the \textit {body} zones. The reconstruction result contains multiple components. (e) Generating extended polygons for an \textit {end} zone. (f) Generating polygons for all \textit {end} zones. (g) The reconstruction result. }}{51}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{51}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{51}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{51}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{51}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{51}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{51}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{51}
\contentsline {figure}{\numberline {4.2}{\ignorespaces An example of comparing our surface reconstruction algorithm and that of\nobreakspace {}\cite {LBDLJ08}. (a) Two cross sections are sketched first and then one more is added. (b) The initial reconstruction results in\nobreakspace {}\cite {LBDLJ08}. The Medial Axis planes (blue) in a zone are shown. (c) The final reconstruction results in\nobreakspace {}\cite {LBDLJ08}. (d) The initial reconstruction results in our algorithm. The union of cylinders in each zone is shown. (e) The final reconstruction results in our algorithm.}}{52}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{52}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{52}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{52}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{52}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{52}
\contentsline {figure}{\numberline {4.3}{\ignorespaces An example of surface reconstruction from non-intersected cross sections in the \textit {body} zones. (a) The input cross sections. (b) Partition result. The red planes are the bounding planes of each zone and the numbers represent the indices of the zones. (c)-(d) Cylinders generated from the two cross sections in Zone 1. (e) The union of cylinders in Zone 1. (f) The unions of cylinders in all zones. (g) The initial reconstruction result obtained by stitching surfaces in all zones. (h)-(i) The results after 2 and 5 iterations of refinement and smoothing. (j) The final reconstruction result after 10 iterations of refinement and smoothing.}}{54}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(h)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(i)}{\ignorespaces {}}}{54}
\contentsline {subfigure}{\numberline {(j)}{\ignorespaces {}}}{54}
\contentsline {figure}{\numberline {4.4}{\ignorespaces An example of surface reconstruction from intersected cross sections in the \textit {body} zones. (a) The input cross sections. (b)-(c) Cylinders are generated from the two cross sections and perturbed. (d) The union of cylinders in the zone. (e) The initial reconstruction result. (f) The final reconstruction result after refinement and smoothing.}}{55}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{55}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{55}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{55}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{55}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{55}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{55}
\contentsline {figure}{\numberline {4.5}{\ignorespaces Illustration of constructing a cylinder for intersected cross sections in a \textit {body} zone. (a) Input cross sections. (b) Generate initial cylinder $cl_p^{ini}$ from one cross section $cs_p$. It can be seen that the other cross section is covered by $cl_p^{ini}$. (c) Perturb the top of $cl_p^{ini}$ a little bit, such that the result cylinder $cl_p^{ptb}$ will lie within the zone and interpolate $cs_p$.}}{56}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{56}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{56}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{56}
\contentsline {figure}{\numberline {4.6}{\ignorespaces An example of surface reconstruction in the \textit {end} and \textit {body} zones. (a) Input cross sections. (b) The partition result. (c) The extended cylinders for the \textit {end} zones. The blue faces are those which may cause isolated surface components. (d) The unions of cylinders in all zones. (e) Final surface reconstruction result in our approach. (f) Reconstruction result using the algorithm in\nobreakspace {}\cite {LBDLJ08}.}}{58}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{58}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{58}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{58}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{58}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{58}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{58}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {5.1}{\ignorespaces An illustration of an edge-based graph. The black lines represent the primal mesh and the green lines form the edge-based graph.}}{65}
\contentsline {figure}{\numberline {5.2}{\ignorespaces Flexible deformation of the \textit {Baby} model. (a) The initial model. (b)-(d) Results of the flexible deformation algorithm performed on the primal domain, with the global balance parameters valued 0, 0.5 and 1.0 respectively. (e)-(g) Results of the flexible deformation algorithm performed via the edge-based graph, with the global balance parameters valued 0, 0.5 and 1.0 respectively.}}{67}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{67}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{67}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{67}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{67}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{67}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{67}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{67}
\contentsline {figure}{\numberline {5.3}{\ignorespaces (a) The 1-form. (b) The Laplacian vector.}}{68}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{68}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{68}
\contentsline {figure}{\numberline {5.4}{\ignorespaces The angles $\mathaccentV {tilde}07E{\alpha _{ij}}$ and $\mathaccentV {tilde}07E{\beta _{ij}}$, and Voronoi area $\mathaccentV {tilde}07E{A_i}$ for computing the cotangent weight at the node $\mathaccentV {tilde}07E{v_i}$ in Eq.\nobreakspace {}5.2\hbox {}.}}{69}
\contentsline {figure}{\numberline {5.5}{\ignorespaces The Laplacian vector $\mathaccentV {tilde}07E{\delta _i}$ in the edge-based graph and the dihedral angle $\alpha _i$ between adjacent faces in the primal domain. (a) The shorter $\mathaccentV {tilde}07E{\delta _i}$ is, the larger $\alpha _i$ will be. (b) The longer $\mathaccentV {tilde}07E{\delta _i}$ is, the smaller $\alpha _i$ will be. }}{69}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{69}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{69}
\contentsline {figure}{\numberline {5.6}{\ignorespaces Flexible deformation of the \textit {Dinosaur} model. (a) The initial model. (b)-(d) Results of flexible deformation algorithm performed on the primal domain, with the global balance parameters valued 0, 0.5 and 1.0 respectively. (e)-(g) Results of flexible deformation algorithm performed via the edge-based graph, with the global balance parameters valued 0, 0.5 and 1.0 respectively. }}{77}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{77}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{77}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{77}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{77}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{77}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{77}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{77}
\contentsline {figure}{\numberline {5.7}{\ignorespaces Flexible deformation of the \textit {Buffle} model via the edge-based graph under different balance parameter values. (a) The initial model. (b)-(f) Deformation results with the global balance parameters valued 0, 0.2, 0.5, 0.8, 1.0 respectively. }}{78}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{78}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{78}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{78}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{78}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{78}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{78}
\contentsline {figure}{\numberline {5.8}{\ignorespaces Flexible deformation of the \textit {Julius-Caesar} model via the edge-based graph under different balance parameter values. (a) The initial model. (b)-(f) Deformation results with the global balance parameters valued 0, 0.2, 0.5, 0.8, 1.0 respectively. }}{79}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{79}
\contentsline {figure}{\numberline {5.9}{\ignorespaces Material-constrained deformation result of the \textit {plane} model. (a) The initial model and its specified materials. (b)-(c) Deformation results of uniformly distributed materials with global balance parameter valued 0 and 1 respectively. (d) Deformation result with the specified non-uniform materials.}}{79}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{79}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{79}
\contentsline {figure}{\numberline {5.10}{\ignorespaces Material-constrained deformation of the \textit {Julius-Caesar} model. (a) The initial model and its specified materials. (b)-(d) Deformation results of uniformly distributed materials with global balance parameter valued 0, 0.5 and 1 respectively. (e) Deformation result with the specified non-uniform materials.}}{80}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{80}
\contentsline {figure}{\numberline {5.11}{\ignorespaces Material-constrained deformation of the \textit {pig} model. (a) The initial model and its specified materials. (b)-(d) Deformation results of uniformly distributed materials with global balance parameter valued 0, 0.5 and 1 respectively. (e) Deformation result with the specified non-uniform materials.}}{80}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{80}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{80}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {6.1}{\ignorespaces An example of surface reconstruction using Liu et al's algorithm \cite {LBDLJ08}. (a) Input cross sections. (b) The reconstructed result that has several disconnected components.}}{85}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{85}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{85}
\contentsline {figure}{\numberline {6.2}{\ignorespaces The proposed surface reconstruction process for the input cross sections given in Figure\nobreakspace {}6.1\hbox {}(a). (a) Reconstructed sub-surfaces in zones. (b) The reconstructed surface that has only one connected component. (c) Sketching a stroke (red) to indicate the local region to be split if desired. (d) The reconstructed result after splitting. }}{86}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{86}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{86}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{86}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{86}
\contentsline {figure}{\numberline {6.3}{\ignorespaces 2D illustration of our surface reconstruction algorithm. (a) Input segments (red, corresponding to the 3D cross sections) and partitioned zones. (b) The \textit {empty} zones (blue), \textit {end} zones (green) and \textit {body} zones (yellow). (c) Generating polygons (corresponding to the frusta) in \textit {body} zones. (d) Generating polygons in the \textit {end} zones using the same way as the reconstruction in the \textit {body} zones. The reconstruction result contains multiple components. (e) Generating extended polygons for an \textit {end} zone. The blue segments correspond to the virtual cross sections we built. (f) Generating polygons for all \textit {end} zones. (g) The reconstruction result. }}{88}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{88}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{88}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{88}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{88}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{88}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{88}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{88}
\contentsline {figure}{\numberline {6.4}{\ignorespaces Illustration of sub-surface reconstruction for non-intersected cross sections in a \textit {body} zone. (a) Input cross sections. (b) Generate initial frustum $fr_p$ from one cross section. (c) Adjust the top $fr_p^t$ of the frustum to make it lie within the zone. (d)Generate another frustum. (e) Compute the union of the two frusta.}}{90}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{90}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{90}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{90}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{90}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{90}
\contentsline {figure}{\numberline {6.5}{\ignorespaces Illustration of sub-surface reconstruction for intersected cross sections in a \textit {body} zone. (a) Input cross sections. (b) Generate the frusta by shrinking the top faces. (c) Non-manifold sub-surface caused by the over-shrinkage of the top of each frustum. (d) Translate the bottom $fr_p^b$ to get the initial frustum $fr_p$. The yellow dots represent the points outside the zone (i.e. $PT_f$ in Eq\nobreakspace {}6.2\hbox {}). (e) Move the outside points into the zone. The green dots are the points near the other faces of the zone (i.e. $PT_o$ in Eq\nobreakspace {}6.2\hbox {}). (f) Deform the boundary of the frustum top by keeping the yellow and green points fixed, to get a valid frustum. (g) Generate another frustum. (h) Compute the union of the two frusta.}}{91}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{91}
\contentsline {subfigure}{\numberline {(h)}{\ignorespaces {}}}{91}
\contentsline {figure}{\numberline {6.6}{\ignorespaces Illustration of sub-surface reconstruction in an \textit {end} zone. (a) The input cross section $cs_p$ on face $f_{ij}$ is projected onto the other faces in the orthogonal direction of $f_{ij}$ and the face $f_{ik}$ with the largest projection area is selected. (b) A virtual cross section $cs_v$ is obtained by projecting $cs_p$ onto $f_{ik}$ and the frustum $fr_p$ is built by taking $cs_p$ and $cs_v$ as the bottom and top. }}{93}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{93}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{93}
\contentsline {figure}{\numberline {6.7}{\ignorespaces An example of the join operation in sketch-based topology editing. (a) Input cross sections. (b) Computed frusta in zones. (c) Sketch a curve (red) on the reconstruction result to join surface parts. (d) The corresponding frustum (with light green color) is deformed. (e) Editing result.}}{97}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{97}
\contentsline {figure}{\numberline {6.8}{\ignorespaces Illustration of the join of surface parts in different zones. (a) Sketch a curve (green) to select the two frusta. (b) Re-calculate the top of the first selected frustum by projecting its bottom onto the common face with the neighbor zone. (c)-(d) Extend the frustum. (e) Build the extended frustum in the zone containing the second selected frustum. (f) Editing result.}}{97}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{97}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{97}
\contentsline {figure}{\numberline {6.9}{\ignorespaces An example of the split operation in sketch-based topology editing. (a) Input cross sections. (b) Computed frusta in zones. (c) Sketch a curve (red) on the reconstruction result to split local surface. (d) The corresponding frusta (with light green color) are shrunk to be separated. (e) Sketch another split curve on the updated model. (f) The corresponding blue frusta are shrunk. (g) Editing result.}}{98}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{98}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{98}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{98}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{98}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{98}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{98}
\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {}}}{98}
\contentsline {figure}{\numberline {6.10}{\ignorespaces Results of our surface reconstruction algorithm. In each example, the input cross sections, the generated sub-surfaces in zones, the reconstruction result of our algorithm, and the result of the algorithm of\nobreakspace {}\cite {LBDLJ08} are shown in order.}}{100}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {The \textit {Cactus} model}}}{100}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {The \textit {Teacup} model}}}{100}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {The \textit {Tooth} model}}}{100}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {The \textit {Tree} model}}}{100}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {The \textit {Stomach} model}}}{100}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {The \textit {Hand} model}}}{100}
\contentsline {figure}{\numberline {6.11}{\ignorespaces An example of the reconstruction and editing of the \textit {skull} model. (a) Input cross sections. (b) Generated sub-surfaces in zones. (c) Reconstruction result. (d) Sketch a curve (red) to split the local surface. (e) Updated sub-surfaces in zones. (f) Editing result.}}{101}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{101}
\contentsline {figure}{\numberline {6.12}{\ignorespaces An example of the reconstruction and editing of the \textit {ovaries} model. (a) Input cross sections. (b) Generated sub-surfaces in zones. (c) Reconstruction result. (d) Sketch a curve (red) to join the local surface. (e) Updated sub-surfaces in zones. (f) Editing result.}}{101}
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {}}}{101}
\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {}}}{101}
\addvspace {10\p@ }