Since the 1950s, CRC calculations finding tangency points on the fly have been done automatically within CNC controls, following the instructions of G-codes such as G40, G41, and G42.
Typically the CAM vector output is postprocessed into G-code by a postprocessor program that is tailored to the particular CNC control model.
Some late-model CNC controls accept the vector output directly, and do the translation to servo inputs themselves, internally.
Problems: requires a lot of memory to hold enough triangles to register the model at a tight enough tolerance, and it takes longer to program to get your initial cutter location values.
This is how all major CAM systems do it these days because it works without failing no matter what the complexity and geometry of the model, and can be made fast later.
The ZMap algorithm was proposed in the academic literature by Byoung K Choi in 2003 as a way of precalculating and storing a regular array of cutter location values in the computer memory.