Défi : Comment trouver analytiquement l'approximation d'une Ellipse par une série d'arcs de cercle ?
Une approche analytique (non itérative) fournissant une discrétisation continue sur [E1, E2] et accessoirement à dérivée continue en E1 et E2 (à supposer que ce soit le cas avant discrétisation), avec une évolution régulière des longueurs d'arcs de cercle entre E1 et E2 fonction de la courbure locale (plus d'arcs de cercle là où il faut afin d'approcher au plus près le profil elliptique à moindre coût).
Définition du problème
Via les transformations appropriées, on exprime le problème dans le repère de l'ellipse : axes principaux alignés avec x et y, centre en (0,0), et on normalise le rayon selon x ; le rayon selon y devient "a" (histoire de ne pas se promener des rapports de rayons dans les équations). Pour cela, on applique les transformations successives : translation en (0,0), rotation de l'ellipse (des points E1 et E2), puis normalisation (il faudra appliquer les transformations inverses, en sens inverse après la résolution afin de se replacer dans la configuration réelle : "dé-normalisation", rotation inverse, translation en C). Les points E1 et E2 deviennent e1 et e2.
On définit également une "erreur" (maxi) pour la discrétisation, "e", comme la distance maximale entre la discrétisation en arcs de cercles et l'arc d'ellipse.
Résolution
(On peut travailler en coordonnées polaires dans un premier temps, mais les coordonnées curvilignes semblent plus appropriées.)
- On calcule la courbure le long de l'arc d'ellipse (solution analytique)
- On distribue des points le long de ce profil en fonction de C, avec une densité proportionnelle à la courbure (une approche exacte existe).
Les points définissent les lieux d'intersection entre l'arc d'ellipse et les arcs de cercle. - En chaque point, on calcule le cercle de courbure (solution analytique)
- On calcule les points d'intersection des cercles de courbure voisins (solution analytique, il y en à 2, il faut prendre le bon)
Les arcs de cercle définissent la discrétisation de l'arc d'ellipse. On remarque que puisque les rayons des cercles de courbure sont d'autant plus petits que la courbure est localement importante, les intersections sont "du côté" où la courbure locale est la plus grande, ce qui donne bien une discrétisation plus fine là où la courbure est la plus grande. - Pour chaque point d'intersection, on calcule la distance minimale à l'arc d'ellipse (il doit aussi y avoir une solution analytique), c'est l'"erreur" en ce point, qui est localement le plus éloigné de l'arc d'ellipse ; c'est donc bien l'erreur maximale. Grâce à l'étape 2, les points devraient avoir des erreurs similaires, ce qui est ce que l'on recherche.
Si l'erreur est supérieure à l'erreur maximale fixée (e), alors c'est qu'il n'y a pas assez de points. On recommence avec un nombre plus grand. Sinon, on peut diminuer le nombre de points.
En creusant, il doit être pouvoir de connaître l'erreur (et donc le nombre de points) a priori. Sinon, on commence avec un ou quelques points internes.
La méthode implique qu'il y aura au moins un point intermédiaire. Le cas d'un seul arc de cercle est à traiter séparément... Sinon, réviser l'approche pour considérer les points comme les extrémités des arcs de cercle plutôt que leurs points d'intersection avec l'arc d'ellipse.
Je suis parti récemment la-dessus : la-laitonnerie...-longueur-25_mm
avec un insert fileté en inox de l'autre côté...
Récemment j'ai utilisé une huile-cire Osmo satinée sur de l'orme, et ça rend bien :
Je me suis aussi fait un "nuancier" avec huile de lin / rubio / osmo mat / osmo satinée / cire antiquaire / ... Les différences sont assez faibles (en teinte), mais clairement l'osmo satinée mettait le mieux en valeur le veinage du bois (sans foncer outre mesure).