real radius(path p, real t);

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 362
Inscription : jeudi 14 octobre 2010, 09:20

real radius(path p, real t);

Message par zariski63 »

Bonjour !

Voulant faire calculer le rayon et le centre de courbure d'une courbe paramétrée, il se trouve
qu'au lieu de trouver un centre en (1,0) avec un rayon de 1, j'obtiens (0,0) et un rayon de 0...

Une idée de mon erreur svp ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: real radius(path p, real t);

Message par OG »

Bonjour

Mis à part le centre qui est mis en (-1,0), j'ai corrigé le code.
En fait, graph(x,y,-2.5,2.5) crée bien la courbe en mettant les uns après
les autres tous les points, 100 points. Mais l'opérateur (au sens d'asymptote) est
--, donc le segment. Il est donc normal que le rayon de courbure soit 0 (ou l'infini ici)
la courbe n'étant pas courbe.
Il suffit de modifier l'opérateur de construction en mettant join=operator ... Là
avec path p=graph(x,y,-2.5,2.5,join=operator ..); Asymptote crée une approximation $\mathcal{C}^2$ globalement ($\mathcal{C}^3$ par
morceaux) (si mes souvenirs sont bons) avec des splines paramétrés cubiques de Bézier.
Mathématiquement, c'est la fameuse méthode de J. Hobby (auteur de Metapost) on démontre que tout marche bien aussi, que l'approximation est $\mathcal{C}^2$ : ainsi le rayon de courbure qu'Asymptote calculera sera
très proche de celui de ta courbe paramétrée (mathématique).
radius2.png
O.G.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 362
Inscription : jeudi 14 octobre 2010, 09:20

Re: real radius(path p, real t);

Message par zariski63 »

Mais que je suis bête !!!!!!!
Evidemment !
Par contre mon centre est mal placé, faut que je bosse ça. Il devrait être côté concavité , en (1,0) ...

MERCI^20