(Vytvorená stránka „{{CourseHeader | code = 1-AIN-301 <!-- Kód predmetu--> | title = Fundamentals of Computer Graphics and Image Processing <!-- Úplný anglický názov predmetu -...“) |
d (→Project) |
||
(15 intermediate revisions by 2 users not shown) | |||
Riadok 7: | Riadok 7: | ||
{{Infolist|1-AIN-301|Course information sheet >}} | {{Infolist|1-AIN-301|Course information sheet >}} | ||
− | [[ | + | __TOC__ |
+ | |||
+ | ; 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 === | ||
+ | * Žára a kol. Moderní počítačová grafika | ||
+ | * Ružický, Ferko: Počítačová grafika a spracovanie obrazu | ||
+ | * [http://www.sccg.sk/~sikudova/strukturovana_kniha_CD.pdf Šikudová a kol. Počítačové videnie: Detekcia a rozpoznávanie objektov] | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | == Excercises CG == | ||
+ | |||
+ | === Slides === | ||
+ | |||
+ | [https://dai.fmph.uniba.sk/upload/e/e0/ZPGSO2016_EX01.pdf Slides #01] | ||
+ | |||
+ | [https://dai.fmph.uniba.sk/upload/9/91/ZPGSO2016_EX02.pdf Slides #02] | ||
+ | |||
+ | [https://docs.google.com/presentation/d/14luAuPU26NjKMbQRf7leVxUwQcGh0ZLBmvQ4uR4Kerc/edit?usp=sharing Slides #03] | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1IXT5HbH1q7LhgGfYJkI5khzezfBqzTT1jnp3d15VWGY/edit?usp=sharing Slides #04] | ||
+ | |||
+ | === 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). [[https://dai.fmph.uniba.sk/upload/104/d/d1/obj_files.zip 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: | ||
+ | : [https://dai.fmph.uniba.sk/upload/104/e/e2/img1.png screen 1] = Import only | ||
+ | : [https://dai.fmph.uniba.sk/upload/a/a9/Img2.png screen 2] = Import only | ||
+ | : [https://dai.fmph.uniba.sk/upload/8/81/Img3.png 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 | ||
+ | |||
+ | ==== Stage 2 (7p) ==== | ||
+ | ''Deadline 6.1.2018 23:59'' | ||
+ | |||
+ | Enhance existing visualization tool by implementing Blinn-Phong Lightning Model | ||
+ | |||
+ | ; Mesh display | ||
+ | : Implement back-face culling. Faces on the far side of mesh should not be rendered | ||
+ | : Display solid model - each face is a drawn as a polygon filled with color (no edges) | ||
+ | : Final face color should be calculated as multiples of base color and intensity calculated by Blinn-Phong | ||
+ | ; Controls | ||
+ | : Add an interface to control a direction of incoming light | ||
+ | |||
+ | Examples of the functional program: | ||
+ | [https://dai.fmph.uniba.sk/upload/b/bd/Zpgso_pr2_scr1.png screen 1], | ||
+ | [https://dai.fmph.uniba.sk/upload/7/71/Zpgso_pr2_scr2.png screen 2] |
Verzia zo dňa a času 13:38, 11. december 2018
Fundamentals of Computer Graphics and Image Processing 1-AIN-301
Obsah
- 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
- Žá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
Excercises CG
Slides
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. 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
Stage 2 (7p)
Deadline 6.1.2018 23:59
Enhance existing visualization tool by implementing Blinn-Phong Lightning Model
- Mesh display
- Implement back-face culling. Faces on the far side of mesh should not be rendered
- Display solid model - each face is a drawn as a polygon filled with color (no edges)
- Final face color should be calculated as multiples of base color and intensity calculated by Blinn-Phong
- Controls
- Add an interface to control a direction of incoming light