四种复合多面体的ASY代码,我估计是因为里面有百分号,所以插入ASY代码不能显示图
size(300);
import graph3;
real C0=(1+sqrt(5))/4;
real C1=(3+sqrt(5))/4;
triple[] V={(0.0,0.5,C1),(0.0,0.5,-C1),(0.0,-0.5,C1),(0.0,-0.5,-C1),(C1,0.0,0.5),(C1,0.0,-0.5),(-C1,0.0,0.5),(-C1,0.0,-0.5),(0.5,C1,0.0),(0.5,-C1,0.0),(-0.5,C1,0.0),(-0.5,-C1,0.0),(C0,C0,C0),(C0,C0,-C0),(C0,-C0,C0),(C0,-C0,-C0),(-C0,C0,C0),(-C0,C0,-C0),(-C0,-C0,C0),(-C0,-C0,-C0)};
triple[] A={V[0],V[2],V[14],V[4],V[12]};
triple[] B={V[16],V[18],V[9],V[5],V[8]};
triple[] C={V[6],V[11],V[15],V[13],V[10]};
triple[] D={V[7],V[19],V[3],V[1],V[17]};
for(int i=0;i<5;++i)
{
draw(A[i]--B[(i+3)%5],black);
draw(A[i]--C[(i+1)%5],black);
draw(A[i]--D[(i+4)%5],black);
draw(B[(i+3)%5]--C[(i+1)%5],black);
draw(B[(i+3)%5]--D[(i+4)%5],black);
draw(C[(i+1)%5]--D[(i+4)%5],black);
draw(surface(A[i]--B[(i+3)%5]--C[(i+1)%5]--cycle),red);
draw(surface(A[i]--B[(i+3)%5]--D[(i+4)%5]--cycle),red);
draw(surface(A[i]--C[(i+1)%5]--D[(i+4)%5]--cycle),red);
draw(surface(B[(i+3)%5]--C[(i+1)%5]--D[(i+4)%5]--cycle),red);
}
size(300);
import graph3;
real C0=(1+sqrt(5))/4;
real C1=(3+sqrt(5))/4;
triple[] V={(0.0,0.5,C1),(0.0,0.5,-C1),(0.0,-0.5,C1),(0.0,-0.5,-C1),(C1,0.0,0.5),(C1,0.0,-0.5),(-C1,0.0,0.5),(-C1,0.0,-0.5),(0.5,C1,0.0),(0.5,-C1,0.0),(-0.5,C1,0.0),(-0.5,-C1,0.0),(C0,C0,C0),(C0,C0,-C0),(C0,-C0,C0),(C0,-C0,-C0),(-C0,C0,C0),(-C0,C0,-C0),(-C0,-C0,C0),(-C0,-C0,-C0)};
triple[] A={V[0],V[2],V[14],V[4],V[12]};
triple[] B={V[16],V[18],V[9],V[5],V[8]};
triple[] C={V[6],V[11],V[15],V[13],V[10]};
triple[] D={V[7],V[19],V[3],V[1],V[17]};
for(int i=0;i<5;++i)
{
draw(A[i]--B[(i+3)%5],black);
draw(A[i]--C[(i+1)%5],black);
draw(A[i]--D[(i+4)%5],black);
draw(B[(i+3)%5]--C[(i+1)%5],black);
draw(B[(i+3)%5]--D[(i+4)%5],black);
draw(C[(i+1)%5]--D[(i+4)%5],black);
draw(surface(A[i]--B[(i+3)%5]--C[(i+1)%5]--cycle),red);
draw(surface(A[i]--B[(i+3)%5]--D[(i+4)%5]--cycle),red);
draw(surface(A[i]--C[(i+1)%5]--D[(i+4)%5]--cycle),red);
draw(surface(B[(i+3)%5]--C[(i+1)%5]--D[(i+4)%5]--cycle),red);
draw(A[i]--B[(i-3)%5],black);
draw(A[i]--C[(i-2)%5],black);
draw(A[i]--D[(i-5)%5],black);
draw(B[(i-3)%5]--C[(i-2)%5],black);
draw(B[(i-3)%5]--D[(i-5)%5],black);
draw(C[(i-2)%5]--D[(i-5)%5],black);
draw(surface(A[i]--B[(i-3)%5]--C[(i-2)%5]--cycle),red);
draw(surface(A[i]--B[(i-3)%5]--D[(i-5)%5]--cycle),red);
draw(surface(A[i]--C[(i-2)%5]--D[(i-5)%5]--cycle),red);
draw(surface(B[(i-3)%5]--C[(i-2)%5]--D[(i-5)%5]--cycle),red);
}
size(300);
import graph3;
real C0=(1+sqrt(5))/4;
real C1=(3+sqrt(5))/4;
triple[] V={(0.0,0.5,C1),(0.0,0.5,-C1),(0.0,-0.5,C1),(0.0,-0.5,-C1),(C1,0.0,0.5),(C1,0.0,-0.5),(-C1,0.0,0.5),(-C1,0.0,-0.5),(0.5,C1,0.0),(0.5,-C1,0.0),(-0.5,C1,0.0),(-0.5,-C1,0.0),(C0,C0,C0),(C0,C0,-C0),(C0,-C0,C0),(C0,-C0,-C0),(-C0,C0,C0),(-C0,C0,-C0),(-C0,-C0,C0),(-C0,-C0,-C0)};
triple[] A={V[0],V[2],V[14],V[4],V[12]};
triple[] B={V[16],V[18],V[9],V[5],V[8]};
triple[] C={V[6],V[11],V[15],V[13],V[10]};
triple[] D={V[7],V[19],V[3],V[1],V[17]};
for(int i=0;i<5;++i)
{
draw(A[i]--A[(i+2)%5],black);
draw(A[i]--B[(i+4)%5],black);
draw(A[i]--C[i],black);
draw(A[(i+2)%5]--B[(i+3)%5],black);
draw(A[(i+2)%5]--C[(i+1)%5],black);
draw(B[(i+3)%5]--B[(i+4)%5],black);
draw(B[(i+3)%5]--D[(i+2)%5],black);
draw(B[(i+4)%5]--D[(i+4)%5],black);
draw(C[i]--C[(i+1)%5],black);
draw(C[i]--D[(i+4)%5],black);
draw(C[(i+1)%5]--D[(i+2)%5],black);
draw(D[(i+2)%5]--D[(i+4)%5],black);
draw(surface(A[i]--A[(i+2)%5]--B[(i+3)%5]--B[(i+4)%5]--cycle),green);
draw(surface(A[i]--A[(i+2)%5]--C[(i+1)%5]--C[i]--cycle),green);
draw(surface(A[i]--B[(i+4)%5]--D[(i+4)%5]--C[i]--cycle),green);
draw(surface(A[(i+2)%5]--B[(i+3)%5]--D[(i+2)%5]--C[(i+1)%5]--cycle),green);
draw(surface(B[(i+3)%5]--B[(i+4)%5]--D[(i+4)%5]--D[(i+2)%5]--cycle),green);
draw(surface(C[i]--C[(i+1)%5]--D[(i+2)%5]--D[(i+4)%5]--cycle),green);
}
size(300);
import graph3;
real C0=(1+sqrt(5))/4;
real C1=(3+sqrt(5))/4;
real C2=(1+sqrt(5))/2;
triple[] V={(0.0,0.0,C2),(0.0,0.0,-C2),(C2,0.0,0.0),(-C2,0.0,0.0),(0.0,C2,0.0),(0.0,-C2,0.0),(0.5,C0,C1),(0.5,C0,-C1),(0.5,-C0,C1),(0.5,-C0,-C1),(-0.5,C0,C1),(-0.5,C0,-C1),(-0.5,-C0,C1),(-0.5,-C0,-C1),(C1,0.5,C0),(C1,0.5,-C0),(C1,-0.5,C0),(C1,-0.5,-C0),(-C1,0.5,C0),(-C1,0.5,-C0),(-C1,-0.5,C0),(-C1,-0.5,-C0),(C0,C1,0.5),(C0,C1,-0.5),(C0,-C1,0.5),(C0,-C1,-0.5),(-C0,C1,0.5),(-C0,C1,-0.5),(-C0,-C1,0.5),(-C0,-C1,-0.5)};
triple[] A={V[0],V[8],V[16],V[14],V[6]};
triple[] B={V[12],V[24],V[2],V[22],V[10]};
triple[] C={V[20],V[28],V[5],V[25],V[17],V[15],V[23],V[4],V[26],V[18]};
triple[] D={V[3],V[29],V[9],V[7],V[27]};
triple[] E={V[21],V[13],V[1],V[11],V[19]};
for(int i=0;i<5;++i)
{
draw(A[i]--B[(i+2)%5],black);
draw(A[i]--C[(2*i+2)%10],black);
draw(A[i]--C[(2*i+7)%10],black);
draw(A[i]--D[i],black);
draw(B[(i+2)%5]--C[(2*i+2)%10],black);
draw(B[(i+2)%5]--C[(2*i+7)%10],black);
draw(C[(2*i+2)%10]--D[i],black);
draw(C[(2*i+7)%10]--D[i],black);
draw(B[(i+2)%5]--E[(i+2)%5],black);
draw(C[(2*i+2)%10]--E[(i+2)%5],black);
draw(C[(2*i+7)%10]--E[(i+2)%5],black);
draw(D[i]--E[(i+2)%5],black);
draw(surface(A[i]--B[(i+2)%5]--C[(2*i+2)%10]--cycle),red);
draw(surface(A[i]--B[(i+2)%5]--C[(2*i+7)%10]--cycle),red);
draw(surface(A[i]--C[(2*i+2)%10]--D[i]--cycle),red);
draw(surface(A[i]--C[(2*i+7)%10]--D[i]--cycle),red);
draw(surface(B[(i+2)%5]--C[(2*i+2)%10]--E[(i+2)%5]--cycle),red);
draw(surface(B[(i+2)%5]--C[(2*i+7)%10]--E[(i+2)%5]--cycle),red);
draw(surface(C[(2*i+2)%10]--D[i]--E[(i+2)%5]--cycle),red);
draw(surface(C[(2*i+7)%10]--D[i]--E[(i+2)%5]--cycle),red);
} |