Hints for CS543 Project 2 A common problem with this assignment is what to do when the ray goes into a corner, as the intersection time will be the same for 2 boundaries. There are a couple possible "correct" responses. One is to choose one boundary arbitrarily and bounce as before. You just have to make sure that you don't consider this boundary for intersection with the next ray (can you guess what would happen?). You also have to be aware that the intersection time for the next ray could be t=0. Another possibility is to exit the corner by reversing the direction of the incoming ray. In this case, you would then only compare the ray against all boundaries except the two involved in the corner. For this it is best to use a rectangle instead of a square, to avoid rather boring displays. In past years, students have played with non-rectangular shapes, and even polygons containing other polygons (obstacles to bounce off of). I can recall at least one student doing a paddle-ball game, where the interior obstacle could be moved. While this is not required for the project, for those looking for a challenge it might make the project more interesting. Finally, you can consider changing the color of the line as it bounces, which can make for interesting images. Use your imagination - this is mostly an exercise in using some of the math that is useful in graphics (in particular, point-vector forms of lines and computing reflections), but feel free to add whatever bells and whistles you'd like. One last hint - be careful to keep track whether you are in absolute or relative coordinates. Vectors are displacements; they are relative to a specific start point. They may be represented in the same way as points, but they need a start point (absolute) in order to be used to compute another absolute point.