Riadok 5: Riadok 5:
 
* As a programming language we will use C#, '''environment Visual C# 2010 Express''', alternative - MonoDevelop (Linux / Mac OSX)
 
* As a programming language we will use C#, '''environment Visual C# 2010 Express''', alternative - MonoDevelop (Linux / Mac OSX)
 
* You should format and comment your code. Titles of functions, classes, variables should be representative for their purpose.
 
* You should format and comment your code. Titles of functions, classes, variables should be representative for their purpose.
 
 
* '''Cheating''' in homework or project is punished by '''withholding 15 points for all''' involved students. Situation where only part of code is shared is also considered cheating!
 
* '''Cheating''' in homework or project is punished by '''withholding 15 points for all''' involved students. Situation where only part of code is shared is also considered cheating!
 
 
* Attendance at seminars is '''optional but recommended'''.
 
* Attendance at seminars is '''optional but recommended'''.
 
 
* Tutors of practical seminars are
 
* Tutors of practical seminars are
 
** Matej Hudak (subseth.mato@gmail.com)
 
** Matej Hudak (subseth.mato@gmail.com)
 
** Juraj Onderik (wonderik@gmail.com)
 
** Juraj Onderik (wonderik@gmail.com)
 
 
  
 
== Seminar Schedule ==
 
== Seminar Schedule ==
Riadok 23: Riadok 18:
 
== Homeworks ==
 
== Homeworks ==
 
* As a homework, you will program what we could not finish during exercise. Assignment and template will be online to download.
 
* As a homework, you will program what we could not finish during exercise. Assignment and template will be online to download.
* Homework must be submitted by email to [mailto://cg1.2011.hw@gmail.com] every week until '''next monday 23:59'''.
+
* Homework must be submitted by email to [http://cg1.2011.hw@gmail.com | cg1.2011.hw@gmail.com] every week until '''next monday 23:59'''.
You can get a maximum of 3 points per homework. Late submission is for 0 points.
+
* You can get a maximum of 3 points per homework. Late submission is for 0 points.
 
* It is required to submit '''source code of your homework'' executable files are optional. Homework without source code is for 0 points!
 
* It is required to submit '''source code of your homework'' executable files are optional. Homework without source code is for 0 points!
 
  
 
== Project ==
 
== Project ==
Riadok 33: Riadok 27:
  
 
== Evaluation Summary ==
 
== Evaluation Summary ==
* Maximum 45 points
+
* Homeworks: 30 points (10x3)
** 10x3b - Homework
+
* Project: 15 points
** 15 points - Project
+
* Minimum: +20 points
* Minimum: +20b
+
* Cheating: -15 points
* Cheating: -15b
+
  
  
Riadok 51: Riadok 44:
 
** '''F9''': Add/Remove break-point at current line
 
** '''F9''': Add/Remove break-point at current line
 
** '''F12''': Navigate to definition/declaration of object/class...
 
** '''F12''': Navigate to definition/declaration of object/class...
** '''CTRL + Space''': List members of object/class after "." or list parameters of method after "("
+
** '''CTRL + Space''': List members of object/class after "." or parameters of method after "("
  
  
=== Exercise02 [27/28.9] "Mathematics" ===
+
=== Exercise02 [27/28.9] "Vectors and Matrices" ===
 
* Introduction to C#
 
* Introduction to C#
 
* classes: Vector3, Matrix33
 
* classes: Vector3, Matrix33
Riadok 68: Riadok 61:
 
** template for homework [[File:Temp.zip]]
 
** template for homework [[File:Temp.zip]]
  
=== Exercise03 [04/05.10] "Transformations and Drawing" ===
+
 
 +
=== Exercise03 [04/05.10] "Transformations 1" ===
 
* classes: Vector4, Matrix44, Polyline
 
* classes: Vector4, Matrix44, Polyline
 
* A.Transpose(), A.Inverse(), A.Determinant()
 
* A.Transpose(), A.Inverse(), A.Determinant()
Riadok 82: Riadok 76:
 
** Inverse Matrix: [http://www.cg.info.hiroshima-cu.ac.jp/~miyazaki/knowledge/teche23.html]
 
** Inverse Matrix: [http://www.cg.info.hiroshima-cu.ac.jp/~miyazaki/knowledge/teche23.html]
  
=== Exercise04 [04/05.10] "Transformations Demo" ===
+
 
 +
=== Exercise04 [04/05.10] "Transformations 2" (Onderik) ===
 
* Demo Controls
 
* Demo Controls
 
** Left: Select pivot
 
** Left: Select pivot

Verzia zo dňa a času 01:11, 16. október 2011

Cg1 2011 650.png

Practical Seminars on Computer Graphics 1 (Winter 2011)

  • On every seminar we will program algorithms to prearranged template.
  • As a programming language we will use C#, environment Visual C# 2010 Express, alternative - MonoDevelop (Linux / Mac OSX)
  • You should format and comment your code. Titles of functions, classes, variables should be representative for their purpose.
  • Cheating in homework or project is punished by withholding 15 points for all involved students. Situation where only part of code is shared is also considered cheating!
  • Attendance at seminars is optional but recommended.
  • Tutors of practical seminars are
    • Matej Hudak (subseth.mato@gmail.com)
    • Juraj Onderik (wonderik@gmail.com)

Seminar Schedule

  • Tue (8:10) - Room H3
  • Tue (18:10 - Room H3
  • Wed (18:10) - Room F248

Homeworks

  • As a homework, you will program what we could not finish during exercise. Assignment and template will be online to download.
  • Homework must be submitted by email to | cg1.2011.hw@gmail.com every week until next monday 23:59.
  • You can get a maximum of 3 points per homework. Late submission is for 0 points.
  • It is required to submit 'source code of your homework executable files are optional. Homework without source code is for 0 points!

Project

  • Each student should implement a project until 15.1.2012. Assignment for this project will be online soon. You can get a maximum of 12 points for this project.
  • It is required to submit also source code of your project not only .exe files. Project without source code is for 0 points! You should format and comment your code. Titles of functions, classes and variables should be representative for their purpose.

Evaluation Summary

  • Homeworks: 30 points (10x3)
  • Project: 15 points
  • Minimum: +20 points
  • Cheating: -15 points


Seminars

Exercise01 [20/21.9] "Introduction"

  • csharp tutorials
  • visual c# tutorials
  • Visual Studio Tips
    • F2: Rename object/class/property/field...
    • F5: Build and debug solution
    • Shift + F5: Stop debugging solution
    • F9: Add/Remove break-point at current line
    • F12: Navigate to definition/declaration of object/class...
    • CTRL + Space: List members of object/class after "." or parameters of method after "("


Exercise02 [27/28.9] "Vectors and Matrices"

  • Introduction to C#
  • classes: Vector3, Matrix33
  • Add(V3, V3), Sub(V3, V3), Cross(V3, V3), Dot(V3, V3)
  • Add(M3, M3), Mul(M3, M3), Sub(M3, M3)
  • Mul(M3, V3), Mul(V3, M3)
  • Gui calculator:
    • 3x1 vector (operator) 3x1 vector = 3x1 vector
    • 3x3 matrix (operator) 3x3 matrix = 3x3 matrix
  • Assignment
    • Create a simple application for vectors(3x1) and matrices(3x3). Create classes Vector3 a Matrix33. Create GUI according to final sample. Implement operations for vectors: W = U + V, W = U - V, W.X = Dot(U,V), W = Cross(U,V), W.X = U.Length and for matrices: C = A + B, C = A - B, C = A * B, W = A * V, W = U * B. Implement them as operators '+', '-', '*',.. Create calculator application with all operations working similar as in final sample.
    • Final sample Súbor:Ex2.zip
    • template for homework Súbor:Temp.zip


Exercise03 [04/05.10] "Transformations 1"

  • classes: Vector4, Matrix44, Polyline
  • A.Transpose(), A.Inverse(), A.Determinant()
  • RotateX/Y/Z/XYZ
  • Translate(K), Scale(K)
  • Drawing
    • Polyline
    • Free
  • Assignment
    • Create a simple application with transformations and drawing. In transformations implement operations in Matrix44 labeled 'To Do'. In drawing implement free drawing using mouse left button_(down, move, up). Fill all sections labeled 'To Do'. Create 'Clear All' button. Create final application with all operations working similar as in final sample.
    • Final sample Súbor:Ex3.zip
    • template for homework and seminar - Súbor:TemplateEx3.zip
    • Inverse Matrix: [1]


Exercise04 [04/05.10] "Transformations 2" (Onderik)

  • Demo Controls
    • Left: Select pivot
    • Left + CTRL: Create new polyline
    • Left + SHIFT: Select more pivots
    • Right: Move
    • Right + CTRL: Rotate
    • Right + SHIFT: Scale
  • Assignment