I decided on the final layout I ended up pursuing. Here was my first prototype that I actually modeled and printed. For the cam design, I made a single set of cams manually by hand once before I created the software. I made the assumption that the angle between every radius is the same (∠B from video = 0). This made it possible to create the cam, but resulted in a poor pattern.
Note that the laser faced "backwards" here.