Bon, en fait je crois avoir trouvé la réponse : l'approximation classique d'un cercle par quatre courbes de Béziers quadratiques est déjà excellente, l'erreur maximale en rayon étant d'environ 0,000.27. Moins de 3 pour 10.000. Ce niveau d'erreur est invisible, même en zoomant énormément. C'est sans doute cette approximation qui est utilisée par Inkscape pour convertir un cercle en chemin à la demande, et lorsqu'il exporte en PDF.
Depuis, on a trouvé une meilleure approximation, qui donne une erreur d'environ 0,000.2. On y perd le fait que le milieu des courbes de Béziers soient sur le cercle, contrainte utilisée classiquement pour déterminer directement les paramètres des courbes. Là, on doit avoir recours à une optimisation.
Et enfin, quelqu'un a trouvé une meilleur approximation encore, en supprimant encore une contrainte, celle d'utiliser ce que j'appellerais les points cardinaux du cercle comme extrémités des courbes de Béziers. Résultat, une erreur d'environ 0,000.057. Moins de 6 pour 100.000. Si on veut tailler des roues avec une machine de découpe qui mange du PDF, je suggérerais de procéder ainsi : sur une roue d'un mètre de diamètre, l'erreur est de 28 microns, sans doute inférieure à la précision de découpe, surtout pour un objet qu'on poncera avant de l'utiliser.
[^] # Re: Inkscape
Posté par 🚲 Tanguy Ortolo (site web personnel) . En réponse au journal Que nous cache-t-on ? (version PDF). Évalué à 10.
Bon, en fait je crois avoir trouvé la réponse : l'approximation classique d'un cercle par quatre courbes de Béziers quadratiques est déjà excellente, l'erreur maximale en rayon étant d'environ 0,000.27. Moins de 3 pour 10.000. Ce niveau d'erreur est invisible, même en zoomant énormément. C'est sans doute cette approximation qui est utilisée par Inkscape pour convertir un cercle en chemin à la demande, et lorsqu'il exporte en PDF.
Depuis, on a trouvé une meilleure approximation, qui donne une erreur d'environ 0,000.2. On y perd le fait que le milieu des courbes de Béziers soient sur le cercle, contrainte utilisée classiquement pour déterminer directement les paramètres des courbes. Là, on doit avoir recours à une optimisation.
Et enfin, quelqu'un a trouvé une meilleur approximation encore, en supprimant encore une contrainte, celle d'utiliser ce que j'appellerais les points cardinaux du cercle comme extrémités des courbes de Béziers. Résultat, une erreur d'environ 0,000.057. Moins de 6 pour 100.000. Si on veut tailler des roues avec une machine de découpe qui mange du PDF, je suggérerais de procéder ainsi : sur une roue d'un mètre de diamètre, l'erreur est de 28 microns, sans doute inférieure à la précision de découpe, surtout pour un objet qu'on poncera avant de l'utiliser.
Source : https://spencermortensen.com/articles/bezier-circle/