CGT 215 - Computer Graphics Programming I |
![]() |
||
This course focuses on scripting and programming fundamentals, logic, and problem solving. A cross-section of languages and technologies will be introduced. The course provides the basis for developing object-oriented applications and how to write, compile, build, and debug an application. | |||
![]() |
![]() |
01-IntroductionThis lecture introduces the course -
|
02-Installing ProcessingDownloading and installing the Processing IDE |
|
03-Geometric PrimitivesSpatial geometry-Foundations for vector imaging |
04-Primitives in ProcessingApply the foundations for vector imaging in the context of the Processing programming environment. Read Ch. 3 of Reas & Fry |
|
05-Project 1: Vector PrimitivesDesign an abstract composition using the geometric primitives (. Use points, lines, shapes, curves and at least 4 values to produce an aesthetically pleasing image through the use of code. |
06-StructureSyntax and organization. Includes an explanation on how to export project 1 as a PDF. |
|
07- VariablesUsing variables with diverse data types. Read Ch. 4 Reas & Fry |
08-Arithmetic OperatorsArimethic operators for Addition, Substraction, Multiplication, Division, Modulus, Increment and Decrement |
|
09- IFFlow diagrams, If statements, Assigning values, intro to relational operators. |
10- OR - ANDContinue creating the "Bouncing ball" exercise using the OR operator. Read Ch. 5 of Reas & Fry |
|
11- Relational and Logical OperatorsUse the less than, greater than and equalties in the context of programming to create a button or collision area. |
12- Practice Creating a BoundaryMake a geometric boundary applying the logical and relational operators. |
|
13- LoopsLearn about the "For loops" and apply them in the context of programming graphics. |
14- Geometric Transformations IIsolating transformations, Matrix stacks, Translations |
|
15- Geometric Transformations IIRotation and Translation |
16- Project 2: Mailer PatternsRecreate one or more mail envelope patterns provided in the attached PDF. You may use For loops, If statements or geometric transformations to produce a visual output that resembles the original pattern. |
|
17- Digital ImagesIdentify the difference between Raster and Vector images. Import and use a raster image in processing using the PImage object. |
18- Raster File FormatsCompare the different raster imaging formats (TIF, JPG, GIF and PNG). |
|
19- Vector File FormatsImport prevously designed vector graphics into your programs using the PShape object. |
20- Color SystemsColor wheel, RGB, HLS and CMYK. Manipulate colors interactively. |
|
21- Mouse PressedReview of if/else statements using the mousePressed function. |
22- Mouse Functions IOverview of the different mouse functions available. MousePressed continued. |
|
23- Mouse Functions IIIntroducing other mouse functions: mouseDragged, mouseClicked, mouseReleased. Computing the mouse previous position. |
24- Keyboard inputUsing the keyboard as input for a program. Filters. |
|
25- Input Text and FontsUsing the keyboard to display text or store String variables using the PFont object. Import fonts. Create a visible "Score" counter. |
26- FunctionsCreate modular programming with functions. Random function. Read Ch. 8 of Reas & Fry. |
|
27- Project 3: Carnival RideCreate a program that simulates a carnival ride that is controlled by the user. Your program must use the following elements: |
28-Return FunctionsIdentify the differences and appilications of void functions and return functions. |
|
29- ArraysCreate multiple variables of the same type. Example of an Array of String for sorting lists. Example of an array of images for animation. |
30- 3D PrimitivesIntroduction to programming geometry in a three-dimensional space. Review of geometric transformations. Rotate and translate in X,Y and Z. |
|
31- Project 4Create a program that shows your house design in 3D. Use functions to change the characteristics of the building: *Assignment 5 On a quad piece of paper, sketch the basic geometry of your house in an orthographic projection. Keep the design simple using planes, boxes or spheres only. |
32- 3D ShapesCreate 3D shapoes using vertices to construct your house. Identify variables in 3D space. |
|
33- Variable VerticesContinue working on constructing the function for Project 4. |
34- OBJ LoadImport external 3D objects (with textures) using the shape function. Can you create rows and coulumns of 3D objects? Answer here |
|
35- Objects IIntroduction to Object-Oriented Programming. Foundations to create Classes. Read Ch. 9 of Reas & Fry |
36- Objects IIContinue working OOP. Array of objects. Read Ch. 10 of Reas & Fry |
|
![]() |
||
37- Final ProjectThe theme for our final project is free and therefore, you must create a concept, design a program and implement it. Take into consideration the different topics covered during this course and apply them in a new and creative way. There are no limitations what to do, except due dates. This is your opportunity to do what you want! Imagine it could be a game, an app or anything from interactive to generative. *Assignment 5: Create a brief that outlines the concept of your final project. Provide sketches and flow diagrams to complement your idea. |
38- Extending ProcessingExtend processing using libraries and Processing.js |
|