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
    • 5x6b - Homework
    • 15 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 every other week. Precise deadline will be will be announced in time on this website. You can get a maximum of 6 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 optional but recommended.


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]
Revision as of 23:45, 10 October 2011 by Hudak (Talk | contribs)