-
Notifications
You must be signed in to change notification settings - Fork 57
/
cvt_movie5.html
207 lines (178 loc) · 5.53 KB
/
cvt_movie5.html
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
<html>
<head>
<title>
CVT_MOVIE5 - Animated CVT Algorithm
</title>
</head>
<body bgcolor="#EEEEEE" link="#CC0000" alink="#FF3300" vlink="#000055">
<h1 align = "center">
CVT_MOVIE5 <br> Animated CVT Algorithm
</h1>
<hr>
<p>
<b>CVT_MOVIE5</b>
is a MATLAB program which
animates the generation of a Centroidal Voronoi Tessellation (CVT) dataset.
</p>
<p>
This particular computation occurs in the same region of interesting
shape that was used for
<a href = "../cvt_movie3/cvt_movie3.html">CVT_MOVIE3</a>. However, in
this case, there are three important differences:
<ul>
<li>
the points were initialized by a hexagonal grid.
</li>
<li>
a few points at corners were fixed in position.
</li>
<li>
the CVT sampling procedure used a "fat" region; but when
centroids were lured out of the true region, they were projected
back to the boundary.
</li>
</ul>
</p>
<p>
The goal of the calculation was to modify the CVT iteration so
that generators would be produced on the boundary of the region,
and in a fairly natural way. The calculation was done by
<a href = "../../f_src/cvt_movie5_data/cvt_movie5_data.html">
CVT_MOVIE5_DATA</a>, and the results stored in 101 text files.
</p>
<p>
The <b>CVT_MOVIE5</b> program illustrates the result of the
calculation by reading in the data files, drawing the Voronoi
diagram and the region boundary, and creating a series of
<a href = "../../data/jpg/jpg.html">JPG files</a>, each
containing one frame of the animation. It is possible to
create an animation by using software such as Apple QuickTime.
</p>
<h3 align = "center">
Animation:
</h3>
<p>
One version of a sample animation file is stored in the
<a href = "../../data/mpg/mpg.html">MPEG-4 format</a>.
You can <a href = "show_cvt_movie5_mp4.html">
see the MP4 animation</a>.
</p>
<h3 align = "center">
Licensing:
</h3>
<p>
The computer code and data files described and made available on this web page
are distributed under
<a href = "../../txt/gnu_lgpl.txt">the GNU LGPL license.</a>
</p>
<h3 align = "center">
Languages:
</h3>
<p>
<b>CVT_MOVIE5</b> is available in
<a href = "../../m_src/cvt_movie5/cvt_movie5.html">a MATLAB version</a>.
</p>
<h3 align = "center">
Related Data and Programs:
</h3>
<p>
<a href = "../../m_src/file_name_sequence/file_name_sequence.html">
FILE_NAME_SEQUENCE</a>,
a MATLAB program which
demonstrates four ways to generate a sequence of filenames.
</p>
<p>
<a href = "../../m_src/peak_movie/peak_movie.html">
PEAK_MOVIE</a>,
a MATLAB program which
creates the pieces of an animation, one frame at a time.
Each frame is independently created and saved as a JPEG file.
</p>
<h3 align = "center">
Reference:
</h3>
<p>
<ol>
<li>
Franz Aurenhammer,<br>
Voronoi diagrams -
a study of a fundamental geometric data structure,<br>
ACM Computing Surveys,<br>
Volume 23, Number 3, pages 345-405, September 1991.
</li>
<li>
Qiang Du, Vance Faber and Max Gunzburger,<br>
Centroidal Voronoi Tessellations: Applications and Algorithms,<br>
SIAM Review, Volume 41, 1999, pages 637-676.
</li>
</ol>
</p>
<h3 align = "center">
Source Code:
</h3>
<p>
<ul>
<li>
<a href = "ch_is_digit.m">ch_is_digit.m</a>
is TRUE if a character represents a digit.
</li>
<li>
<a href = "cvt_movie5.m">cvt_movie5.m</a>
the main program for the creation of the movie.
</li>
<li>
<a href = "digit_inc.m">digit_inc.m</a>
increments a character that represents a digit.
</li>
<li>
<a href = "file_name_inc.m">file_name_inc.m</a>
"increments" a file name that has numeric characters in it.
</li>
<li>
<a href = "p08_boundary_segment_length.m">
p08_boundary_segment_length.m</a>
returns the number of points necessary to draw a boundary
segment of the P08 region.
</li>
<li>
<a href = "p08_boundary_segment.m">
p08_boundary_segment.m</a>
returns points on a boundary segment of the P08 region.
</li>
<li>
<a href = "p08_boundary_segment_num.m">
p08_boundary_segment_num.m</a>
returns the number of boundary segments for the P08 region.
</li>
<li>
<a href = "s_len_trim.m">s_len_trim.m</a>
returns the length of a string to the last nonblank.
</li>
<li>
<a href = "timestamp.m">timestamp.m</a>
prints the current YMDHMS date as a timestamp.
</li>
</ul>
</p>
<h3 align = "center">
Data and Tests:
</h3>
<p>
<ul>
<li>
<a href = "cvt_movie5_output.txt">cvt_movie5_output.txt</a>
the output file.
</li>
</ul>
</p>
<p>
You can go up one level to <a href = "../m_src.html">
the MATLAB source codes</a>.
</p>
<hr>
<i>
Last revised on 31 August 2005.
</i>
<!-- John Burkardt -->
</body>
</html>