)cl all
)se exp add con InnerTrigonometricManipulations
exp(%i*2*%pi/5)
FG2F %
% -1
complexForm %
norm %
simplify %
s:=sqrt %
ph:=exp(%i*2*%pi/5)
A1:=complex(1,0)
A2:=A1*ph
A3:=A2*ph
A4:=A3*ph
A5:=A4*ph
ca1:=map(numeric , complexForm FG2F simplify A1)
ca2:=map(numeric , complexForm FG2F simplify A2)
ca3:=map(numeric ,complexForm FG2F simplify A3)
ca4:=map(numeric ,complexForm FG2F simplify A4)
ca5:=map(numeric ,complexForm FG2F simplify A5)
B1:=A1*exp(2*%i*%pi/10)
B2:=B1*ph
B3:=B2*ph
B4:=B3*ph
B5:=B4*ph
cb1:=map (numeric ,complexForm FG2F simplify B1)
cb2:=map (numeric ,complexForm FG2F simplify B2)
cb3:=map (numeric ,complexForm FG2F simplify B3)
cb4:=map (numeric ,complexForm FG2F simplify B4)
cb5:=map (numeric ,complexForm FG2F simplify B5)
u:=numeric sqrt(s*s-1)
p0:=point([0,0,u+1/2])@Point(SF)
p1:=point([real ca1,imag ca1,0.5])@Point(SF)
p2:=point([real ca2,imag ca2,0.5])@Point(SF)
p2:=point([real ca2,imag ca2,0.5])@Point(SF)
p3:=point([real ca3,imag ca3,0.5])@Point(SF)
p4:=point([real ca4,imag ca4,0.5])@Point(SF)
p5:=point([real ca5,imag ca5,0.5])@Point(SF)
p6:=point([real cb1,imag cb1,-0.5])@Point(SF)
p7:=point([real cb2,imag cb2,-0.5])@Point(SF)
p8:=point([real cb3,imag cb3,-0.5])@Point(SF)
p9:=point([real cb4,imag cb4,-0.5])@Point(SF)
p10:=point([real cb5,imag cb5,-0.5])@Point(SF)
p11:=point([0,0,-u-1/2])@Point(SF)
space:=create3Space()$ThreeSpace DFLOAT
polygon(space,[p0,p1,p2])
polygon(space,[p0,p2,p3])
polygon(space,[p0,p3,p4])
polygon(space,[p0,p4,p5])
polygon(space,[p0,p5,p1])
polygon(space,[p1,p6,p2])
polygon(space,[p2,p7,p3])
polygon(space,[p3,p8,p4])
polygon(space,[p4,p9,p5])
polygon(space,[p5,p10,p1])
polygon(space,[p2,p6,p7])
polygon(space,[p3,p7,p8])
polygon(space,[p4,p8,p9])
polygon(space,[p5,p9,p10])
polygon(space,[p1,p10,p6])
polygon(space,[p6,p11,p7])
polygon(space,[p7,p11,p8])
polygon(space,[p8,p11,p9])
polygon(space,[p9,p11,p10])
polygon(space,[p10,p11,p6])
makeViewport3D(space,title=="Icosahedron")
