From: Jean-Michel Sarlat Date: Wed, 14 Sep 2011 18:37:36 +0000 (+0200) Subject: Nouvelles séries d'exemples : courbes en polaires X-Git-Url: https://melusine.eu.org/syracuse/G/git/?a=commitdiff_plain;h=1f9d2f4036645554c46f92209d5b4d417c5fd678;p=mp-gdd.git Nouvelles séries d'exemples : courbes en polaires --- diff --git a/exemples/polaires/LISTE.txt b/exemples/polaires/LISTE.txt new file mode 100644 index 0000000..1768540 --- /dev/null +++ b/exemples/polaires/LISTE.txt @@ -0,0 +1,23 @@ +pol01-1.png +pol02-1.png +pol03-1.png +pol04-1.png +pol05-1.png +pol06-1.png +pol07-1.png +== Les sources +pol01.mp +pol02.mp +pol03.mp +pol04.mp +pol05.mp +pol06.mp +pol07.mp +== Les PDF +pol01-1.pdf +pol02-1.pdf +pol03-1.pdf +pol04-1.pdf +pol05-1.pdf +pol06-1.pdf +pol07-1.pdf diff --git a/exemples/polaires/Makefile b/exemples/polaires/Makefile new file mode 100644 index 0000000..97f2863 --- /dev/null +++ b/exemples/polaires/Makefile @@ -0,0 +1,14 @@ +MP = $(wildcard *.mp) +PDF = $(patsubst %.mp, %-1.pdf, $(MP)) + + +png: $(PDF) +$(PDF) : %-1.pdf : %.mp + ~/bin/mptopdf $< && wpdf -png -rs 50 $@ + +liste: + ls *.png > LISTE.txt + echo '== Les sources' >> LISTE.txt + ls *.mp >> LISTE.txt + echo '== Les PDF' >> LISTE.txt + ls *.pdf >> LISTE.txt \ No newline at end of file diff --git a/exemples/polaires/index.xml b/exemples/polaires/index.xml new file mode 100644 index 0000000..f659146 --- /dev/null +++ b/exemples/polaires/index.xml @@ -0,0 +1,3 @@ + + mp-gdd – Courbes en polaires + diff --git a/exemples/polaires/pol01-1.pdf b/exemples/polaires/pol01-1.pdf new file mode 100644 index 0000000..8d9f619 Binary files /dev/null and b/exemples/polaires/pol01-1.pdf differ diff --git a/exemples/polaires/pol01-1.png b/exemples/polaires/pol01-1.png new file mode 100644 index 0000000..376b7b9 Binary files /dev/null and b/exemples/polaires/pol01-1.png differ diff --git a/exemples/polaires/pol01.mp b/exemples/polaires/pol01.mp new file mode 100644 index 0000000..74d0e29 --- /dev/null +++ b/exemples/polaires/pol01.mp @@ -0,0 +1,59 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.2cm; + +vardef r(expr t) = 1/(cos(t)-cos(2*t)) enddef; +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; +vardef f(expr t) = 3/2*t*t-7/18 enddef; +def DroiteN(expr r, t) = Droite((r*cos(t),r*sin(t)), (r*cos(t)-2*sin(t),r*sin(t)+2*cos(t))) enddef; +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def Crayon(expr t,c) = drawoptions(withpen pencircle scaled t withcolor c) enddef; + + + +beginfig(1); + +Repere(10,10,2,5,3.5,3.5); +Axes; +Debut; +Graduations; Unites(1); +trace Cercle(origine,1); +Crayon(0.75,1.1*LightSlateGrey); +trace rp(-arccos(1/4))--(0,0)--rp(arccos(1/4)) dashed evenly; +Crayon(0.75,1.1*FireBrick); +trace DroiteN(-2/3/sqrt(3),7*Pi/6); +trace DroiteN(-2/3/sqrt(3),5*Pi/6); +trace Representation(f,-3,3,100) rotated -90; +Crayon(1.5,0.8*LightSlateGrey); +trace CourbeEnPolaires(r,0.1,2*Pi/3-0.1,100); +trace CourbeEnPolaires(r,-0.1,-2*Pi/3+0.1,100); +trace CourbeEnPolaires(r,2*Pi/3+0.1,4*Pi/3-0.1,100); +Crayon(1,DodgerBlue); +traceDoubleVecteur(rp(Pi),(0,0.2)); +traceDoubleVecteur(rp(arccos(1/4)),0.05*(-sqrt(15),1)); +traceDoubleVecteur(rp(-arccos(1/4)),0.05*(sqrt(15),1)); +pointe rp(Pi); +pointe rp(arccos(1/4)); +pointe rp(-arccos(1/4)); +Fin; +Crayon(1,OliveDrab); +label.lrt(TEX("\large Courbe d'équation polaire: " & + "\(\displaystyle r=\frac1{\cos\theta-\cos2\theta}\)."),(0,0)); + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/pol02-1.pdf b/exemples/polaires/pol02-1.pdf new file mode 100644 index 0000000..62afef2 Binary files /dev/null and b/exemples/polaires/pol02-1.pdf differ diff --git a/exemples/polaires/pol02-1.png b/exemples/polaires/pol02-1.png new file mode 100644 index 0000000..2ed4fc0 Binary files /dev/null and b/exemples/polaires/pol02-1.png differ diff --git a/exemples/polaires/pol02.mp b/exemples/polaires/pol02.mp new file mode 100644 index 0000000..d75dd5b --- /dev/null +++ b/exemples/polaires/pol02.mp @@ -0,0 +1,74 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.2cm; + +vardef r(expr t) = 1+cos(t) enddef; + +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; + +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef; + + + +beginfig(1); + + + Repere(10,10,2,5,3.5,3.5); + Axes; + Debut; + Graduations; Unites(1); + + drawoptions(withcolor LightSlateGrey); + + draw fullcircle shifted (0.5,0) gddEnPlace avecCrayon(1,Gold); + + nb = 80; + pas = 2Pi / nb; + for i=0 upto nb: + theta := i * pas; + draw (fullcircle scaled 2cos(theta) + shifted (cos(theta)*cos(theta),cos(theta)*sin(theta))) gddEnPlace; + endfor; + + + traceDoubleVecteur(rp(0),(0,0.3)) avecCrayon(1,LightPink); + traceDoubleVecteur(rp(Pi/3),(0.3,0)) avecCrayon(1,LightPink); + traceDoubleVecteur(rp(Pi/2),(0.2,0.2)) avecCrayon(1,LightPink); + traceDoubleVecteur(rp(2Pi/3),(0,0.3)) avecCrayon(1,LightPink); + traceDoubleVecteur(rp(-Pi/3),(0.3,0)) avecCrayon(1,LightPink); + traceDoubleVecteur(rp(-Pi/2),(0.2,-0.2)) avecCrayon(1,LightPink); + traceDoubleVecteur(rp(-2Pi/3),(0,0.3)) avecCrayon(1,LightPink); + + trace Vecteur(origine,(-0.3,0)) avecCrayon(1,LightPink); + trace CourbeEnPolaires(r,-Pi,Pi,100) avecCrayon(1.5,Indigo); + + pointe Point(0,0); + pointe Point(2,0); + pointe PairTOPoint(rp(Pi/3)); + pointe PairTOPoint(rp(-Pi/3)); + pointe PairTOPoint(rp(2Pi/3)); + pointe PairTOPoint(rp(-2Pi/3)); + pointe Point(0,1); + pointe Point(0,-1); + + label.urt(TEX("\(\mathcal{C}\)"),PtR(Point(1,0))) withcolor Magenta; + Fin; + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/pol03-1.pdf b/exemples/polaires/pol03-1.pdf new file mode 100644 index 0000000..2297c2a Binary files /dev/null and b/exemples/polaires/pol03-1.pdf differ diff --git a/exemples/polaires/pol03-1.png b/exemples/polaires/pol03-1.png new file mode 100644 index 0000000..fd544ed Binary files /dev/null and b/exemples/polaires/pol03-1.png differ diff --git a/exemples/polaires/pol03.mp b/exemples/polaires/pol03.mp new file mode 100644 index 0000000..6f3b6bb --- /dev/null +++ b/exemples/polaires/pol03.mp @@ -0,0 +1,55 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.2cm; + +vardef r(expr t) = 1+2*cos(t) enddef; + +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; + +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef; + + + +beginfig(1); + + + Repere(10,10,2.2,5,2,2); + Axes; + Debut; + Graduations; Unites(1); + + drawoptions(withcolor LightSlateGrey); + + nb = 50; + pas = 4 / nb; + for i=1 upto nb: + vardef rt(expr t) = 1 + (-1+i*pas)*cos(t) enddef; + trace CourbeEnPolaires(rt,-Pi,Pi,100) withcolor ((i/nb)[Gainsboro,Chartreuse]); + endfor; + + trace CourbeEnPolaires(r,-Pi,Pi,100) avecCrayon(1.5,LightSeaGreen); + + pointe Point(0,0); + pointe Point(0,1); + pointe Point(0,-1); + + Fin; + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/pol04-1.pdf b/exemples/polaires/pol04-1.pdf new file mode 100644 index 0000000..a4f5a15 Binary files /dev/null and b/exemples/polaires/pol04-1.pdf differ diff --git a/exemples/polaires/pol04-1.png b/exemples/polaires/pol04-1.png new file mode 100644 index 0000000..f4043bd Binary files /dev/null and b/exemples/polaires/pol04-1.png differ diff --git a/exemples/polaires/pol04.mp b/exemples/polaires/pol04.mp new file mode 100644 index 0000000..b5bddb6 --- /dev/null +++ b/exemples/polaires/pol04.mp @@ -0,0 +1,66 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.2cm; + +vardef r(expr t) = cos(2t)+cos(t)*cos(t) enddef; + +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; + +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef; + + +a = arccos(1/sqrt(3)); + + + +beginfig(1); + + + Repere(10,8,5,4,2,2); + Axes; + Debut; + Graduations; Unites(1); + + drawoptions(withcolor LightBlue); + + nb = 60; + pas = 2Pi/ nb; + for i:=0 upto nb: + trace (0,0) -- rp(i*pas); + endfor; + + traceDoubleVecteur((0,0),0.5(cos(a),sin(a))) avecCrayon(1,MediumVioletRed); + traceDoubleVecteur((0,0),0.5(-cos(a),sin(a))) avecCrayon(1,MediumVioletRed); + traceDoubleVecteur((2,0),(0,0.5)) avecCrayon(1,MediumVioletRed); + traceDoubleVecteur((-2,0),(0,0.5)) avecCrayon(1,MediumVioletRed); + traceDoubleVecteur((0,1),(0.5,0)) avecCrayon(1,MediumVioletRed); + traceDoubleVecteur((0,-1),(-0.5,0)) avecCrayon(1,MediumVioletRed); + + trace CourbeEnPolaires(r,-Pi,Pi,150) avecCrayon(1.5,DarkOliveGreen); + + pointe Point(0,0); + pointe Point(0,1); + pointe Point(0,-1); + pointe Point(2,0); + pointe Point(-2,0); + + Fin; + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/pol05-1.pdf b/exemples/polaires/pol05-1.pdf new file mode 100644 index 0000000..446ae60 Binary files /dev/null and b/exemples/polaires/pol05-1.pdf differ diff --git a/exemples/polaires/pol05-1.png b/exemples/polaires/pol05-1.png new file mode 100644 index 0000000..774685e Binary files /dev/null and b/exemples/polaires/pol05-1.png differ diff --git a/exemples/polaires/pol05.mp b/exemples/polaires/pol05.mp new file mode 100644 index 0000000..cbd3516 --- /dev/null +++ b/exemples/polaires/pol05.mp @@ -0,0 +1,82 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.2cm; + +vardef r(expr t) = sqrt(cos(2*t)) enddef; +vardef ri(expr t) = -sqrt(cos(2*t)) enddef; +vardef rh(expr t) = 1 / r(t) enddef; +vardef rhi(expr t) = 1 / ri(t) enddef; + +vardef u(expr v) = sqrt(v*v+4) enddef; + +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; + +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef; + + +a = arccos(1/sqrt(3)); + + + +beginfig(1); + + + Repere(10,6,5,3,3,3); + Axes; + Debut; + Graduations; + + drawoptions(withcolor Gainsboro); + + nb = 40; + pas = Pi / (2*nb); + + for i:=0 upto nb: + trace Droite((0,0),(cos(-Pi/4+i*pas),sin(-Pi/4+i*pas))); + endfor; + + trace Droite((0,0),(1,1)); + trace Droite((0,0),(-1,1)); + + trace CourbeEnPolaires(rh,-Pi/4+0.01,Pi/4-0.01,150) + avecCrayon(0.75,Crimson); + trace CourbeEnPolaires(rhi,-Pi/4+0.01,Pi/4-0.01,150) + avecCrayon(0.75,Crimson); + + + traceDoubleVecteur((0,0),0.25(1,1)) avecCrayon(1,LightSalmon); + traceDoubleVecteur((0,0),0.25(-1,1)) avecCrayon(1,LightSalmon); + traceDoubleVecteur((1,0),(0,0.2)) avecCrayon(1,LightSalmon); + traceDoubleVecteur((-1,0),(0,0.2)) avecCrayon(1,LightSalmon); + traceDoubleVecteur(rp(Pi/6),(0.2,0)) avecCrayon(1,LightSalmon); + traceDoubleVecteur(rp(-Pi/6),(0.2,0)) avecCrayon(1,LightSalmon); + traceDoubleVecteur(rp(5Pi/6),(0.2,0)) avecCrayon(1,LightSalmon); + traceDoubleVecteur(rp(-5Pi/6),(0.2,0)) avecCrayon(1,LightSalmon); + + trace (0,0)--CourbeEnPolaires(r,-Pi/4+0.0001,Pi/4-0.0001,150)--cycle + avecCrayon(1.5,LightSlateGrey); + trace (0,0)--CourbeEnPolaires(ri,-Pi/4+0.0001,Pi/4-0.0001,150)--cycle + avecCrayon(1.5,LightSlateGrey); + + pointe Point(0,0); + + Fin; + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/pol06-1.pdf b/exemples/polaires/pol06-1.pdf new file mode 100644 index 0000000..b824af8 Binary files /dev/null and b/exemples/polaires/pol06-1.pdf differ diff --git a/exemples/polaires/pol06-1.png b/exemples/polaires/pol06-1.png new file mode 100644 index 0000000..12c3045 Binary files /dev/null and b/exemples/polaires/pol06-1.png differ diff --git a/exemples/polaires/pol06.mp b/exemples/polaires/pol06.mp new file mode 100644 index 0000000..71fce36 --- /dev/null +++ b/exemples/polaires/pol06.mp @@ -0,0 +1,63 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.5cm; + +vardef r(expr t) = cos(t)*cos(t)*cos(t)-sin(t)*sin(t)*sin(t) enddef; + +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; + +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef; + + +a = arccos(1/sqrt(3)); + + + +beginfig(1); + + + Repere(6,6,2,4,3,3); + Axes; + Debut; + Graduations; Unites(1); + + drawoptions(withcolor Gainsboro); + + trace (0,0)--rp(-Pi/12); + trace (0,0)--rp(-Pi/4); + trace (0,0)--rp(-5Pi/12); + + traceDoubleVecteur(rp(Pi/4),(0.18,0.18)) avecCrayon(1,DarkOrchid); + traceDoubleVecteur(rp(-Pi/4),(0.18,0.18)) avecCrayon(1,DarkOrchid); + traceDoubleVecteur(rp(-Pi/12),(0.18,0.18)) avecCrayon(1,DarkOrchid); + traceDoubleVecteur(rp(-5Pi/12),(0.18,0.18)) avecCrayon(1,DarkOrchid); + + trace CourbeEnPolaires(r,-Pi/2,Pi/2,150) avecCrayon(1.5,Crimson); + + drawoptions(withcolor LightGoldenrod); + + pointe Point(0,0); + pointe rp(-Pi/12); + pointe rp(-Pi/4); + pointe rp(-5Pi/12); + + Fin; + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/pol07-1.pdf b/exemples/polaires/pol07-1.pdf new file mode 100644 index 0000000..f2684c1 Binary files /dev/null and b/exemples/polaires/pol07-1.pdf differ diff --git a/exemples/polaires/pol07-1.png b/exemples/polaires/pol07-1.png new file mode 100644 index 0000000..6720cb8 Binary files /dev/null and b/exemples/polaires/pol07-1.png differ diff --git a/exemples/polaires/pol07.mp b/exemples/polaires/pol07.mp new file mode 100644 index 0000000..db2abe8 --- /dev/null +++ b/exemples/polaires/pol07.mp @@ -0,0 +1,53 @@ +input gdd; +input gdd-rep; +input gdd-lbl; +input gdd-tra; +input svgnames; + +lblPreambule := "\usepackage[frenchb]{babel}" & + "\usepackage[garamond]{mathdesign}" & + "\usepackage{amsmath}"; + +input gdd-fct; +input gdd-plt; + +labeloffset := 6; +gddU:=1.5cm; + +vardef r(expr t) = 4*cos(t/3)*cos(t/3)*cos(t/3) enddef; + +vardef rp(expr t) = (r(t)*cos(t),r(t)*sin(t)) enddef; + +def traceDoubleVecteur(expr o,d)= drawdblarrow ((o-d)--(o+d)) gddEnPlace enddef; + +def avecCrayon(expr t,c) = withpen pencircle scaled t withcolor c enddef; + + +a = arccos(1/sqrt(3)); + + + +beginfig(1); + + + Repere(8,8,2,4,1,1); + Axes; + Debut; + Graduations; Unites(1); + + drawoptions(withcolor Gainsboro); + + + trace CourbeEnPolaires(r,0,3Pi,450) + avecCrayon(1.5,Crimson); + + drawoptions(withcolor LightGoldenrod); + + pointe Point(0,0); + + Fin; + + +endfig; + +end \ No newline at end of file diff --git a/exemples/polaires/vue.xml b/exemples/polaires/vue.xml new file mode 100644 index 0000000..b08ca69 --- /dev/null +++ b/exemples/polaires/vue.xml @@ -0,0 +1 @@ + \ No newline at end of file