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
Finalement, j'ai trouvé un code possible qu'on doit pouvoir améliorer :
*** 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
size(7cm,0);
pair sommet=(0,0);
real k=0.2;
real rayon= 5;
real alpha= 4*pi/3;
real theta= 5.25*pi/3;
pair A=(rayon*cos(alpha),rayon*sin(alpha));
pair B=(rayon*cos(theta),rayon*sin(theta));
path p=sommet--A--arc(sommet,A,B)--B--sommet--cycle;
path cercle =scale(rayon)*unitcircle;
filldraw(p,orange+white,black+1.25bp);
draw(Label("$\theta$"),arc(sommet,sommet+k*(A-sommet),sommet+(B-sommet)),black+1.25bp);
label("A",A,W);
label("B",B,E);
label("S",sommet,1.25N);
label("$R$",0.5*(B-sommet),1.5NE);
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 :
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
*** 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
unitsize(1cm);
real r=2; // rayon de la base du cône
real h=5; // hauteur du cône
real R= sqrt(r^2+h^2); // Rayon du secteur circulaire du patron
real alpha= r/R*2*pi; // Angle au centre du secteur circulaire du patron
real theta = 0; // Angle polaire du point A
pair sommet=(0,0);
pair A=R*expi(theta),
B=R*expi(theta+alpha);
path p=sommet--A--arc(sommet,A,B)--B--sommet--cycle;
filldraw(p,orange+white,black+1.25bp);
label("$S$",sommet,S);
label("$A$",A,S);
label("$B$",B,W);
real k=.2;
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