Dennis '94: a robot simulation

This was my second  'big project' (2nd year/kan) at the university. This year we had to choose between a number of 'standard' projects. One of them was the implementation of a robot simulation. I choose this because it allowed me to investigate the possibilities to calculate intersections between very discrete robot movements. E.g, when one robot receives a command 'go right 100.3 steps' and in the path of the robot is an object located then a collision will be reported. Calculating this however was done purely mathematical, so no 'movement-simulation' has been implemented. In practice doing so turned out to be extremely difficult because certain motions defined by means of rotation and translation are no simply curves anymore (these are elliptic curves) and as such calculating the intersection between the motion-path and other objects was too difficult.

A second strong point about this project is that I was able to come up with an efficient algorithm to determine whether a point lied inside or outside a polyon. Especially the cases in which lines are horizontally was quite painful and is seldomly discussed in text-books.

Tussentijdse Raportering, part 1
Tussentijdse Raportering, part 2
Final report
Source code for PCScheme