What this is not: The C++ MiniLab is not part of any course, and is not related to the exam of any course.
It is not, by any means, mandatory.
What this is: The C++ MiniLab is an occasion given to the students to learn C++, by coding, as an example, the 3D math concepts that are used in courses such as 3DVG, Computer Graphics, and others. The C++ language is not a subject of any of these courses, or of their exams, but it's one of the de-facto standard languages of 3D graphics and videoGames.
When: Every Monday, 17:30.
Where: Delta Lambda room
How long: Approx 1.0h-1.5h per meeting (ends at 19:00).
Language: English
How to partecipate: Just bring a (fully charged!) laptop, with some IDE installed (e.g. Visual Studio) and a C++ compliler; make sure that you can already compile and exectue a "hello world" program.
Code:
01 | 2023-03-20 (Monday) 17:30..19:00 Delta Room |
Start: Vector class | main.cpp |
02 | 2023-03-20 (Monday) 17:30..19:00 Delta Room |
More vector operations, split into files | c++lab_02.zip |
03 | 2023-04-03 (Monday) 17:30..19:00 Delta Room |
Point-Vector separation; coords as vectors. | c++lab_03.zip |
04 | 2023-04-17 (Monday) 17:30..19:00 ROOM 202 |
Classes for versors, quaternions | c++lab_04.zip |
05 | 2023-05-08 (Monday) 17:30..19:00 Delta Room |
Quaternions as rotations | c++lab_05.zip |
06 | 2023-05-15 (Monday) 17:30..19:00 Lambda Room |
Class for a 3x3 matrix. | c++lab_06.zip |
07 | 2023-05-22 (Monday) 17:30..19:00 Lambda Room |
Transform class. Custom literals for scalars (degrees). | c++lab_07.zip |
08 | 2023-05-29 (Monday) 17:30..19:00 Lambda Room |
More transforms. Image class (with an exporter). | c++lab_08.zip |
09 | 2023-06-06 (Monday) 17:30..19:00 Lambda Room |
A mini raytracer for spheres and planes. |
c++lab_09.zip [output] |