VIZA 653
Computing for Visualization II
Spring 2005
TR 11:10am-12:25pm, Architecture C 307, 4 credits
Professor: Donald H. House
Visualization Lab, phone: 5-3465, email: house@viz.tamu.edu, Office hours:
2:00 - 3:00 M, 11:00 - 12:00 F, or by appointment
Web Page: http://www-viz.tamu.edu/courses/viza653/05spring/
Course Home Directory: /usr/local/misc/courses/viza653/2005
Introduction
This course is the second of two primarily intended for those
Visualization
students whose technical backgrounds have not prepared them for core
courses
in The Digital Image (VIZA
654) and Image Synthesis (VIZA
656). It is also intended as a course for advanced students in the
College of Architecture and elsewhere who wish to develop an
understanding
of the use and programming of visual workstations. The course will be
challenging,
and fast paced, and will involve considerable outside work on the
computer. This course is not
intended for students with extensive background in Computer Science.
Course Objectives
This course is a second technical course on computing for graphics,
with
the first course being VIZA 652. This course builds on the foundation
provided
by VIZA 652, and completes a comprehensive coverage of the technical
and
computing background needed for the core courses in the Visualization
Program.
In this course, students will learn advanced topics in C programming
and
concepts of object-oriented programming in C++. In addition, students
will
learn the mathematical foundations for computer graphics. This course
includes
programming projects designed to promote
familiarity with 2D and 3D graphics concepts.
Prerequisite
VIZA 652 or knowledge of C programming/OpenGL and approval of the
instructor.
Course Schedule Outline
10 quizzes, 1 final exam
Lecture Topics
- Quick Review of C Programming
- Open GL/C Loops/Control Statements
- Advanced C Topics
- Pointer Variables/Dynamic Allocation
- Lists/Sorting/Stacks/Queues
- Trees and Operations on Trees
- Recursion
- Files
- Introduction to C++ Programming
- Practical Issues - compiling, file naming
- Syntactic differences between C & C++ - comments, input,
output
- Objects and Object-Oriented Programming
- C++ and OpenGL
- C++ Topics
- Structures/Introduction to Classes
- Classes/Constructors/Destructors
- Copy Constructor/Initializers
- Function Overloading
- Operator Overloading/Conversions
- The this Pointer
- Linear Algebra for 3D Graphics
- Vectors/Operations/Implementation
- Matrices/Operations/Implementation
- 2D & 3D Transformations/Implementation
- Curves and Surfaces
- Polynomials
- Piecewise polynomial curves
- Cardinal splines
- Bezier and B-Splines
- Bicubic Surfaces
- 3D Graphics in OpenGL
- Transformations
- Simple 3D Shapes
- Projection Systems/Camera
- Lighting and Surfaces
Grading
- Homework Assignments: 50%
- Quizzes: 30%
- Final Examination: 10%
- Class Participation: 10%
Late homework assignments will be penalized 10% for each day late. The
lowest grade on homework assignments turned in will be dropped
before
computing a student's final homework average. Assignments not turned in
will receive a grade of 0.
The final exams will be closed book. However, students will be
permitted to bring one 8-1/2 x 11 sheet of notes to use during the
exam.
The class participation grade is the instructor's qualitative
evaluation
of subjective factors including class attendance and preparation as
evidenced
by informed classroom discussion.
Text
- Ira Pohl C++ for C Programmers, Addison-Wesley Pub Co;
ISBN:
0201395193;
3rd edition (November 10, 1998)
Reference Reading Material
- Rogers and Adams, Mathematical Elements for Computer Graphics,
McGraw-Hill,
1990
- Kochen and Wood, Advanced Topics in C Programming
- Neider, Davis and Woo, OpenGL Programming Guide 3rd
Edition:
The Official Guide to Learning OpenGL, Version 1.2, Addison-Wesley,
1999
- OpenGL Reference Manual 3rd Edition,
Addison-Wesley.
1999
Plagiarism
The handouts used in this course are copyrighted. By "handouts," I mean
all materials generated for this class, which include but are not
limited
to the course notes, syllabi, exams, problems, in-class materials,
review
sheets, additional problem sets, and the contents of the class World
Wide
Web site. Because these materials are copyrighted, you do not have the
right to copy the handouts, unless I expressly grant permission. For
the
contents of class World Wide Web sites, you have permission to make
printouts
strictly for your use in this class.
In this course, we want to encourage collaboration and the free
interchange
of ideas among students and in particular the discussion of homework
assignments,
approaches to solving them, etc. However, we do not allow plagiarism,
which,
as commonly defined, consists of passing off as one's own the ideas,
words,
writings, etc., which belong to another. In accordance with this
definition,
you are committing plagiarism if you copy the work of another person
and
turn it in as your own, even if you should have the permission of that
person. Plagiarism is one of the worst academic sins, for the
plagiarist
destroys the trust among colleagues without which research cannot be
safely
communicated.
If you have any questions regarding plagiarism, please consult the
latest
issue of the Texas A&M
University
Student Rules, under the section on Academic Misconduct.
Americans with Disabilities Act
The Americans with Disabilities Act (ADA) is a federal
anti-discrimination
statute that provides comprehensive civil rights protection for persons
with disabilities. Among other things, this legislation requires that
all
students with disabilities be guaranteed a learning environment that
provides
for reasonable accommodation of their disabilities. If you believe you
have a disability requiring an accommodation, please contact the Office
of Support Services for Students with Disabilities in Room 126 of the
Student
Services Building. The phone number is 845-1637.
Academic Integrity Statements
AGGIE
HONOR CODE
“An Aggie does not lie, cheat, or steal or
tolerate those who do.”
Upon
accepting admission to Texas A&M University,
a student immediately assumes a commitment to uphold the Honor Code, to
accept responsibility for learning, and to follow the philosophy and
rules of the Honor System. Students will be required to state their
commitment on examinations, research papers, and other academic work.
Ignorance of the rules does not exclude any member of the TAMU
community from the requirements or the processes of the Honor System.
For
additional information please visit: www.tamu.edu/aggiehonor/