Code : Tout sélectionner
unitsize(1cm);
import geometry;
void Triangle (picture pic=currentpicture, int a, pair pos=(0,0))
{
transform t=shift(pos);
pair z0=(0,0);
pair z1=z0+a;
pair z2=a/2*(1,sqrt(3));
pair[] Z1, Z2, Z3;
filldraw(pic,t*(z0--z1--z2---cycle),green,blue);
for(int i=1 ; i<a; ++i){
Z1.push(scale(i/a,z0)*z1);
Z2.push(scale(i/a,z1)*z2);
Z3.push(scale(i/a,z0)*z2);
}
for(int i=0 ; i<=a-2 ; ++i){
draw(pic,t*(Z3[i]--Z2[i]),blue);
draw(pic,t*(Z1[i]--Z3[i]),blue);
draw(pic,t*(Z1[i]--Z2[a-2-i]),blue);
}
label(pic,format("\textbf{T\boldmath{$_{%i}$}}",a),pos+a/2,2*S);
}
int val[]={1,2,3,7};
for(int k:val) {
Triangle(k);
shipout("fig_triangle_T"+string(k));
erase();
}