3D Computer Graphics Assignment: Texture Mapping and Image Processing, Assignments of Computer Systems Networking and Telecommunications

An assignment for a three-dimensional computer graphics course (csci-4965) focusing on texture mapping and image processing. Students are required to write an opengl program to manipulate and create images, texture map them onto objects, and animate the texture-mapped objects. The assignment includes tasks such as reading in image files, applying image transformations, creating a scene with multiple objects, and implementing keyboard and mouse event behaviors.

Typology: Assignments

Pre 2010

Uploaded on 08/09/2009

koofers-user-3q2ic5z1ob
koofers-user-3q2ic5z1ob ๐Ÿ‡บ๐Ÿ‡ธ

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Assignment 3
CSCI-4965: Three-Dimensional Computer Graphics
Due: Thursday, November 9, 2000, 10:00am
1 Overview
This assignment focuses on texture mapping and image processing. You are to write a program
to manipulate and create images, texture map them onto objects, and then animate the texture
mapped objects. You will be provided with sample images, and code to read these images. For
additional information and updates on the assignment, please see the assignment web page at
www.cs.rpi.edu/courses/fall00/graphics/assign3.html.
2 The Texture Mapping Task
You are to write an OpenGL program to map textures created from images onto objects, and
animate the objects. Your assignment consists of the following tasks:
1. You are to read in one or more image files and manipulate them using image transforma-
tions. See the assignment web page for sample images in BMP format and code to read them.
You can also scan in your own images for this assignment.
2. Describe the image transformation function(s) you use in your README file. Here are three
example image transformations you can use. Let the origin of an image be its center, and let
the position of each pixel be described by its distance
๎˜€
from the origin and its angle
๎˜
with
respect to the horizontal. Let
๎˜‚
be the maximum inscribed radius of the image. Then:
๎˜ƒ๎˜…๎˜„๎˜‡๎˜† ๎˜ˆ๎˜Š๎˜‰๎˜Œ๎˜‹๎˜Ž๎˜๎˜๎˜„๎˜‘๎˜๎˜“๎˜’ ๎˜€๎˜“๎˜”
๎˜๎˜‘๎˜•๎˜—๎˜–
๎˜ˆ๎˜Š๎˜‰๎˜Œ๎˜‹๎˜˜๎˜๎˜™๎˜„๎˜Ž๎˜’ ๎˜€๎˜›๎˜š๎˜๎˜œ
๎˜‚
๎˜”
๎˜๎˜‘๎˜•
๎˜ƒ๎˜…๎˜„๎˜‡๎˜† ๎˜ˆ๎˜Š๎˜‰๎˜Œ๎˜‹๎˜Ž๎˜๎˜๎˜„
๎˜š
๎˜’ ๎˜€๎˜“๎˜”
๎˜๎˜‘๎˜•๎˜—๎˜–
๎˜ˆ๎˜Š๎˜‰๎˜Œ๎˜‹๎˜˜๎˜๎˜™๎˜„๎˜Ž๎˜’๎˜Ÿ๎˜ž ๎˜€
๎˜‚
๎˜”
๎˜๎˜‘๎˜•
๎˜ƒ๎˜…๎˜„๎˜‡๎˜† ๎˜ˆ๎˜Š๎˜‰๎˜Œ๎˜‹๎˜Ž๎˜๎˜๎˜„๎˜‡ ๎˜Ž๎˜’ ๎˜€๎˜“๎˜”
๎˜๎˜‘๎˜•๎˜—๎˜–
๎˜ˆ๎˜Š๎˜‰๎˜Œ๎˜‹๎˜˜๎˜๎˜™๎˜„๎˜Ž๎˜’ ๎˜€๎˜“๎˜”
๎˜"!
๎˜€๎˜Ž๎˜œ๎˜‘#
๎˜•
where
#
is a scale factor you select,
$๎˜‘%'&
#
&($๎˜‘%๎˜›%
.
You can also create procedural textures (e.g., checkerboard) for mapping. Describe how you
created these textures in the README file.
3. Create a scene with two or more objects and texture map them using the set of original and
new image textures you created. You can use the drawing functions provided by GLU and
GLUT to create objects such as the cube, teapot, cylinder, sphere, torus, and NURBS surfaces.
You may also use the mipmapping capability of OpenGL. Let the default projection mode
be perspective projection.
4. Animate one or more of the texture mapped objects in the scene.
1
pf2

Partial preview of the text

Download 3D Computer Graphics Assignment: Texture Mapping and Image Processing and more Assignments Computer Systems Networking and Telecommunications in PDF only on Docsity!

Assignment 3

CSCI-4965: Three-Dimensional Computer Graphics

Due: Thursday, November 9, 2000, 10:00am

1 Overview

This assignment focuses on texture mapping and image processing. You are to write a program to manipulate and create images, texture map them onto objects, and then animate the texture mapped objects. You will be provided with sample images, and code to read these images. For additional information and updates on the assignment, please see the assignment web page at www.cs.rpi.edu/courses/fall00/graphics/assign3.html.

2 The Texture Mapping Task

You are to write an OpenGL program to map textures created from images onto objects, and animate the objects. Your assignment consists of the following tasks:

  1. You are to read in one or more image files and manipulate them using image transforma- tions. See the assignment web page for sample images in BMP format and code to read them. You can also scan in your own images for this assignment.
  2. Describe the image transformation function(s) you use in your README file. Here are three example image transformations you can use. Let the origin of an image be its center, and let

the position of each pixel be described by its distance from the origin and its angle

with

respect to the horizontal. Let  be the maximum inscribed radius of the image. Then:

     ^      

     ^     

      ^     "!^ # where # is a scale factor you select, $%'& # &($%%.

You can also create procedural textures (e.g., checkerboard) for mapping. Describe how you created these textures in the README file.

  1. Create a scene with two or more objects and texture map them using the set of original and new image textures you created. You can use the drawing functions provided by GLU and GLUT to create objects such as the cube, teapot, cylinder, sphere, torus, and NURBS surfaces. You may also use the mipmapping capability of OpenGL. Let the default projection mode be perspective projection.
  2. Animate one or more of the texture mapped objects in the scene.
  1. Write functions for the following keyboard and mouse event behaviors:

Left/right arrow keys: The objects rotate 10 degrees clockwise/counterclockwise about the

 axis with each key press. Up/down arrow keys: The objects are rotated 10 degrees clockwise/counterclockwise about the  axis. z/Z keys: The viewpoint moves closer/further to the objects in constant increments. i key: The scene is returned to its initial configuration. q key: The program quits. Left mouse button click: Toggles the projection transformation mode between perspec- tive projection and orthographic projection. Right mouse button click: Starts/stops the animation of the object(s).

3 Handin

The code must be submitted no later than 10:00 am on November 9, 2000. **You are responsible for ensuring that your code can compile and run on the Sun Ultra10s in the OOT Lab (Amos Eaton

  1. or in the Sparc Lab (Amos Eaton 217).** Hand in your code using the submit script (details on the assignment web page).

You must hand in your source code (source and header files) along with a Makefile to com- pile it. Also include a README file with the following information (in addition to information requested above): your name, instructions on how to compile the code and run it, known bugs or limitations, any extra credit enhancements, and any other relevant information.

4 Grading

Your assignment will be graded as follows (100 points total):

  1. Transformation and creation of new texture images. 30 points
  2. Create scene and map textures and images onto objects. 30 points
  3. Animating texture mapped objects. 20 points
  4. Keyboard and mouse functions (z/Z, i, q keys; arrow keys; mouse clicks). 10 points
  5. Code structure, clarity, and documentation. 10 points

Extra credit: You can earn up to 10 additional points for special features and creative enhance- ments to the assignment requirements.

Lateness policy: Late submissions will incur a penalty of 20% for the first day (24-hour period) after the submission deadline, and an additional 10% per day (24-hour period) for subsequent days.