IACV lecture 1: light, lenses and cameras

This is a summary of the introductory lecture to the coure Image Analysis and Computer Vision which I took at ETH in the autumn semester 2018. Interaction of light and matter Interactions of light and matter be divided into three main types (plus diffraction). Phenomenon Example Absorption Blue water Scattering Blue sky, red sunset Reflection

Exam summary: Robot Dynamics

In the autumn semester of 2018 I took the course Robot Dynamics. The summary I took with me to the exam is available here in PDF format as well as in LaTeX format. Here’s an overview of the topics the course covered: Kinematics Rotation and angular velocity Rigid Body Formulation Homogeneous transformations Kinematics of systems

LaTex template: exam summary

At ETH, many courses offer the possibility of taking a summary with you to the exam. This is usually restricted in size and some times must even be handwritten. I have always preferred writing them in digital format, mainly because it gives me the flexibility to rewrite, add or remove parts if I realise I’m

C++: the Named Parameter Idiom

Some times you will have a large C++ class with many parameters that need initializing. That can lead to some ugly constructor calls: auto popsim = PopulationSim(1000, 100000, 1000, 1000, 1500, 0.17, 0.05, 32, 3, 1, 7, 1); This makes the code very hard to maintain and debug, as there is no easy way to

Lecture summary: Programming Techniques for Scientific Simulations

During the autumn semester of 2017 I took the course “Programming Techniques for Scientific Simulations” as part of my BSc course in Computational Science and engineering at ETH Zürich. This is a summary of the course’s contents I wrote and used during the actual exam. Some things are missing, as it was an open-book exam

Compiling C++ libraries

If you use C++, you’ve almost certainly already used a library of some kind. Even the classic “Hello world” program requires one: #include <iostream> // include the iostream library int main() { std::cout << “Hello world!”; return 0; } But what if we wanted to write our own? This has several advantages. First off, if