This is more out of curiosity than anything, but I'm wondering what topics I would need to learn to make a basic CAM software. I am thinking I would need to learn computational geometry, planning algorithms, and inverse kinematic control. What am I missing? Any advice? Again, I'm not planning on actually writing a full CAM package, but it seems like it might be interesting to get a few books to browse through, who knows what will happen.

If this is in the wrong forum please let me know