Salut,
Je vais essayer de lancer un petit challenge de géométrie.
Dans AutoCAD, pour dessiner un arc elliptique, on peut spécifier les angles de départ et de fin, mais il existe aussi une option 'Paramètres'.
Extrait de l'aide :
En programmation d'AutoCAD, on retrouve cette notion de paramètre pour tous les objets curviligne (vlax-curve-getParamAtPoint en LISP ou Curve.GetParamAtPoint avec.NET).
On a coutume de dire qu'un petit dessin vaut mieux qu'un long discours :
Le challenge, donc, serait de définir deux fonctions (peu importe le langage) :
- AngleToParam : qui prend comme arguments une ellipse et un angle et qui renvoie le paramètre correspondant
- ParamToAngle : qui prend comme arguments une ellipse et un paramètre et qui renvoie l'angle correspondant
Exemples avec une ellipse de 10 100 unités de grand axe pour 60 unités de petit axe :
- AngleToParam d'un angle de 30° doit retourner un paramètre de 43.90°
- ParamToAngle d'un paramètre de 30° doit retourner un angle de 19.11°
- AngleToParam d'un angle de 230° doit retourner un paramètre de 243.28°
- ParamToAngle d'un paramètre de 230° doit retourner un angle de 215.57°
Les exemples sont donnés en degrés, mais pour plus de simplicité et de cohérence avec les fonction natives fonctions utiliseront les radians.