13 Aug 2007

## Asymptote Generalities – fig1570

 (Compiled with Asymptote version 2.14svn-r5318)
```
size(0,0);

pair [] P, Q, R, S;
real u=1cm;

for (int i=0; i<=4; ++i)
P[i] = rotate(i*360/5)*(0,-u);

P[5] = P[0];
for (int i=0; i<=4; ++i)
Q[i] = 3*midpoint(P[i]--P[i+1]);

Q[5] = Q[0];
for (int i=0; i<=4; ++i)
R[i] = 1/3*( Q[i] + Q[i+1] + P[i+1] );

R[5] = R[0];
for (int i=0; i<=5; ++i)
S[i] = 1.5*Q[i];

fill(shift(-abs(S[0]),-abs(S[0]))*scale(2*abs(S[0]))*unitsquare,.2grey);

black,(0,0),abs(.85*midpoint(S[0]--S[1])));

P[6]=P[1];
for (int i=0; i<=4; ++i)
{
lightgrey,(0,0),abs(R[i]),
black,(0,0),abs(S[i]));
.8red,(0,0),sqrt(1-(2-2cos(pi/5))/4)*u,
black,(0,0),abs(Q[i+1]));
}

for (real i=1; i>0; i-=.05)
fill(rotate(90*(1-i))*scale(i)*(P[0]--P[1]--P[2]--P[3]--P[4]--cycle),
(1-i)*red);

pen p=linewidth(1pt);
for (int i=0; i<=4; ++i)
{
draw(P[i]   -- P[i+1],p);
draw(P[i+1] -- R[i],p);
draw(Q[i]   -- R[i],p);
draw(R[i]   -- Q[i+1],p);
draw(Q[i]   -- S[i],p);
draw(S[i]   -- S[i+1],p);
}

shipout(bbox(0,black+4mm));

```

Étiquettes : , , ,