Fundamentals of Computer Graphics and Image Processing 1-AIN-301
- Wednesday 9:50, M-I
- Monday 18:10, F1-248
You can get 100 points (p) during semester, where 1pt = 1% of final grade
- Final writen exam: 50p
- Excercises: 50p (with minimum of 30p)
- 4 home assignments: 4x10p (2 from CG part and 2 from IP)
- Attendance: 10x1p
- Žára a kol. Moderní počítačová grafika
- Ružický, Ferko: Počítačová grafika a spracovanie obrazu
- Šikudová a kol. Počítačové videnie: Detekcia a rozpoznávanie objektov
Finished project send to firstname.lastname@example.org
Stage 1 (13p)
Deadline 9.12.2018 23:59
Create a simple visualization and transformation tool for meshes, stored in obj. file format.
- implement math types Mat4 and Vec4. Add functions Multiply(Mat4, Mat4) and Multiply(Vec4, Mat4).
- implement IndexedFace which contains array of Vec4 vertex positions and array of Int indices
- Mesh import and display
- load mesh from Wavefront file (.obj). [Download test models here]. Assume that all imported models are scaled to box (2x2).
- display wireframe model in the center of a screen so that Y-axis of model directs upwards and X-axis directs right. (Z is ignored)
- Transformations - must be implemented using matrix multiplication!
- Add buttons which can control transformations of the model. Each time user requests transformation by clicking a button, a model matrix should be constructed. (Optionally added to the previous transformation)
- Motel matrix can be reset to identity using a button
- Construct projection matrix which performs primitive orthogonal projection and transforms the object into the viewport
- Always store the original model. Do model transformation and projection for each point only before rendering
- Examples of the functional program
- screen 1 = Import only
- screen 2 = Import only
- screen 3 = Imported, translated by -0.6 in X-axis, rotated by 0.6 rad around Y-axis, rotated by 0.4 rad around Z-axis and scaled by factor 1.1, in order