Line 22: Line 22:
 
* 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)
 
* On every seminar we will program algorithms to prearranged template.
 
* On every seminar we will program algorithms to prearranged template.
* 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 personally during next excercise.''' You can get a maximum of 3 points per homework. Late submission is for 0 points.
+
* 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 until Sunday 00:00 that week''' You can get a maximum of 3 points per homework. Late submission is for 0 points.
 
* It is required to submit '''also source code of your homework not only .exe files'''. Homework without source code is for 0 points! You should format and comment your code. Titles of functions, classes, variables should be representative for their purpose.
 
* It is required to submit '''also source code of your homework not only .exe files'''. Homework without source code is for 0 points! 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!
Line 73: Line 73:
 
** Free
 
** Free
 
* Assignment  
 
* Assignment  
** TBC
+
** 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 [[File:Ex3.zip]]
 
** Final sample [[File:Ex3.zip]]
 
** template for homework and seminar - [[File:TemplateEx3.zip]]
 
** template for homework and seminar - [[File:TemplateEx3.zip]]
 
** 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]

Revision as of 10:05, 7 October 2011

Cg1 2011 650.png


Practical Seminars on Computer Graphics 1 (Winter 2011)

  • Tue - 8 10 - H3 - Hudak (subseth.mato@gmail.com)
  • Tue - 18 10 - H3 - Onderik (wonderik@gmail.com)
  • Wed - 18 10 - F248 - Hudak


Rules and Evaluation

  • Maximum 45 points
    • 11x3b - Homework
    • 12 points - Project
  • Minimum - 20b
  • Cheating - sanction of 15b


Info and Program of Practical Seminars

  • As a programming language we will use C#, environment Visual C# 2010 Express, alternative - MonoDevelop (Linux / Mac OSX)
  • On every seminar we will program algorithms to prearranged template.
  • 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 until Sunday 00:00 that week You can get a maximum of 3 points per homework. Late submission is for 0 points.
  • It is required to submit also source code of your homework not only .exe files. Homework without source code is for 0 points! 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 obligatory but the student is entitled to one free absence per semester. After that the absence is justified only with formal confirmation from the doctor. Otherwise, student's evaluation is Fx. It means that he or she is not eligible for the final test in the end of the semester. It is necessary to get a positive evaluation from both, practical and theoretical seminars.


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.


Visual Studio Tips

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


Seminars

Exercise01 [20/21.9] "Introduction"

Exercise02 [27/28.9] "Mathematics"

  • 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 and Drawing"

  • 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]