summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/goldenellipse.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/goldenellipse.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/goldenellipse.mp57
1 files changed, 57 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/goldenellipse.mp b/Master/texmf-dist/doc/metapost/featpost/example/goldenellipse.mp
new file mode 100644
index 00000000000..84bf24fc5f9
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/goldenellipse.mp
@@ -0,0 +1,57 @@
+% goldenellipse.mp
+% L. Nobre G.
+% 2012
+
+beginfig(1);
+ numeric u, phi, i, dstep, goldang;
+ pen thepen;
+ path ellia, ellib, ellic, ellid, ellip;
+ path evola, evolb, evolc, evold, evolu;
+ path squar;
+ pair paira, pairb, pairc, paird;
+ pair ellfa, squab, ellfc, squad;
+ pair goldp;
+ u = 5cm;
+ phi = 0.5*(1+sqrt(5));
+ dstep = 5;
+ goldang = angle(1,1/phi);
+ thepen = pencircle scaled 0.05u;
+ paira = (phi,0);
+ pairb = (0,1);
+ pairc = (-phi,0);
+ paird = (0,-1);
+ ellfa = (1,0);
+ squab = (0,-phi);
+ ellfc = (-1,0);
+ squad = (0,phi);
+ goldp = (phi*cosd(goldang),sind(goldang));
+ ellia = (phi*cosd(dstep),sind(dstep))
+ for i=2dstep step dstep until 90-dstep:
+ ..(phi*cosd(i),sind(i))
+ endfor;
+ ellib = reverse ellia xscaled -1;
+ ellic = ellia scaled -1;
+ ellid = reverse ellia yscaled -1;
+ ellip = paira--ellia--pairb--ellib--pairc--ellic--paird--ellid--cycle;
+ evola = (cosd(dstep)**3,-phi*(sind(dstep)**3))
+ for i=2dstep step dstep until 90-dstep:
+ ..(cosd(i)**3,-phi*(sind(i)**3))
+ endfor;
+ evolb = reverse evola xscaled -1;
+ evolc = evola scaled -1;
+ evold = reverse evola yscaled -1;
+ evolu = ellfa--evola--squab--evolb--ellfc--evolc--squad--evold--cycle;
+ squar = paira--squab--pairc--squad--cycle;
+ z1 = goldp+whatever*(1,-1);
+ y1 = 0;
+ fill (x1,0)--(0,x1)--(-x1,0)--(0,-x1)--cycle withcolor blue;
+ fill squar withcolor red;
+ fill ellip;
+ fill ellfa--pairb--ellfc--paird--cycle withcolor red;
+ draw evolu withcolor blue;
+ picture tmp;
+ tmp = currentpicture;
+ currentpicture := nullpicture;
+ draw tmp rotated 45 scaled u shifted (10.5cm,14cm) withpen thepen;
+endfig;
+end. \ No newline at end of file