NewMac("facettesCreuses"," [ if %2=Nil then $ep:=0.25, $mode:=0 else ep:=Re(%2)/2, $mode:=Im(%2) fi, if mode=0 then MapBy( [ $A1:=Nil, $A2:=S[0,2],$A3:=S[1,2], $F:=Nil, $aux:= Map3D( [ A1:=A2, A2:=A3, A3:=Z, if A1<>Nil then $u:=normalize(A1-A2), $v:=normalize(A3-A2), $ecart:=angle(u,v)/2, $L:=ep/sin(ecart), Insert(F,A2+L*normalize(u+v)) fi ], $Z, [S[3,0],S[1,2]]), $compt:=0, $B:=Nil, Insert($interieur,[F,jump]), Map3D( [ Inc(compt,1), $A:=B, B:=$Z, if A<>Nil then A,B,F[2*compt-1,2], F[2*compt-3,2],jump fi, ], Z, S), B,Copy(S,1,2),F[1,2],F[2*compt-1,2] ], S, %1, jump), else ep:=2*ep, MapBy( [ $A1:=Nil, $A2:=S[1,2], $F:=Nil, $aux:= Map3D( [ A1:=A2, A2:=Z, if A1<>Nil then $u:=normalize(A2-A1), Insert(F,A1+ep*normalize(u)) fi ], $Z, [S[3,0],S[1,2]]), $compt:=0, $B:=Nil, Insert($interieur,[F,jump]), Map3D( [ Inc(compt,1), $A:=B, B:=$Z, if A<>Nil then B,F[2*compt-1,2], F[2*compt-3,2],jump fi, ], Z, S), Copy(S,1,2),F[1,2],F[2*compt-1,2] ], S, %1, jump), fi, %3:=interieur ]"), {fin macro -facettesCreuses-} background(full,darkblue), theta:=85*deg, phi:=39*deg, P:=Cube([0,0],[5,0]), nb:=15, Y:=[1,1,0], R:=[1,0,0], Build3D( for k from 1 to nb do P:=facettesCreuses(P, 0.3+i, aux), C:=((nb-k)*R+k*Y)/nb, [1,Rgb(C[1],C[2],C[3]) , P], P:=aux, Re(jump)-i od), Display3D()