|
|
|
|
|
ITEPC 02 - 3D Geometry Generator (Faculty supervisor: Prof.
FU, Philip C.W.)
Project
Objectives and Description:
This project explores the design of 3D models based on 3D symmetry.
By constructing simple symmetry groups using 3D rotations and 3D reflections,
we can generate complex 3D geometric models by using just a simple
triangle as the seed geometry. By modifying this seed geometry, we
can further generate and animate geometric models, and create beautiful
pictures and animations. In this project, students will experiment
this idea and explore their own designs through computer graphics
technology.
There
are four phases in this project:
-
Firstly,
students will 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.
Here are
the sample final products:
|
|
|
|
Language of instruction:
Cantonese or English |
|
Software tools / programming languages involved:
- Software
tools: Microsoft Visual Studio and Animation Creation Software
- Programming
language: C language
- Programming
Package: OpenGL
|
|
Deliverables: At
the end of this project, students are expected to generate some artistic
3D models and perhaps one or two animations demonstrating geometry generation
and morphing. |
|
Things students will learn:
- Basic
3D geometry and basic 3D transformations
- Basic
Computer Graphics mechanism and very basic graphics programming such
as OpenGL commands like 3D vertex manipulation and 3D transformations
|
|
- Like
3D Geometry and interested to learn Computer Graphics
- Good
background on vectors and coordinate systems
- Some
Programming Skills preferable, typically programming in C
|
|
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
|
|
|