Salut 'Nal,
Ayant appris ici même certaines vérités sur le site de référence des moules, je profite de ce que Linuxfr permet en ce moment de dénoncer grave.
Ce billet de blog en anglais dévoile la manipulation à l'œuvre dans les fichiers PDF : les cercles sont faux, ce sont des approximations à base de courbes de Bézier !
Mais bon comme ce billet précise aussi que la vision humaine ne supporte pas les cercles parfaits et les perçoit légèrement allongés verticalement, la révolution n'est pas pour tout de suite.
# Précision
Posté par hugotrip . Évalué à 6.
Dans le détail, le cercle ne fait simplement pas partie des primitives de dessin définies dans les spécifications du format.
Mais comme par hasard, les disques eux sont implémentés.
Je dis ça, je dis rien…
# Méconnaissance du monde industriel ?
Posté par Strash . Évalué à 7.
Heureusement aucun machiniste digne de ce nom utilise la sortie d'un PDF pour programmer sa machine outil. Peut-être dans le monde du hobby (impression 3D et autre) est-ce le cas?
# Inkscape
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 7. Dernière modification le 20 septembre 2023 à 09:51.
SVG a, lui, une primitive pour les cercles. Du coup j'ai essayé un truc avec Inksape :
Eh bien, même en zoomant énormément, on ne vois pas de différence. Que nous chache-t-on ? Est-ce que le rendu du SVG à l'écran par Inkscape approximerait lui aussi les cercles par des courbes de Bézier ?
[^] # Re: Inkscape
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Inkscape (et SVG) ne suit (sont) pas la norme/spécification PDF… Le souci semble être seulement avec ce Putain De Format ;)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Inkscape
Posté par Space_e_man (site web personnel) . Évalué à 4.
J’ai fais presque la même chose…
Je me dis par contre que le Cercle dans Inkscape est probablement discrètement converti en Chemin (courbe de Bézier)… Donc la différence entre un Cercle dans Inkscape et sa conversion en Chemin est en réalité identique.
Pour m’en assurer, j’ai fais deux Cercles , converti l’un en Chemin, exporté en PDF, converti en PS et voici le résultat :
↑ identiques.
Donc nouvelle expérience, avec un Étoile de 360 branches (quand-même… → 720 points Bézier) comparée à un Chemin (4 points Bézier donc)…
Et là, quelle ne fut pas ma surprise…
(cercle_vs_bezier.svg → cercle_vs_bezier.pdf
Hum… Qu’en pensez-vous ?
[^] # Re: Inkscape
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 5.
Tant qu'on reste en SVG, sûrement pas. La spécification SVG prévoit des primitives pour les cercles, ellipses et arcs de cercle ou d'ellipse, et Inkscape respecte cela, fort heureusement. C'est ce qui permet de continuer à travailler sur un cercle, à agir sur son rayon, à en faire un arc, etc.
[^] # Re: Inkscape
Posté par 🚲 Tanguy Ortolo (site web personnel) . É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/
[^] # Re: Inkscape
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 3.
Ah… c’est donc cela. Merci pour le fin mot de l’histoire.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.