Page 1 sur 1

Marquage d'un angle sur un cône et sur son patron

Posté : mer. 26 sept. 2018, 20:01
par Fabrice
Bonsoir Gaetan,
J'ai repris goût à Asymptote, et je dois maintenant faire les deux figures jointes en image.
J'ai commencé par le cône, et je ne vois pas comment marquer l'angle alpha.

Code : Tout sélectionner

import solids;
size(10cm,0);

currentprojection=orthographic(0,100,25);

render render=render(compression=0,merge=true);

real x=2.5;
real h=5*sqrt(3)/2;

triple pA=(0,0,0);
triple pB=(0,0,h);
triple pM=(-x,0,0);

revolution CoRev=cone(pA,x,h,axis=Z,n=1);

draw(surface(CoRev),yellow+opacity(.5),render);

draw(CoRev,1bp+black);

draw(pB--pA,dashed);
draw("$r$",pA--pM,N,dashed);

label("S",pB,N);
label("I",pM,E);
label("O",pA,align=W);
http://image.noelshack.com/fichiers/201 ... patron.jpg
Merci
Fabrice

Re: Marquage d'un angle sur un cône et sur son patron

Posté : mer. 26 sept. 2018, 22:21
par GM
Bonsoir,

la réponse était dans ma signature : http://asy.marris.fr/indexasy/?filtre=arc%20triple

et l'utilisation de la troisième définition de Arc permet cela :

Code : Tout sélectionner

import solids;
size(10cm,0);

currentprojection=orthographic(0,100,25);

render render=render(compression=0,merge=true);

real x=2.5;
real h=5*sqrt(3)/2;
real k=0.2;

triple pA=(0,0,0);
triple pB=(0,0,h);
triple pM=(-x,0,0);

revolution CoRev=cone(pA,x,h,axis=Z,n=1);

draw(surface(CoRev),yellow+opacity(.5),render);
draw(Label("$\alpha$"),Arc(pB,pB+k*(pA-pB),pB+(pM-pB)));

draw(CoRev,1bp+black);

draw(pB--pA,dashed);
draw("$r$",pA--pM,N,dashed);

label("S",pB,N);
label("I",pM,E);
label("O",pA,align=W);

Re: Marquage d'un angle sur un cône et sur son patron

Posté : mer. 26 sept. 2018, 23:17
par Fabrice
Bonsoir,
Merci beaucoup. Si j'osais, je te demanderais bien un coup de pouce pour dessiner le secteur angulaire :oops:
Finalement, j'ai trouvé un code possible qu'on doit pouvoir améliorer :

Figure asymptote 659e4a3d7b02fda030f2921c7d08c921
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. size(7cm,0);
  2. pair sommet=(0,0);
  3. real k=0.2;
  4. real rayon= 5;
  5. real alpha= 4*pi/3;
  6. real theta= 5.25*pi/3;
  7. pair A=(rayon*cos(alpha),rayon*sin(alpha));
  8. pair B=(rayon*cos(theta),rayon*sin(theta));
  9. path p=sommet--A--arc(sommet,A,B)--B--sommet--cycle;
  10. path cercle =scale(rayon)*unitcircle;
  11. filldraw(p,orange+white,black+1.25bp);
  12. draw(Label("$\theta$"),arc(sommet,sommet+k*(A-sommet),sommet+(B-sommet)),black+1.25bp);
  13. label("A",A,W);
  14. label("B",B,E);
  15. label("S",sommet,1.25N);
  16. label("$R$",0.5*(B-sommet),1.5NE);
  17.  

Re: Marquage d'un angle sur un cône et sur son patron

Posté : ven. 28 sept. 2018, 19:37
par GM
Bonsoir,

Je n'ai pas tout compris à tes calculs et tes choix d'angles.

Si je ne me trompe pas alors, avec tes choix suivants

Code : Tout sélectionner

real x=2.5;          // rayon de la base du cône (qu'il aurait peut-être fallu nommer r)
real h=5*sqrt(3)/2;  // hauteur du cône (dont je ne m'explique pas la valeur particulière)
le patron du cône est un secteur circulaire de rayon R et d'angle au centre alpha donnés par les expressions suivantes :

Code : Tout sélectionner

real R= sqrt(x^2+h^2);
real alpha= x/R*2*pi;

Re: Marquage d'un angle sur un cône et sur son patron

Posté : ven. 28 sept. 2018, 19:55
par GM

Code : Tout sélectionner

real x=2.5;          // rayon de la base du cône (qu'il aurait peut-être fallu nommer r)
real h=5*sqrt(3)/2;  // hauteur du cône (dont je ne m'explique pas la valeur particulière)
Avec ces choix là, l'angle au centre du secteur angulaire du patron est 180°.

Re: Marquage d'un angle sur un cône et sur son patron

Posté : ven. 28 sept. 2018, 20:06
par GM

Figure asymptote f781426e0c0353251bb157917769d284
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. unitsize(1cm);
  2.  
  3. real r=2; // rayon de la base du cône
  4. real h=5; // hauteur du cône
  5. real R= sqrt(r^2+h^2); // Rayon du secteur circulaire du patron
  6. real alpha= r/R*2*pi; // Angle au centre du secteur circulaire du patron
  7. real theta = 0; // Angle polaire du point A
  8.  
  9. pair sommet=(0,0);
  10. pair A=R*expi(theta),
  11. B=R*expi(theta+alpha);
  12.  
  13. path p=sommet--A--arc(sommet,A,B)--B--sommet--cycle;
  14.  
  15. filldraw(p,orange+white,black+1.25bp);
  16. label("$S$",sommet,S);
  17. label("$A$",A,S);
  18. label("$B$",B,W);
  19.  
  20. real k=.2;
  21. draw(Label("$\theta$"),arc(sommet,sommet+k*(A-sommet),sommet+(B-sommet)),black+1.25bp);

Re: Marquage d'un angle sur un cône et sur son patron

Posté : ven. 28 sept. 2018, 22:58
par Fabrice
Bonsoir,
Le but n’était pas de dessiner le patron du cône de mon premier code.
Je n’ai fait aucun calcul pour dessiner ce patron, j’ai seulement cherché à reproduire une figure ressemblante à celle jointe dans le lien. Après, il est vrai que dans l’exercice, on propose de faire le patron du cône en choisissant alpha= 30 degrés et R= 5. Je sais que theta vaut alors 180 degrés, mais ma figure illustrant cet exercice ne reproduisait pas cet exemple particulier.
Fabrice