Mini C++ Lab

Marco Tarini
Università degli Studi di Milano
2022/2023

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]