Circulo menor funcionando. Dei uma enxugada no código e deixando a parte do gerador da mesa mais matematico.

Tirei a matriz de pontos que mesa tinha. Mudei o plot do bilhar para plotar uma mesa composto de segmentos de retas em vez de uma mesa guardada numa matriz.
O circulo distorcido agora tem centro no ponto 0  e diametro de mais ou menos 1, para plota-lo precisei fazer uma translacao no plot, depois precisei aumentar a escala. Tambem foi necessirio mudar o jeito que o processing enxerga os eixos atraves da opcao ortho, pq queria que ele enxergasse as coordenadas como se fosse o plano cartesiano.