[
Project Title:
3D Geometry Generator
] -
Schedule |
|
Supervising faculty
member: Prof.
FU, Philip C.W. |
Project description
and objectives:
|
|
This
project explores the
design of 3D geometric
models based on simple
3D symmetry. By constructing
simple symmetry groups
using 3D rotations and
3D reflections, we can
generate complex 3D
geometric models by
duplicating a simple
triangle as the seed
geometry. By modifying
this seed geometry,
we can further generate
and animate complicated
geometric models, and
create beautiful pictures
and animations. In this
project, students will
experiment this idea
and explore their own
designs with the help
of computer graphics.
Some interesting results
possibly created by
this project (from Reference
#2) are demonstrated
below. |
|
|
Language of instruction: |
|
Cantonese
or English |
Software tools
/ programming languages
involved: |
|
C
and OpenGL programming |
Deliverables:
|
|
There
are four phases in this
project:
-
Firstly, students
have to learn the
following subjects:
basic 3D geometry
and basic 3D transformations
(rotations and reflections),
basic programming
skill in C, as well
as some basic OpenGL
programming skill.
-
Then, students will
be given a template
program prepared
by our IA and they
could experiment
this template program
by making and rendering
some elementary
3D models such as
cubes, tetrahedrons,
and spheres.
-
Next, they will
have to modify the
program: 1) constructing
simple symmetry
groups using rotations
and reflections
and 2) generating
more complex 3D
models by modifying
the seed geometry.
-
Finally, by exploring
the seed geometry
and the symmetry
group, students
have the flexibility
to experiment their
own artistic designs
through this 3D
geometry creator.
At the end of this
project, students
are expected to
generate some artistic
3D models and perhaps
one or two animations
demonstrating the
geometric generation
process.
|
Things students
will learn: |
|
-
Basic 3D geometry
and Basic 3D transformations
-
Basic OpenGL commands
such as 3D vertex
manipulation and 3D
transformations
|
Prerequisites: |
|
-
Like 3D Geometry and
interested to learn
Computer Graphics
-
Good background on
vectors and coordinate
systems
-
Some Programming Skills
preferable
|
References: |
|
-
Jim
Blinn’s Corner:
A Trip down the
Graphics Pipeline.
Chapter 4, “Platonic
Solids,” and
Chapter 9, “The
Three-Dimensional
Kaleidoscope.”
(main reference)
-
Symmetry and Kaleidoscope:
http://www.kobe-du.ac.jp/gsdr/gsdr/kiso04/02-e.html
-
Platonic Solids:
http://mathworld.wolfram.com/PlatonicSolid.html
-
OpenGL Programming
Guide (our
tutor will
provide guidance
on
the
programming)
|
|
|