Pour les CNC (ou découpes laser), il faut des arcs de cercle plutôt que des interpolations linéaires.
J'ai fait un algo qui, à partir d'une liste de points dans le plan, calcul des arcs de cercle "au mieux". Cela peut être utile pour tracer la courbe du concentrateur secondaire (elle doit être au plus juste afin d'avoir le moins d'erreurs optiques).
Interpolation linéaire :
Simple, mais, contenu du rayon de l'outil, les points ne sont pas forcement atteint. De plus, il faudrait énormément de point pour avoir un rendu optiquement correct.
Interpolation par arcs :
Il s'agit d'un intermédiaire de calcul. Les arcs calculés sont tel qu’ils sont tangent aux points et correspondent à l'arc de cercle contruite avec les trois points (le courant, le précédant et le suivant). Le centre des arcs et le rayon de courbure sont affichés.
Problème : les arcs ne se raccordent pas forcement !
Interpolation par arcs avec raccordement
Par rapport au calcul précédent, les arcs sont corrigés afin que les points de raccordements sont au milieu des extrémités calculés précédemment. On obtient un tracé lissé qui passe exactement par les points de départ. A priori, le rayon de l'outil ne pose pas de problème et le résultat optique doit être bon, même avec peu de points !
L'algo est en javascript (voir pièce jointe) avec un affichage HTML.
Pour le rendre utilisable, il faudrait revoir la mise en forme (champ de saisie de la liste des points) et voir comment restituer les données (pdf pour outil dessin de la CNC ?).