m (Assignment CG)
m (Assignment CG)
Line 30: Line 30:
  
  
== Assignment CG ==
+
== Excercises CG ==
 +
 
 +
=== Slides ===
 +
 
 +
[https://dai.fmph.uniba.sk/upload/e/e0/ZPGSO2016_EX01.pdf Slides #01]
 +
 
 +
[https://dai.fmph.uniba.sk/upload/e/e0/ZPGSO2016_EX02.pdf Slides #02]
 +
 
 +
=== Project ===
  
 
Choose programming language of your liking (suggested Python/Java/Javascript)
 
Choose programming language of your liking (suggested Python/Java/Javascript)
Line 36: Line 44:
 
Finished project send to ''adam.riecicky@fmph.uniba.sk''
 
Finished project send to ''adam.riecicky@fmph.uniba.sk''
  
=== Stage 1 (13p) ===
+
==== Stage 1 (13p) ====
 
''Deadline 9.12.2018 23:59''
 
''Deadline 9.12.2018 23:59''
  

Revision as of 12:33, 27 November 2018

Fundamentals of Computer Graphics and Image Processing 1-AIN-301

Course information sheet >

Lecture
Wednesday 9:50, M-I
Excercises
Monday 18:10, F1-248

Grading

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

Materials




Excercises CG

Slides

Slides #01

Slides #02

Project

Choose programming language of your liking (suggested Python/Java/Javascript)

Finished project send to adam.riecicky@fmph.uniba.sk

Stage 1 (13p)

Deadline 9.12.2018 23:59

Create a simple visualization and transformation tool for meshes, stored in obj. file format.

Structures
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. It must include
Always remember the original transformation and reset it using a button
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