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 ?
real radius(path p, real t);
-
- Utilisateur éprouvé
- Messages : 539
- Inscription : jeudi 14 octobre 2010, 09:20
- Statut actuel : Enseignant
- Localisation : Clermont-Ferrand
real radius(path p, real t);
- Pièces jointes
-
- radius2.pdf
- (12.75 Kio) Téléchargé 502 fois
-
- radius2.asy
- (4.68 Kio) Téléchargé 456 fois
-
- Modérateur honoraire
- Messages : 2293
- Inscription : lundi 12 mars 2007, 11:20
- Localisation : Rouen
Re: real radius(path p, real t);
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).
O.G.
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).
O.G.
- Pièces jointes
-
- radius2.asy
- (4.7 Kio) Téléchargé 441 fois
-
- Utilisateur éprouvé
- Messages : 539
- Inscription : jeudi 14 octobre 2010, 09:20
- Statut actuel : Enseignant
- Localisation : Clermont-Ferrand
Re: real radius(path p, real t);
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
Evidemment !
Par contre mon centre est mal placé, faut que je bosse ça. Il devrait être côté concavité , en (1,0) ...
MERCI^20