CG1 2011/en: Rozdiel medzi revíziami

(Replaced content with "CG1_2012/en")
 
(76 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
[[File:cg1_2011_650.png]]
+
[[CG1_2012/en]]
 
+
= Practical Seminars on Computer Graphics 1 (Winter 2011) =
+
* On every seminar we will implement selected problems/algorithms from lessons. We will usually start with a prearranged template downloadable from with site.
+
* As a programming language we will use C#. We will use Visual C# 2010 Express as development environment. Alternatively you can use MonoDevelop (Linux / Mac OSX) on your own machine.
+
* Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose.
+
* Every week you have to finish and submit the assignment as homework.
+
* At the end of the semester you have to submit the project.
+
* Any kind of '''cheating''' 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'''.
+
* Seminars are conducted by
+
** Matej Hudak (subseth.mato@gmail.com)
+
** Juraj Onderik (wonderik@gmail.com)
+
* Schedule of seminars is
+
** 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 downloadable from this site. See exercises.
+
* Homework must be submitted by email to [mailto: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, totally 30 points. 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 ==
+
* Project must be submitted by email to [mailto:cg1.2011.hw@gmail.com  cg1.2011.hw@gmail.com] until '''15.1.2011'''.
+
* You can get a maximum of '''15 points''' for your project.
+
* It is required to submit '''source code of your project'''. Executable files are optional. Projects without source code is for 0 points!
+
* Project assignment of project: TODO
+
 
+
== Summary ==
+
* Evaluation: [https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0AhREYgn4NR6AdFVOek9id2VrWFpnQWg0TWdiM2dpUkE&output=html Table]
+
* Submission: [mailto:cg1.2011.hw@gmail.com cg1.2011.hw@gmail.com]
+
* Homeworks: 30 points (10x3)  /deadline monday 23:59/
+
* Project: 15 points  /deadline 15.1.2011/
+
* Cheating: -15 points
+
* Minimum: +20 points
+
* Attendance: Optional
+
 
+
 
+
== Seminars ==
+
 
+
=== Exercise01 [20/21.9] "Introduction" ===
+
* [http://www.csharp-station.com csharp tutorials]
+
* [http://csharp.net-tutorials.com 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 [[File:Ex2.zip]]
+
** template for homework [[File: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 [[File:Ex3.zip]]
+
** template for homework and seminar - [[File:TemplateEx3.zip]]
+
** Inverse Matrix: [http://www.cg.info.hiroshima-cu.ac.jp/~miyazaki/knowledge/teche23.html]
+
 
+
=== 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
+
** Final Sample [[File:Ex04.zip]]
+
** Template [[File:TemplateEx04.zip]]
+

Aktuálna revízia z 22:48, 10. september 2012

CG1_2012/en