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:

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. Software tools: Microsoft Visual Studio and Animation Creation Software
  2. Programming language: C language
  3. 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:

  1. Basic 3D geometry and basic 3D transformations
  2. Basic Computer Graphics mechanism and very basic graphics programming such as OpenGL commands like 3D vertex manipulation and 3D transformations
 


Prerequisites:

  1. Like 3D Geometry and interested to learn Computer Graphics
  2. Good background on vectors and coordinate systems
  3. Some Programming Skills preferable, typically programming in C

 


References:

  1. Jim Blinn’s Corner: A Trip down the Graphics Pipeline. Chapter 4, “Platonic Solids,” and Chapter 9, “The Three-Dimensional Kaleidoscope.” (main reference)
  2. Symmetry and Kaleidoscope: http://www.kobe-du.ac.jp/gsdr/gsdr/kiso04/02-e.html
  3. Platonic Solids: http://mathworld.wolfram.com/PlatonicSolid.html
   

Home | Project Supervisors | Project Descriptions | Course Schedule | Enrollment Application | Snapshots 2005 | Related Links | Contact Us