asymptote-config/polyhedron_js.asy
2018-08-15 17:23:01 +02:00

4432 lines
98 KiB
Plaintext

// Copyright (c) 2008, Jens Schwaiger
// Institut fuer Mathematik, Karl-Franzens-Universitaet
// Heinrichstrasse 36, A-8010 GRAZ, Austria
// Homepage: http://www-ang.kfunigraz.ac.at/~schwaige/
// Version: $Id: polyhedron.asy,v 0.0 2008/02/03 Jens Schwaiger Exp $
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or (at
// your option) any later version.
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301, USA.
// Modified by Philippe Ivaldi
import three;
typedef path3[] polyhedron; //A polyhedron is an array of guide3s
private surface polsurface(explicit polyhedron p)
{
surface s;
for (int i=0; i < p.length; ++i) {
s.append(surface(p[i],planar=true));
}
return s;
}
real sf(polyhedron p){ // scalefactor, used if the projection is orthographic
real maxmin(int i){return max(abs(max(p[i])),abs(min(p[i])));};
if(p.length==0) abort("empty polyhedron");
return 10*max(sequence(maxmin,p.length));// without multiplying by something 'large' things may look strange
}
triple cofgr(guide3 g){ // center of gravity of a closed guide3
int l=length(g);
if(l==0) return point(g,0);
triple cgr=(0,0,0);
for(int i=0;i<l;++i) cgr=cgr+point(g,i);
return(1/l)*cgr;
}
void draw(picture pic=currentpicture, polyhedron[] pol, pen[] pn={currentpen}, projection P=currentprojection)
{ // Draw all edges of all element of the array pol
pen[] pntmp=pn;
pntmp.cyclic=true;
for(int i=0;i<pol.length;++i) for(int j=0;j<(pol[i]).length;++j) draw(pic,pol[i][j],pntmp[i]);
}
void filldraw(picture pic=currentpicture,
polyhedron[] pol,
pen[] fcol={red,blue,green,orange,cyan},
real op=1,
pen[] dcol={black+1bp},
projection P=currentprojection,
light lt=currentlight)
{ // Filldraw all edges of all element of the array pol with fillcolors from fcol and drawcolors from dcol
// with opacity op
fcol.cyclic=true;
dcol.cyclic=true;
if(! is3D()) {
polyhedron join;
int[] nofpoly;
int[] constarray(int i, int n){int[] cr; for(int j=0;j<n;++j) cr[j]=i; return cr;};
for(int i=0;i<pol.length;++i){join.append(pol[i]);nofpoly.append(constarray(i,pol[i].length));};
triple cam;
cam=P.camera;
if(P.infinity) cam=sf(join)*unit(P.camera);
real[][] dist=new real[join.length][3];
real[][] distsort=new real[join.length][3];
for(int i=0;i<join.length;++i){dist[i][0]=abs(cofgr(join[i])-cam);dist[i][1]=i;dist[i][2]=nofpoly[i];};
distsort=sort(dist);
for(int i=distsort.length-1;i>-1;--i){
int d1=(int)distsort[i][1];
int d2=(int)distsort[i][2];
triple u,v,w;
u=point(join[d1],0)-cofgr(join[d1]);
v=point(join[d1],1)-cofgr(join[d1]);
w=unit(cross(u,v));
if(dot(w,cam-cofgr(join[d1]))<0) w=-w;
real contrast=0.5*(dot(sum(lt.position),w)+1);
if(lt==nolight) contrast=1;
filldraw(pic,project(join[d1],P),contrast*fcol[d2]+opacity(op),dcol[d2]);
}
} else {
for (int i=0; i < pol.length; ++i) {
draw(pol[i],dcol[i]);
draw(polsurface(pol[i]),fcol[i]+opacity(op));
}
}
}
// Cube
polyhedron cube;
cube[0]=(-0.5,-0.5,0)--(0.5,-0.5,0)--(0.5,0.5,0)--(-0.5,0.5,0)--cycle;
cube[1]=(-0.5,-0.5,0)--(0.5,-0.5,0)--(0.5,-0.5,1)--(-0.5,-0.5,1)--cycle;
cube[2]=(0.5,-0.5,0)--(0.5,0.5,0)--(0.5,0.5,1)--(0.5,-0.5,1)--cycle;
cube[3]=(0.5,0.5,0)--(-0.5,0.5,0)--(-0.5,0.5,1)--(0.5,0.5,1)--cycle;
cube[4]=(-0.5,0.5,0)--(-0.5,-0.5,0)--(-0.5,-0.5,1)--(-0.5,0.5,1)--cycle;
cube[5]=(-0.5,-0.5,1)--(0.5,-0.5,1)--(0.5,0.5,1)--(-0.5,0.5,1)--cycle;
// Adjust data such that the center is the triple (0,0,0) and such that the circumscribed ball has radius 1
cube=shift(-0.5Z)*cube;
cube=scale3(1/abs(point(cube[0],0)))*cube;
// Tetrahedron
polyhedron tetrahedron;
guide triangle=polygon(3);
tetrahedron[0]=(point(triangle,0).x,point(triangle,0).y,0);
for(int i=1;i<3;++i) tetrahedron[0]=tetrahedron[0]--(point(triangle,i).x,point(triangle,i).y,0);
tetrahedron[0]=tetrahedron[0]--cycle;
triple sp=(0,0,sqrt(2/3)*abs(point(triangle,1)-point(triangle,0)));
tetrahedron[1]=sp--point(tetrahedron[0],0)--point(tetrahedron[0],1)--cycle;
tetrahedron[2]=sp--point(tetrahedron[0],1)--point(tetrahedron[0],2)--cycle;
tetrahedron[3]=sp--point(tetrahedron[0],2)--point(tetrahedron[0],3)--cycle;
// Adjust data such that the center is the triple (0,0,0) and such that the circumscribed ball has radius 1
triple cotetr; // center of gravity of the tetrahedron
for(int i=0;i<4;++i) cotetr=cotetr+cofgr(tetrahedron[i]);
cotetr=(1/4)*cotetr;
tetrahedron=shift(-cotetr.z*Z)*tetrahedron;
tetrahedron=scale3(1/abs(point(tetrahedron[0],0)))*tetrahedron;
// Octahedron
polyhedron octahedron;
// The vertices of the octahedron are the midpoints of the faces of the cube
triple[] vert; for(int i=0;i<6;++i) vert[i]=cofgr(cube[i]);
octahedron[0]=vert[0]--vert[1]--vert[2]--cycle;
octahedron[1]=vert[0]--vert[2]--vert[3]--cycle;
octahedron[2]=vert[0]--vert[3]--vert[4]--cycle;
octahedron[3]=vert[0]--vert[4]--vert[1]--cycle;
octahedron[4]=vert[5]--vert[1]--vert[2]--cycle;
octahedron[5]=vert[5]--vert[2]--vert[3]--cycle;
octahedron[6]=vert[5]--vert[3]--vert[4]--cycle;
octahedron[7]=vert[5]--vert[4]--vert[1]--cycle;
// Adjust data such that the center is the triple (0,0,0) and such that the circumscribed ball has radius 1
octahedron=scale3(1/abs(point(octahedron[0],0)))*octahedron;
//####################################
//Construction of icosahedron
polyhedron icosahedron;
real tau;
tau = (sqrt(5)+1)/2;
triple[] M;
M[0] = (0, tau, 1); M[1] = (0, -tau, 1); M[2] = (0, tau, -1);
M[3] = (0, -tau, -1); M[4] = (1, 0, tau); M[5] = (-1, 0, tau);
M[6] = (1, 0, -tau); M[7] = (-1, 0, -tau); M[8] = (tau, 1, 0);
M[9] = (-tau, 1, 0); M[10] = (tau, -1, 0); M[11] = (-tau, -1, 0);
guide3 triface_(int i, int j, int k){guide3 gh; gh=M[i-1]--M[j-1]--M[k-1]--cycle; return gh;};
icosahedron[0]=triface_(1, 9, 3);
icosahedron[1]=triface_(1, 5, 9);
icosahedron[2]=triface_(1, 6, 5);
icosahedron[3]=triface_(1, 10, 6);
icosahedron[4]=triface_(1, 3, 10);
icosahedron[5]=triface_(3, 9, 7);
icosahedron[6]=triface_(9, 11, 7);
icosahedron[7]=triface_(9, 5, 11);
icosahedron[8]=triface_(5, 2, 11);
icosahedron[9]=triface_(5, 6, 2);
icosahedron[10]=triface_(6, 12, 2);
icosahedron[11]=triface_(6, 10, 12);
icosahedron[12]=triface_(10, 8, 12);
icosahedron[13]=triface_(10, 3, 8);
icosahedron[14]=triface_(3, 7, 8);
icosahedron[15]=triface_(4, 11, 2);
icosahedron[16]=triface_(4, 2, 12);
icosahedron[17]=triface_(4, 12, 8);
icosahedron[18]=triface_(4, 8, 7);
icosahedron[19]=triface_(4, 7, 11);
// Adjust data such that the center is the triple (0,0,0) and such that the circumscribed ball has radius 1
triple cogricos; // center of gravity of the icosahedron
for(int i=0;i<20;++i) cogricos=cogricos+cofgr(icosahedron[i]);
cogricos=(1/20)*cogricos;
icosahedron=shift(-cogricos.z*Z)*icosahedron;
icosahedron=scale3(1/abs(point(icosahedron[0],0)))*icosahedron;
//Construction of a dodecahedron;
//########################################################
polyhedron dodecahedron;
triple[] M_;
M_[0] = (1/3)*(M[0]+M[8]+M[2]);
M_[1] = (1/3)*(M[0]+M[4]+M[8]);
M_[2] = (1/3)*(M[0]+M[5]+M[4]);
M_[3] = (1/3)*(M[0]+M[9]+M[5]);
M_[4] = (1/3)*(M[0]+M[2]+M[9]);
M_[5] = (1/3)*(M[2]+M[8]+M[6]);
M_[6] = (1/3)*(M[8]+M[10]+M[6]);
M_[7] = (1/3)*(M[8]+M[4]+M[10]);
M_[8] = (1/3)*(M[4]+M[1]+M[10]);
M_[9] = (1/3)*(M[4]+M[5]+M[1]);
M_[10] = (1/3)*(M[5]+M[11]+M[1]);
M_[11] = (1/3)*(M[5]+M[9]+M[11]);
M_[12] = (1/3)*(M[9]+M[7]+M[11]);
M_[13] = (1/3)*(M[9]+M[2]+M[7]);
M_[14] = (1/3)*(M[2]+M[6]+M[7]);
M_[15] = (1/3)*(M[3]+M[10]+M[1]);
M_[16] = (1/3)*(M[3]+M[1]+M[11]);
M_[17] = (1/3)*(M[3]+M[11]+M[7]);
M_[18] = (1/3)*(M[3]+M[7]+M[6]);
M_[19] = (1/3)*(M[3]+M[6]+M[10]);
guide3 penface_(int i0, int i1, int i2, int i3, int i4){
guide3 gh; gh=M_[i0-1]--M_[i1-1]--M_[i2-1]--M_[i3-1]--M_[i4-1]--cycle; return gh;};
dodecahedron[0]=penface_(5, 4, 3, 2, 1);
dodecahedron[1]=penface_(1, 2, 8, 7, 6);
dodecahedron[2]=penface_(2, 3, 10, 9, 8);
dodecahedron[3]=penface_(3, 4, 12, 11, 10);
dodecahedron[4]=penface_(4, 5, 14, 13, 12);
dodecahedron[5]=penface_(5, 1, 6, 15, 14);
dodecahedron[6]=penface_(16, 17, 18, 19, 20);
dodecahedron[7]=penface_(16, 20, 7, 8, 9);
dodecahedron[8]=penface_(9, 10, 11, 17, 16);
dodecahedron[9]=penface_(11, 12, 13, 18, 17);
dodecahedron[10]=penface_(6, 7, 20, 19, 15);
dodecahedron[11]=penface_(13, 14, 15, 19, 18);
// Adjust data such that the center is the triple (0,0,0) and such that the circumscribed ball has radius 1
dodecahedron=scale3(1/abs(point(dodecahedron[0],0)))*dodecahedron;
//End of Construction of dodecahedron
//End of construction of platonian solids
polyhedron truncTetraRight, cubooctahedron,
truncCube, truncOctahedron,
rhombiCuboocta, truncCuboocta,
snubCubeRight, snubCubeLeft,
icosDod, truncateDodeca,
truncIcos, rhombicosDodec,
snbDdcleft, snbDdcright,
greatRhombicosDodec;
//*** start of truncTetraRight ***
truncTetraRight[0]=
(-30.1511,-90.4534,-30.1511)--
(30.1511,-90.4534,30.1511)--
(30.1511,-30.1511,90.4534)--
(-30.1511,30.1511,90.4534)--
(-90.4534,30.1511,30.1511)--
(-90.4534,-30.1511,-30.1511)--
cycle;
truncTetraRight[1]=
(-30.1511,-90.4534,-30.1511)--
(30.1511,-90.4534,30.1511)--
(90.4534,-30.1511,30.1511)--
(90.4534,30.1511,-30.1511)--
(30.1511,30.1511,-90.4534)--
(-30.1511,-30.1511,-90.4534)--
cycle;
truncTetraRight[2]=
(30.1511,90.4534,-30.1511)--
(-30.1511,90.4534,30.1511)--
(-30.1511,30.1511,90.4534)--
(30.1511,-30.1511,90.4534)--
(90.4534,-30.1511,30.1511)--
(90.4534,30.1511,-30.1511)--
cycle;
truncTetraRight[3]=
(30.1511,90.4534,-30.1511)--
(-30.1511,90.4534,30.1511)--
(-90.4534,30.1511,30.1511)--
(-90.4534,-30.1511,-30.1511)--
(-30.1511,-30.1511,-90.4534)--
(30.1511,30.1511,-90.4534)--
cycle;
truncTetraRight[4]=
(-30.1511,-30.1511,-90.4534)--
(-30.1511,-90.4534,-30.1511)--
(-90.4534,-30.1511,-30.1511)--
cycle;
truncTetraRight[5]=
(30.1511,-30.1511,90.4534)--
(30.1511,-90.4534,30.1511)--
(90.4534,-30.1511,30.1511)--
cycle;
truncTetraRight[6]=
(30.1511,30.1511,-90.4534)--
(30.1511,90.4534,-30.1511)--
(90.4534,30.1511,-30.1511)--
cycle;
truncTetraRight[7]=
(-30.1511,30.1511,90.4534)--
(-30.1511,90.4534,30.1511)--
(-90.4534,30.1511,30.1511)--
cycle;
truncTetraRight=scale3(1/abs(point(truncTetraRight[0],0)))*truncTetraRight;
//*** end of truncTetraRight ***
//*** start of cubooctahedron ***
cubooctahedron[0]=
(70.7107,0,-70.7107)--
(70.7107,-70.7107,0)--
(70.7107,0,70.7107)--
(70.7107,70.7107,0)--
cycle;
cubooctahedron[1]=
(-70.7107,-70.7107,0)--
(-70.7107,0,70.7107)--
(-70.7107,70.7107,0)--
(-70.7107,0,-70.7107)--
cycle;
cubooctahedron[2]=
(0,70.7107,-70.7107)--
(-70.7107,0,-70.7107)--
(0,-70.7107,-70.7107)--
(70.7107,0,-70.7107)--
cycle;
cubooctahedron[3]=
(-70.7107,0,70.7107)--
(0,-70.7107,70.7107)--
(70.7107,0,70.7107)--
(0,70.7107,70.7107)--
cycle;
cubooctahedron[4]=
(70.7107,70.7107,0)--
(0,70.7107,70.7107)--
(-70.7107,70.7107,0)--
(0,70.7107,-70.7107)--
cycle;
cubooctahedron[5]=
(0,-70.7107,70.7107)--
(-70.7107,-70.7107,0)--
(0,-70.7107,-70.7107)--
(70.7107,-70.7107,0)--
cycle;
cubooctahedron[6]=
(70.7107,0,-70.7107)--
(0,70.7107,-70.7107)--
(70.7107,70.7107,0)--
cycle;
cubooctahedron[7]=
(70.7107,0,70.7107)--
(70.7107,70.7107,0)--
(0,70.7107,70.7107)--
cycle;
cubooctahedron[8]=
(0,70.7107,70.7107)--
(-70.7107,0,70.7107)--
(-70.7107,70.7107,0)--
cycle;
cubooctahedron[9]=
(-70.7107,70.7107,0)--
(-70.7107,0,-70.7107)--
(0,70.7107,-70.7107)--
cycle;
cubooctahedron[10]=
(-70.7107,-70.7107,0)--
(-70.7107,0,70.7107)--
(0,-70.7107,70.7107)--
cycle;
cubooctahedron[11]=
(-70.7107,0,-70.7107)--
(0,-70.7107,-70.7107)--
(-70.7107,-70.7107,0)--
cycle;
cubooctahedron[12]=
(70.7107,0,-70.7107)--
(70.7107,-70.7107,0)--
(0,-70.7107,-70.7107)--
cycle;
cubooctahedron[13]=
(0,-70.7107,70.7107)--
(70.7107,0,70.7107)--
(70.7107,-70.7107,0)--
cycle;
cubooctahedron=scale3(1/abs(point(cubooctahedron[0],0)))*cubooctahedron;
//*** end of cubooctahedron ***
//*** start of truncCube ***
truncCube[0]=
(67.8598,-28.1085,-67.8598)--
(67.8598,28.1085,-67.8598)--
(67.8598,67.8598,-28.1085)--
(67.8598,67.8598,28.1085)--
(67.8598,28.1085,67.8598)--
(67.8598,-28.1085,67.8598)--
(67.8598,-67.8598,28.1085)--
(67.8598,-67.8598,-28.1085)--
cycle;
truncCube[1]=
(-67.8598,-67.8598,28.1085)--
(-67.8598,-67.8598,-28.1085)--
(-67.8598,-28.1085,-67.8598)--
(-67.8598,28.1085,-67.8598)--
(-67.8598,67.8598,-28.1085)--
(-67.8598,67.8598,28.1085)--
(-67.8598,28.1085,67.8598)--
(-67.8598,-28.1085,67.8598)--
cycle;
truncCube[2]=
(-28.1085,67.8598,-67.8598)--
(28.1085,67.8598,-67.8598)--
(67.8598,28.1085,-67.8598)--
(67.8598,-28.1085,-67.8598)--
(28.1085,-67.8598,-67.8598)--
(-28.1085,-67.8598,-67.8598)--
(-67.8598,-28.1085,-67.8598)--
(-67.8598,28.1085,-67.8598)--
cycle;
truncCube[3]=
(-67.8598,-28.1085,67.8598)--
(-67.8598,28.1085,67.8598)--
(-28.1085,67.8598,67.8598)--
(28.1085,67.8598,67.8598)--
(67.8598,28.1085,67.8598)--
(67.8598,-28.1085,67.8598)--
(28.1085,-67.8598,67.8598)--
(-28.1085,-67.8598,67.8598)--
cycle;
truncCube[4]=
(67.8598,67.8598,-28.1085)--
(67.8598,67.8598,28.1085)--
(28.1085,67.8598,67.8598)--
(-28.1085,67.8598,67.8598)--
(-67.8598,67.8598,28.1085)--
(-67.8598,67.8598,-28.1085)--
(-28.1085,67.8598,-67.8598)--
(28.1085,67.8598,-67.8598)--
cycle;
truncCube[5]=
(28.1085,-67.8598,67.8598)--
(-28.1085,-67.8598,67.8598)--
(-67.8598,-67.8598,28.1085)--
(-67.8598,-67.8598,-28.1085)--
(-28.1085,-67.8598,-67.8598)--
(28.1085,-67.8598,-67.8598)--
(67.8598,-67.8598,-28.1085)--
(67.8598,-67.8598,28.1085)--
cycle;
truncCube[6]=
(28.1085,67.8598,-67.8598)--
(67.8598,28.1085,-67.8598)--
(67.8598,67.8598,-28.1085)--
cycle;
truncCube[7]=
(67.8598,67.8598,28.1085)--
(67.8598,28.1085,67.8598)--
(28.1085,67.8598,67.8598)--
cycle;
truncCube[8]=
(-28.1085,67.8598,67.8598)--
(-67.8598,28.1085,67.8598)--
(-67.8598,67.8598,28.1085)--
cycle;
truncCube[9]=
(-67.8598,67.8598,-28.1085)--
(-67.8598,28.1085,-67.8598)--
(-28.1085,67.8598,-67.8598)--
cycle;
truncCube[10]=
(-67.8598,-67.8598,28.1085)--
(-67.8598,-28.1085,67.8598)--
(-28.1085,-67.8598,67.8598)--
cycle;
truncCube[11]=
(-28.1085,-67.8598,-67.8598)--
(-67.8598,-28.1085,-67.8598)--
(-67.8598,-67.8598,-28.1085)--
cycle;
truncCube[12]=
(67.8598,-67.8598,-28.1085)--
(67.8598,-28.1085,-67.8598)--
(28.1085,-67.8598,-67.8598)--
cycle;
truncCube[13]=
(28.1085,-67.8598,67.8598)--
(67.8598,-28.1085,67.8598)--
(67.8598,-67.8598,28.1085)--
cycle;
truncCube=scale3(1/abs(point(truncCube[0],0)))*truncCube;
//*** end of truncCube ***
//*** start of truncOctahedron ***
truncOctahedron[0]=
(89.4427,0,-44.7214)--
(89.4427,-44.7214,0)--
(89.4427,0,44.7214)--
(89.4427,44.7214,0)--
cycle;
truncOctahedron[1]=
(-89.4427,-44.7214,0)--
(-89.4427,0,44.7214)--
(-89.4427,44.7214,0)--
(-89.4427,0,-44.7214)--
cycle;
truncOctahedron[2]=
(0,44.7214,-89.4427)--
(-44.7214,0,-89.4427)--
(0,-44.7214,-89.4427)--
(44.7214,0,-89.4427)--
cycle;
truncOctahedron[3]=
(-44.7214,0,89.4427)--
(0,-44.7214,89.4427)--
(44.7214,0,89.4427)--
(0,44.7214,89.4427)--
cycle;
truncOctahedron[4]=
(44.7214,89.4427,0)--
(0,89.4427,44.7214)--
(-44.7214,89.4427,0)--
(0,89.4427,-44.7214)--
cycle;
truncOctahedron[5]=
(0,-89.4427,44.7214)--
(-44.7214,-89.4427,0)--
(0,-89.4427,-44.7214)--
(44.7214,-89.4427,0)--
cycle;
truncOctahedron[6]=
(0,89.4427,-44.7214)--
(0,44.7214,-89.4427)--
(44.7214,0,-89.4427)--
(89.4427,0,-44.7214)--
(89.4427,44.7214,0)--
(44.7214,89.4427,0)--
cycle;
truncOctahedron[7]=
(44.7214,89.4427,0)--
(89.4427,44.7214,0)--
(89.4427,0,44.7214)--
(44.7214,0,89.4427)--
(0,44.7214,89.4427)--
(0,89.4427,44.7214)--
cycle;
truncOctahedron[8]=
(0,89.4427,44.7214)--
(0,44.7214,89.4427)--
(-44.7214,0,89.4427)--
(-89.4427,0,44.7214)--
(-89.4427,44.7214,0)--
(-44.7214,89.4427,0)--
cycle;
truncOctahedron[9]=
(-44.7214,89.4427,0)--
(-89.4427,44.7214,0)--
(-89.4427,0,-44.7214)--
(-44.7214,0,-89.4427)--
(0,44.7214,-89.4427)--
(0,89.4427,-44.7214)--
cycle;
truncOctahedron[10]=
(-44.7214,-89.4427,0)--
(-89.4427,-44.7214,0)--
(-89.4427,0,44.7214)--
(-44.7214,0,89.4427)--
(0,-44.7214,89.4427)--
(0,-89.4427,44.7214)--
cycle;
truncOctahedron[11]=
(0,-89.4427,-44.7214)--
(0,-44.7214,-89.4427)--
(-44.7214,0,-89.4427)--
(-89.4427,0,-44.7214)--
(-89.4427,-44.7214,0)--
(-44.7214,-89.4427,0)--
cycle;
truncOctahedron[12]=
(44.7214,-89.4427,0)--
(89.4427,-44.7214,0)--
(89.4427,0,-44.7214)--
(44.7214,0,-89.4427)--
(0,-44.7214,-89.4427)--
(0,-89.4427,-44.7214)--
cycle;
truncOctahedron[13]=
(0,-89.4427,44.7214)--
(0,-44.7214,89.4427)--
(44.7214,0,89.4427)--
(89.4427,0,44.7214)--
(89.4427,-44.7214,0)--
(44.7214,-89.4427,0)--
cycle;
truncOctahedron=scale3(1/abs(point(truncOctahedron[0],0)))*truncOctahedron;
//*** end of truncOctahedron ***
//*** start of rhombiCuboocta ***
rhombiCuboocta[0]=
(86.2856,35.7407,-35.7407)--
(86.2856,-35.7407,-35.7407)--
(86.2856,-35.7407,35.7407)--
(86.2856,35.7407,35.7407)--
cycle;
rhombiCuboocta[1]=
(-86.2856,-35.7407,-35.7407)--
(-86.2856,-35.7407,35.7407)--
(-86.2856,35.7407,35.7407)--
(-86.2856,35.7407,-35.7407)--
cycle;
rhombiCuboocta[2]=
(35.7407,35.7407,-86.2856)--
(-35.7407,35.7407,-86.2856)--
(-35.7407,-35.7407,-86.2856)--
(35.7407,-35.7407,-86.2856)--
cycle;
rhombiCuboocta[3]=
(-35.7407,35.7407,86.2856)--
(-35.7407,-35.7407,86.2856)--
(35.7407,-35.7407,86.2856)--
(35.7407,35.7407,86.2856)--
cycle;
rhombiCuboocta[4]=
(35.7407,86.2856,-35.7407)--
(35.7407,86.2856,35.7407)--
(-35.7407,86.2856,35.7407)--
(-35.7407,86.2856,-35.7407)--
cycle;
rhombiCuboocta[5]=
(35.7407,-86.2856,35.7407)--
(-35.7407,-86.2856,35.7407)--
(-35.7407,-86.2856,-35.7407)--
(35.7407,-86.2856,-35.7407)--
cycle;
rhombiCuboocta[6]=
(35.7407,86.2856,-35.7407)--
(35.7407,35.7407,-86.2856)--
(86.2856,35.7407,-35.7407)--
cycle;
rhombiCuboocta[7]=
(35.7407,86.2856,35.7407)--
(86.2856,35.7407,35.7407)--
(35.7407,35.7407,86.2856)--
cycle;
rhombiCuboocta[8]=
(-35.7407,86.2856,35.7407)--
(-35.7407,35.7407,86.2856)--
(-86.2856,35.7407,35.7407)--
cycle;
rhombiCuboocta[9]=
(-35.7407,86.2856,-35.7407)--
(-86.2856,35.7407,-35.7407)--
(-35.7407,35.7407,-86.2856)--
cycle;
rhombiCuboocta[10]=
(-35.7407,-86.2856,35.7407)--
(-86.2856,-35.7407,35.7407)--
(-35.7407,-35.7407,86.2856)--
cycle;
rhombiCuboocta[11]=
(-35.7407,-86.2856,-35.7407)--
(-35.7407,-35.7407,-86.2856)--
(-86.2856,-35.7407,-35.7407)--
cycle;
rhombiCuboocta[12]=
(35.7407,-86.2856,-35.7407)--
(86.2856,-35.7407,-35.7407)--
(35.7407,-35.7407,-86.2856)--
cycle;
rhombiCuboocta[13]=
(35.7407,-86.2856,35.7407)--
(35.7407,-35.7407,86.2856)--
(86.2856,-35.7407,35.7407)--
cycle;
rhombiCuboocta[14]=
(86.2856,-35.7407,-35.7407)--
(35.7407,-35.7407,-86.2856)--
(35.7407,35.7407,-86.2856)--
(86.2856,35.7407,-35.7407)--
cycle;
rhombiCuboocta[15]=
(35.7407,-35.7407,86.2856)--
(86.2856,-35.7407,35.7407)--
(86.2856,35.7407,35.7407)--
(35.7407,35.7407,86.2856)--
cycle;
rhombiCuboocta[16]=
(-86.2856,-35.7407,35.7407)--
(-35.7407,-35.7407,86.2856)--
(-35.7407,35.7407,86.2856)--
(-86.2856,35.7407,35.7407)--
cycle;
rhombiCuboocta[17]=
(-35.7407,-35.7407,-86.2856)--
(-86.2856,-35.7407,-35.7407)--
(-86.2856,35.7407,-35.7407)--
(-35.7407,35.7407,-86.2856)--
cycle;
rhombiCuboocta[18]=
(86.2856,35.7407,-35.7407)--
(35.7407,86.2856,-35.7407)--
(35.7407,86.2856,35.7407)--
(86.2856,35.7407,35.7407)--
cycle;
rhombiCuboocta[19]=
(35.7407,35.7407,86.2856)--
(35.7407,86.2856,35.7407)--
(-35.7407,86.2856,35.7407)--
(-35.7407,35.7407,86.2856)--
cycle;
rhombiCuboocta[20]=
(-86.2856,35.7407,35.7407)--
(-35.7407,86.2856,35.7407)--
(-35.7407,86.2856,-35.7407)--
(-86.2856,35.7407,-35.7407)--
cycle;
rhombiCuboocta[21]=
(-35.7407,35.7407,-86.2856)--
(-35.7407,86.2856,-35.7407)--
(35.7407,86.2856,-35.7407)--
(35.7407,35.7407,-86.2856)--
cycle;
rhombiCuboocta[22]=
(-86.2856,-35.7407,-35.7407)--
(-35.7407,-86.2856,-35.7407)--
(-35.7407,-86.2856,35.7407)--
(-86.2856,-35.7407,35.7407)--
cycle;
rhombiCuboocta[23]=
(35.7407,-35.7407,-86.2856)--
(35.7407,-86.2856,-35.7407)--
(-35.7407,-86.2856,-35.7407)--
(-35.7407,-35.7407,-86.2856)--
cycle;
rhombiCuboocta[24]=
(86.2856,-35.7407,35.7407)--
(35.7407,-86.2856,35.7407)--
(35.7407,-86.2856,-35.7407)--
(86.2856,-35.7407,-35.7407)--
cycle;
rhombiCuboocta[25]=
(-35.7407,-35.7407,86.2856)--
(-35.7407,-86.2856,35.7407)--
(35.7407,-86.2856,35.7407)--
(35.7407,-35.7407,86.2856)--
cycle;
rhombiCuboocta=scale3(1/abs(point(rhombiCuboocta[0],0)))*rhombiCuboocta;
//*** end of rhombiCuboocta ***
//*** start of truncCuboocta ***
truncCuboocta[0]=
(82.5943,21.5739,-52.0841)--
(82.5943,-21.5739,-52.0841)--
(82.5943,-52.0841,-21.5739)--
(82.5943,-52.0841,21.5739)--
(82.5943,-21.5739,52.0841)--
(82.5943,21.5739,52.0841)--
(82.5943,52.0841,21.5739)--
(82.5943,52.0841,-21.5739)--
cycle;
truncCuboocta[1]=
(-82.5943,-52.0841,21.5739)--
(-82.5943,-21.5739,52.0841)--
(-82.5943,21.5739,52.0841)--
(-82.5943,52.0841,21.5739)--
(-82.5943,52.0841,-21.5739)--
(-82.5943,21.5739,-52.0841)--
(-82.5943,-21.5739,-52.0841)--
(-82.5943,-52.0841,-21.5739)--
cycle;
truncCuboocta[2]=
(21.5739,52.0841,-82.5943)--
(-21.5739,52.0841,-82.5943)--
(-52.0841,21.5739,-82.5943)--
(-52.0841,-21.5739,-82.5943)--
(-21.5739,-52.0841,-82.5943)--
(21.5739,-52.0841,-82.5943)--
(52.0841,-21.5739,-82.5943)--
(52.0841,21.5739,-82.5943)--
cycle;
truncCuboocta[3]=
(-52.0841,-21.5739,82.5943)--
(-21.5739,-52.0841,82.5943)--
(21.5739,-52.0841,82.5943)--
(52.0841,-21.5739,82.5943)--
(52.0841,21.5739,82.5943)--
(21.5739,52.0841,82.5943)--
(-21.5739,52.0841,82.5943)--
(-52.0841,21.5739,82.5943)--
cycle;
truncCuboocta[4]=
(52.0841,82.5943,-21.5739)--
(52.0841,82.5943,21.5739)--
(21.5739,82.5943,52.0841)--
(-21.5739,82.5943,52.0841)--
(-52.0841,82.5943,21.5739)--
(-52.0841,82.5943,-21.5739)--
(-21.5739,82.5943,-52.0841)--
(21.5739,82.5943,-52.0841)--
cycle;
truncCuboocta[5]=
(-21.5739,-82.5943,52.0841)--
(-52.0841,-82.5943,21.5739)--
(-52.0841,-82.5943,-21.5739)--
(-21.5739,-82.5943,-52.0841)--
(21.5739,-82.5943,-52.0841)--
(52.0841,-82.5943,-21.5739)--
(52.0841,-82.5943,21.5739)--
(21.5739,-82.5943,52.0841)--
cycle;
truncCuboocta[6]=
(21.5739,52.0841,-82.5943)--
(21.5739,82.5943,-52.0841)--
(52.0841,82.5943,-21.5739)--
(82.5943,52.0841,-21.5739)--
(82.5943,21.5739,-52.0841)--
(52.0841,21.5739,-82.5943)--
cycle;
truncCuboocta[7]=
(82.5943,52.0841,21.5739)--
(52.0841,82.5943,21.5739)--
(21.5739,82.5943,52.0841)--
(21.5739,52.0841,82.5943)--
(52.0841,21.5739,82.5943)--
(82.5943,21.5739,52.0841)--
cycle;
truncCuboocta[8]=
(-21.5739,52.0841,82.5943)--
(-21.5739,82.5943,52.0841)--
(-52.0841,82.5943,21.5739)--
(-82.5943,52.0841,21.5739)--
(-82.5943,21.5739,52.0841)--
(-52.0841,21.5739,82.5943)--
cycle;
truncCuboocta[9]=
(-82.5943,52.0841,-21.5739)--
(-52.0841,82.5943,-21.5739)--
(-21.5739,82.5943,-52.0841)--
(-21.5739,52.0841,-82.5943)--
(-52.0841,21.5739,-82.5943)--
(-82.5943,21.5739,-52.0841)--
cycle;
truncCuboocta[10]=
(-82.5943,-52.0841,21.5739)--
(-52.0841,-82.5943,21.5739)--
(-21.5739,-82.5943,52.0841)--
(-21.5739,-52.0841,82.5943)--
(-52.0841,-21.5739,82.5943)--
(-82.5943,-21.5739,52.0841)--
cycle;
truncCuboocta[11]=
(-21.5739,-52.0841,-82.5943)--
(-21.5739,-82.5943,-52.0841)--
(-52.0841,-82.5943,-21.5739)--
(-82.5943,-52.0841,-21.5739)--
(-82.5943,-21.5739,-52.0841)--
(-52.0841,-21.5739,-82.5943)--
cycle;
truncCuboocta[12]=
(82.5943,-52.0841,-21.5739)--
(52.0841,-82.5943,-21.5739)--
(21.5739,-82.5943,-52.0841)--
(21.5739,-52.0841,-82.5943)--
(52.0841,-21.5739,-82.5943)--
(82.5943,-21.5739,-52.0841)--
cycle;
truncCuboocta[13]=
(21.5739,-52.0841,82.5943)--
(21.5739,-82.5943,52.0841)--
(52.0841,-82.5943,21.5739)--
(82.5943,-52.0841,21.5739)--
(82.5943,-21.5739,52.0841)--
(52.0841,-21.5739,82.5943)--
cycle;
truncCuboocta[14]=
(52.0841,-21.5739,-82.5943)--
(82.5943,-21.5739,-52.0841)--
(82.5943,21.5739,-52.0841)--
(52.0841,21.5739,-82.5943)--
cycle;
truncCuboocta[15]=
(82.5943,-21.5739,52.0841)--
(52.0841,-21.5739,82.5943)--
(52.0841,21.5739,82.5943)--
(82.5943,21.5739,52.0841)--
cycle;
truncCuboocta[16]=
(-52.0841,-21.5739,82.5943)--
(-82.5943,-21.5739,52.0841)--
(-82.5943,21.5739,52.0841)--
(-52.0841,21.5739,82.5943)--
cycle;
truncCuboocta[17]=
(-82.5943,-21.5739,-52.0841)--
(-52.0841,-21.5739,-82.5943)--
(-52.0841,21.5739,-82.5943)--
(-82.5943,21.5739,-52.0841)--
cycle;
truncCuboocta[18]=
(52.0841,82.5943,-21.5739)--
(82.5943,52.0841,-21.5739)--
(82.5943,52.0841,21.5739)--
(52.0841,82.5943,21.5739)--
cycle;
truncCuboocta[19]=
(21.5739,82.5943,52.0841)--
(21.5739,52.0841,82.5943)--
(-21.5739,52.0841,82.5943)--
(-21.5739,82.5943,52.0841)--
cycle;
truncCuboocta[20]=
(-52.0841,82.5943,21.5739)--
(-82.5943,52.0841,21.5739)--
(-82.5943,52.0841,-21.5739)--
(-52.0841,82.5943,-21.5739)--
cycle;
truncCuboocta[21]=
(-21.5739,82.5943,-52.0841)--
(-21.5739,52.0841,-82.5943)--
(21.5739,52.0841,-82.5943)--
(21.5739,82.5943,-52.0841)--
cycle;
truncCuboocta[22]=
(-52.0841,-82.5943,-21.5739)--
(-82.5943,-52.0841,-21.5739)--
(-82.5943,-52.0841,21.5739)--
(-52.0841,-82.5943,21.5739)--
cycle;
truncCuboocta[23]=
(21.5739,-82.5943,-52.0841)--
(21.5739,-52.0841,-82.5943)--
(-21.5739,-52.0841,-82.5943)--
(-21.5739,-82.5943,-52.0841)--
cycle;
truncCuboocta[24]=
(52.0841,-82.5943,21.5739)--
(82.5943,-52.0841,21.5739)--
(82.5943,-52.0841,-21.5739)--
(52.0841,-82.5943,-21.5739)--
cycle;
truncCuboocta[25]=
(-21.5739,-82.5943,52.0841)--
(-21.5739,-52.0841,82.5943)--
(21.5739,-52.0841,82.5943)--
(21.5739,-82.5943,52.0841)--
cycle;
truncCuboocta=scale3(1/abs(point(truncCuboocta[0],0)))*truncCuboocta;
//*** end of truncCuboocta ***
//*** start of snubCubeRight ***
snubCubeRight[0]=
(-85.0284,-25.112,-46.2554)--
(-85.0284,-46.2554,25.112)--
(-85.0284,25.112,46.2554)--
(-85.0284,46.2554,-25.112)--
cycle;
snubCubeRight[1]=
(85.0284,25.112,-46.2554)--
(85.0284,-46.2554,-25.112)--
(85.0284,-25.112,46.2554)--
(85.0284,46.2554,25.112)--
cycle;
snubCubeRight[2]=
(-25.112,46.2554,85.0284)--
(-46.2554,-25.112,85.0284)--
(25.112,-46.2554,85.0284)--
(46.2554,25.112,85.0284)--
cycle;
snubCubeRight[3]=
(25.112,46.2554,-85.0284)--
(-46.2554,25.112,-85.0284)--
(-25.112,-46.2554,-85.0284)--
(46.2554,-25.112,-85.0284)--
cycle;
snubCubeRight[4]=
(46.2554,-85.0284,25.112)--
(-25.112,-85.0284,46.2554)--
(-46.2554,-85.0284,-25.112)--
(25.112,-85.0284,-46.2554)--
cycle;
snubCubeRight[5]=
(46.2554,85.0284,-25.112)--
(25.112,85.0284,46.2554)--
(-46.2554,85.0284,25.112)--
(-25.112,85.0284,-46.2554)--
cycle;
snubCubeRight[6]=
(-85.0284,-46.2554,25.112)--
(-25.112,-85.0284,46.2554)--
(-46.2554,-25.112,85.0284)--
cycle;
snubCubeRight[7]=
(-25.112,-46.2554,-85.0284)--
(-46.2554,-85.0284,-25.112)--
(-85.0284,-25.112,-46.2554)--
cycle;
snubCubeRight[8]=
(85.0284,-46.2554,-25.112)--
(25.112,-85.0284,-46.2554)--
(46.2554,-25.112,-85.0284)--
cycle;
snubCubeRight[9]=
(25.112,-46.2554,85.0284)--
(46.2554,-85.0284,25.112)--
(85.0284,-25.112,46.2554)--
cycle;
snubCubeRight[10]=
(25.112,46.2554,-85.0284)--
(46.2554,85.0284,-25.112)--
(85.0284,25.112,-46.2554)--
cycle;
snubCubeRight[11]=
(85.0284,46.2554,25.112)--
(25.112,85.0284,46.2554)--
(46.2554,25.112,85.0284)--
cycle;
snubCubeRight[12]=
(-25.112,46.2554,85.0284)--
(-46.2554,85.0284,25.112)--
(-85.0284,25.112,46.2554)--
cycle;
snubCubeRight[13]=
(-85.0284,46.2554,-25.112)--
(-25.112,85.0284,-46.2554)--
(-46.2554,25.112,-85.0284)--
cycle;
snubCubeRight[14]=
(-46.2554,-25.112,85.0284)--
(-85.0284,-46.2554,25.112)--
(-85.0284,25.112,46.2554)--
cycle;
snubCubeRight[15]=
(-85.0284,25.112,46.2554)--
(-25.112,46.2554,85.0284)--
(-46.2554,-25.112,85.0284)--
cycle;
snubCubeRight[16]=
(-85.0284,-25.112,-46.2554)--
(-25.112,-46.2554,-85.0284)--
(-46.2554,25.112,-85.0284)--
cycle;
snubCubeRight[17]=
(-46.2554,25.112,-85.0284)--
(-85.0284,46.2554,-25.112)--
(-85.0284,-25.112,-46.2554)--
cycle;
snubCubeRight[18]=
(46.2554,-25.112,-85.0284)--
(85.0284,-46.2554,-25.112)--
(85.0284,25.112,-46.2554)--
cycle;
snubCubeRight[19]=
(85.0284,25.112,-46.2554)--
(25.112,46.2554,-85.0284)--
(46.2554,-25.112,-85.0284)--
cycle;
snubCubeRight[20]=
(85.0284,-25.112,46.2554)--
(25.112,-46.2554,85.0284)--
(46.2554,25.112,85.0284)--
cycle;
snubCubeRight[21]=
(46.2554,25.112,85.0284)--
(85.0284,46.2554,25.112)--
(85.0284,-25.112,46.2554)--
cycle;
snubCubeRight[22]=
(-85.0284,-46.2554,25.112)--
(-25.112,-85.0284,46.2554)--
(-46.2554,-85.0284,-25.112)--
cycle;
snubCubeRight[23]=
(-46.2554,-85.0284,-25.112)--
(-85.0284,-25.112,-46.2554)--
(-85.0284,-46.2554,25.112)--
cycle;
snubCubeRight[24]=
(-25.112,-46.2554,-85.0284)--
(-46.2554,-85.0284,-25.112)--
(25.112,-85.0284,-46.2554)--
cycle;
snubCubeRight[25]=
(25.112,-85.0284,-46.2554)--
(46.2554,-25.112,-85.0284)--
(-25.112,-46.2554,-85.0284)--
cycle;
snubCubeRight[26]=
(85.0284,-46.2554,-25.112)--
(25.112,-85.0284,-46.2554)--
(46.2554,-85.0284,25.112)--
cycle;
snubCubeRight[27]=
(46.2554,-85.0284,25.112)--
(85.0284,-25.112,46.2554)--
(85.0284,-46.2554,-25.112)--
cycle;
snubCubeRight[28]=
(25.112,-46.2554,85.0284)--
(46.2554,-85.0284,25.112)--
(-25.112,-85.0284,46.2554)--
cycle;
snubCubeRight[29]=
(-25.112,-85.0284,46.2554)--
(-46.2554,-25.112,85.0284)--
(25.112,-46.2554,85.0284)--
cycle;
snubCubeRight[30]=
(85.0284,46.2554,25.112)--
(25.112,85.0284,46.2554)--
(46.2554,85.0284,-25.112)--
cycle;
snubCubeRight[31]=
(46.2554,85.0284,-25.112)--
(85.0284,25.112,-46.2554)--
(85.0284,46.2554,25.112)--
cycle;
snubCubeRight[32]=
(-25.112,46.2554,85.0284)--
(-46.2554,85.0284,25.112)--
(25.112,85.0284,46.2554)--
cycle;
snubCubeRight[33]=
(25.112,85.0284,46.2554)--
(46.2554,25.112,85.0284)--
(-25.112,46.2554,85.0284)--
cycle;
snubCubeRight[34]=
(-85.0284,46.2554,-25.112)--
(-25.112,85.0284,-46.2554)--
(-46.2554,85.0284,25.112)--
cycle;
snubCubeRight[35]=
(-46.2554,85.0284,25.112)--
(-85.0284,25.112,46.2554)--
(-85.0284,46.2554,-25.112)--
cycle;
snubCubeRight[36]=
(25.112,46.2554,-85.0284)--
(46.2554,85.0284,-25.112)--
(-25.112,85.0284,-46.2554)--
cycle;
snubCubeRight[37]=
(-25.112,85.0284,-46.2554)--
(-46.2554,25.112,-85.0284)--
(25.112,46.2554,-85.0284)--
cycle;
snubCubeRight=scale3(1/abs(point(snubCubeRight[0],0)))*snubCubeRight;
//*** end of snubCubeRight ***
//*** start of snubCubeLeft ***
snubCubeLeft[0]=
(183.824,100,-54.2898)--
(183.824,-54.2898,-100)--
(183.824,-100,54.2898)--
(183.824,54.2898,100)--
cycle;
snubCubeLeft[1]=
(-183.824,-100,-54.2898)--
(-183.824,-54.2898,100)--
(-183.824,100,54.2898)--
(-183.824,54.2898,-100)--
cycle;
snubCubeLeft[2]=
(100,54.2898,-183.824)--
(-54.2898,100,-183.824)--
(-100,-54.2898,-183.824)--
(54.2898,-100,-183.824)--
cycle;
snubCubeLeft[3]=
(-100,54.2898,183.824)--
(-54.2898,-100,183.824)--
(100,-54.2898,183.824)--
(54.2898,100,183.824)--
cycle;
snubCubeLeft[4]=
(54.2898,183.824,-100)--
(100,183.824,54.2898)--
(-54.2898,183.824,100)--
(-100,183.824,-54.2898)--
cycle;
snubCubeLeft[5]=
(54.2898,-183.824,100)--
(-100,-183.824,54.2898)--
(-54.2898,-183.824,-100)--
(100,-183.824,-54.2898)--
cycle;
snubCubeLeft[6]=
(54.2898,183.824,-100)--
(100,54.2898,-183.824)--
(183.824,100,-54.2898)--
cycle;
snubCubeLeft[7]=
(100,183.824,54.2898)--
(183.824,54.2898,100)--
(54.2898,100,183.824)--
cycle;
snubCubeLeft[8]=
(-54.2898,183.824,100)--
(-100,54.2898,183.824)--
(-183.824,100,54.2898)--
cycle;
snubCubeLeft[9]=
(-100,183.824,-54.2898)--
(-183.824,54.2898,-100)--
(-54.2898,100,-183.824)--
cycle;
snubCubeLeft[10]=
(-100,-183.824,54.2898)--
(-183.824,-54.2898,100)--
(-54.2898,-100,183.824)--
cycle;
snubCubeLeft[11]=
(-54.2898,-183.824,-100)--
(-100,-54.2898,-183.824)--
(-183.824,-100,-54.2898)--
cycle;
snubCubeLeft[12]=
(100,-183.824,-54.2898)--
(183.824,-54.2898,-100)--
(54.2898,-100,-183.824)--
cycle;
snubCubeLeft[13]=
(54.2898,-183.824,100)--
(100,-54.2898,183.824)--
(183.824,-100,54.2898)--
cycle;
snubCubeLeft[14]=
(183.824,-54.2898,-100)--
(100,54.2898,-183.824)--
(183.824,100,-54.2898)--
cycle;
snubCubeLeft[15]=
(183.824,-54.2898,-100)--
(100,54.2898,-183.824)--
(54.2898,-100,-183.824)--
cycle;
snubCubeLeft[16]=
(100,-54.2898,183.824)--
(183.824,54.2898,100)--
(54.2898,100,183.824)--
cycle;
snubCubeLeft[17]=
(100,-54.2898,183.824)--
(183.824,54.2898,100)--
(183.824,-100,54.2898)--
cycle;
snubCubeLeft[18]=
(-183.824,-54.2898,100)--
(-100,54.2898,183.824)--
(-183.824,100,54.2898)--
cycle;
snubCubeLeft[19]=
(-183.824,-54.2898,100)--
(-100,54.2898,183.824)--
(-54.2898,-100,183.824)--
cycle;
snubCubeLeft[20]=
(-100,-54.2898,-183.824)--
(-183.824,54.2898,-100)--
(-54.2898,100,-183.824)--
cycle;
snubCubeLeft[21]=
(-100,-54.2898,-183.824)--
(-183.824,54.2898,-100)--
(-183.824,-100,-54.2898)--
cycle;
snubCubeLeft[22]=
(100,183.824,54.2898)--
(183.824,100,-54.2898)--
(54.2898,183.824,-100)--
cycle;
snubCubeLeft[23]=
(100,183.824,54.2898)--
(183.824,100,-54.2898)--
(183.824,54.2898,100)--
cycle;
snubCubeLeft[24]=
(-54.2898,183.824,100)--
(54.2898,100,183.824)--
(100,183.824,54.2898)--
cycle;
snubCubeLeft[25]=
(-54.2898,183.824,100)--
(54.2898,100,183.824)--
(-100,54.2898,183.824)--
cycle;
snubCubeLeft[26]=
(-100,183.824,-54.2898)--
(-183.824,100,54.2898)--
(-54.2898,183.824,100)--
cycle;
snubCubeLeft[27]=
(-100,183.824,-54.2898)--
(-183.824,100,54.2898)--
(-183.824,54.2898,-100)--
cycle;
snubCubeLeft[28]=
(54.2898,183.824,-100)--
(-54.2898,100,-183.824)--
(-100,183.824,-54.2898)--
cycle;
snubCubeLeft[29]=
(54.2898,183.824,-100)--
(-54.2898,100,-183.824)--
(100,54.2898,-183.824)--
cycle;
snubCubeLeft[30]=
(-100,-183.824,54.2898)--
(-183.824,-100,-54.2898)--
(-54.2898,-183.824,-100)--
cycle;
snubCubeLeft[31]=
(-100,-183.824,54.2898)--
(-183.824,-100,-54.2898)--
(-183.824,-54.2898,100)--
cycle;
snubCubeLeft[32]=
(-54.2898,-183.824,-100)--
(54.2898,-100,-183.824)--
(100,-183.824,-54.2898)--
cycle;
snubCubeLeft[33]=
(-54.2898,-183.824,-100)--
(54.2898,-100,-183.824)--
(-100,-54.2898,-183.824)--
cycle;
snubCubeLeft[34]=
(100,-183.824,-54.2898)--
(183.824,-100,54.2898)--
(54.2898,-183.824,100)--
cycle;
snubCubeLeft[35]=
(100,-183.824,-54.2898)--
(183.824,-100,54.2898)--
(183.824,-54.2898,-100)--
cycle;
snubCubeLeft[36]=
(54.2898,-183.824,100)--
(-54.2898,-100,183.824)--
(-100,-183.824,54.2898)--
cycle;
snubCubeLeft[37]=
(54.2898,-183.824,100)--
(-54.2898,-100,183.824)--
(100,-54.2898,183.824)--
cycle;
snubCubeLeft=scale3(1/abs(point(snubCubeLeft[0],0)))*snubCubeLeft;
//*** end of snubCubeLeft ***
//*** start of icosDod ***
icosDod[0]=
(30.9017,50,-80.9017)--
(0,0,-100)--
(30.9017,-50,-80.9017)--
(80.9017,-30.9017,-50)--
(80.9017,30.9017,-50)--
cycle;
icosDod[1]=
(30.9017,-50,80.9017)--
(0,0,100)--
(30.9017,50,80.9017)--
(80.9017,30.9017,50)--
(80.9017,-30.9017,50)--
cycle;
icosDod[2]=
(-80.9017,-30.9017,50)--
(-80.9017,30.9017,50)--
(-30.9017,50,80.9017)--
(0,0,100)--
(-30.9017,-50,80.9017)--
cycle;
icosDod[3]=
(-80.9017,30.9017,-50)--
(-80.9017,-30.9017,-50)--
(-30.9017,-50,-80.9017)--
(0,0,-100)--
(-30.9017,50,-80.9017)--
cycle;
icosDod[4]=
(50,80.9017,30.9017)--
(50,80.9017,-30.9017)--
(80.9017,30.9017,-50)--
(100,0,0)--
(80.9017,30.9017,50)--
cycle;
icosDod[5]=
(30.9017,50,80.9017)--
(-30.9017,50,80.9017)--
(-50,80.9017,30.9017)--
(0,100,0)--
(50,80.9017,30.9017)--
cycle;
icosDod[6]=
(-50,80.9017,30.9017)--
(-80.9017,30.9017,50)--
(-100,0,0)--
(-80.9017,30.9017,-50)--
(-50,80.9017,-30.9017)--
cycle;
icosDod[7]=
(-30.9017,50,-80.9017)--
(30.9017,50,-80.9017)--
(50,80.9017,-30.9017)--
(0,100,0)--
(-50,80.9017,-30.9017)--
cycle;
icosDod[8]=
(-50,-80.9017,-30.9017)--
(-80.9017,-30.9017,-50)--
(-100,0,0)--
(-80.9017,-30.9017,50)--
(-50,-80.9017,30.9017)--
cycle;
icosDod[9]=
(30.9017,-50,-80.9017)--
(-30.9017,-50,-80.9017)--
(-50,-80.9017,-30.9017)--
(0,-100,0)--
(50,-80.9017,-30.9017)--
cycle;
icosDod[10]=
(50,-80.9017,-30.9017)--
(50,-80.9017,30.9017)--
(80.9017,-30.9017,50)--
(100,0,0)--
(80.9017,-30.9017,-50)--
cycle;
icosDod[11]=
(-30.9017,-50,80.9017)--
(30.9017,-50,80.9017)--
(50,-80.9017,30.9017)--
(0,-100,0)--
(-50,-80.9017,30.9017)--
cycle;
icosDod[12]=
(80.9017,30.9017,-50)--
(30.9017,50,-80.9017)--
(50,80.9017,-30.9017)--
cycle;
icosDod[13]=
(30.9017,50,80.9017)--
(80.9017,30.9017,50)--
(50,80.9017,30.9017)--
cycle;
icosDod[14]=
(-80.9017,30.9017,50)--
(-30.9017,50,80.9017)--
(-50,80.9017,30.9017)--
cycle;
icosDod[15]=
(-30.9017,50,-80.9017)--
(-80.9017,30.9017,-50)--
(-50,80.9017,-30.9017)--
cycle;
icosDod[16]=
(-30.9017,-50,80.9017)--
(-80.9017,-30.9017,50)--
(-50,-80.9017,30.9017)--
cycle;
icosDod[17]=
(-30.9017,-50,-80.9017)--
(-50,-80.9017,-30.9017)--
(-80.9017,-30.9017,-50)--
cycle;
icosDod[18]=
(80.9017,-30.9017,-50)--
(50,-80.9017,-30.9017)--
(30.9017,-50,-80.9017)--
cycle;
icosDod[19]=
(30.9017,-50,80.9017)--
(50,-80.9017,30.9017)--
(80.9017,-30.9017,50)--
cycle;
icosDod[20]=
(80.9017,-30.9017,-50)--
(80.9017,30.9017,-50)--
(100,0,0)--
cycle;
icosDod[21]=
(80.9017,30.9017,50)--
(80.9017,-30.9017,50)--
(100,0,0)--
cycle;
icosDod[22]=
(-80.9017,-30.9017,50)--
(-80.9017,30.9017,50)--
(-100,0,0)--
cycle;
icosDod[23]=
(-80.9017,30.9017,-50)--
(-80.9017,-30.9017,-50)--
(-100,0,0)--
cycle;
icosDod[24]=
(-30.9017,50,-80.9017)--
(30.9017,50,-80.9017)--
(0,0,-100)--
cycle;
icosDod[25]=
(30.9017,-50,-80.9017)--
(-30.9017,-50,-80.9017)--
(0,0,-100)--
cycle;
icosDod[26]=
(-30.9017,-50,80.9017)--
(30.9017,-50,80.9017)--
(0,0,100)--
cycle;
icosDod[27]=
(30.9017,50,80.9017)--
(-30.9017,50,80.9017)--
(0,0,100)--
cycle;
icosDod[28]=
(50,80.9017,30.9017)--
(50,80.9017,-30.9017)--
(0,100,0)--
cycle;
icosDod[29]=
(-50,80.9017,-30.9017)--
(-50,80.9017,30.9017)--
(0,100,0)--
cycle;
icosDod[30]=
(-50,-80.9017,30.9017)--
(-50,-80.9017,-30.9017)--
(0,-100,0)--
cycle;
icosDod[31]=
(50,-80.9017,-30.9017)--
(50,-80.9017,30.9017)--
(0,-100,0)--
cycle;
icosDod=scale3(1/abs(point(icosDod[0],0)))*icosDod;
//*** end of icosDod ***
//*** start of truncateDodeca ***
truncateDodeca[0]=
(16.8381,44.0828,-88.1656)--
(44.0828,54.4894,-71.3275)--
(71.3275,44.0828,-54.4894)--
(88.1656,16.8381,-44.0828)--
(88.1656,-16.8381,-44.0828)--
(71.3275,-44.0828,-54.4894)--
(44.0828,-54.4894,-71.3275)--
(16.8381,-44.0828,-88.1656)--
(0,-16.8381,-98.5722)--
(0,16.8381,-98.5722)--
cycle;
truncateDodeca[1]=
(16.8381,-44.0828,88.1656)--
(44.0828,-54.4894,71.3275)--
(71.3275,-44.0828,54.4894)--
(88.1656,-16.8381,44.0828)--
(88.1656,16.8381,44.0828)--
(71.3275,44.0828,54.4894)--
(44.0828,54.4894,71.3275)--
(16.8381,44.0828,88.1656)--
(0,16.8381,98.5722)--
(0,-16.8381,98.5722)--
cycle;
truncateDodeca[2]=
(-16.8381,-44.0828,88.1656)--
(-44.0828,-54.4894,71.3275)--
(-71.3275,-44.0828,54.4894)--
(-88.1656,-16.8381,44.0828)--
(-88.1656,16.8381,44.0828)--
(-71.3275,44.0828,54.4894)--
(-44.0828,54.4894,71.3275)--
(-16.8381,44.0828,88.1656)--
(0,16.8381,98.5722)--
(0,-16.8381,98.5722)--
cycle;
truncateDodeca[3]=
(-16.8381,44.0828,-88.1656)--
(-44.0828,54.4894,-71.3275)--
(-71.3275,44.0828,-54.4894)--
(-88.1656,16.8381,-44.0828)--
(-88.1656,-16.8381,-44.0828)--
(-71.3275,-44.0828,-54.4894)--
(-44.0828,-54.4894,-71.3275)--
(-16.8381,-44.0828,-88.1656)--
(0,-16.8381,-98.5722)--
(0,16.8381,-98.5722)--
cycle;
truncateDodeca[4]=
(44.0828,88.1656,-16.8381)--
(54.4894,71.3275,-44.0828)--
(71.3275,44.0828,-54.4894)--
(88.1656,16.8381,-44.0828)--
(98.5722,0,-16.8381)--
(98.5722,0,16.8381)--
(88.1656,16.8381,44.0828)--
(71.3275,44.0828,54.4894)--
(54.4894,71.3275,44.0828)--
(44.0828,88.1656,16.8381)--
cycle;
truncateDodeca[5]=
(16.8381,98.5722,0)--
(-16.8381,98.5722,0)--
(-44.0828,88.1656,16.8381)--
(-54.4894,71.3275,44.0828)--
(-44.0828,54.4894,71.3275)--
(-16.8381,44.0828,88.1656)--
(16.8381,44.0828,88.1656)--
(44.0828,54.4894,71.3275)--
(54.4894,71.3275,44.0828)--
(44.0828,88.1656,16.8381)--
cycle;
truncateDodeca[6]=
(-44.0828,88.1656,16.8381)--
(-44.0828,88.1656,-16.8381)--
(-54.4894,71.3275,-44.0828)--
(-71.3275,44.0828,-54.4894)--
(-88.1656,16.8381,-44.0828)--
(-98.5722,0,-16.8381)--
(-98.5722,0,16.8381)--
(-88.1656,16.8381,44.0828)--
(-71.3275,44.0828,54.4894)--
(-54.4894,71.3275,44.0828)--
cycle;
truncateDodeca[7]=
(16.8381,98.5722,0)--
(-16.8381,98.5722,0)--
(-44.0828,88.1656,-16.8381)--
(-54.4894,71.3275,-44.0828)--
(-44.0828,54.4894,-71.3275)--
(-16.8381,44.0828,-88.1656)--
(16.8381,44.0828,-88.1656)--
(44.0828,54.4894,-71.3275)--
(54.4894,71.3275,-44.0828)--
(44.0828,88.1656,-16.8381)--
cycle;
truncateDodeca[8]=
(-44.0828,-88.1656,16.8381)--
(-54.4894,-71.3275,44.0828)--
(-71.3275,-44.0828,54.4894)--
(-88.1656,-16.8381,44.0828)--
(-98.5722,0,16.8381)--
(-98.5722,0,-16.8381)--
(-88.1656,-16.8381,-44.0828)--
(-71.3275,-44.0828,-54.4894)--
(-54.4894,-71.3275,-44.0828)--
(-44.0828,-88.1656,-16.8381)--
cycle;
truncateDodeca[9]=
(-16.8381,-98.5722,0)--
(16.8381,-98.5722,0)--
(44.0828,-88.1656,-16.8381)--
(54.4894,-71.3275,-44.0828)--
(44.0828,-54.4894,-71.3275)--
(16.8381,-44.0828,-88.1656)--
(-16.8381,-44.0828,-88.1656)--
(-44.0828,-54.4894,-71.3275)--
(-54.4894,-71.3275,-44.0828)--
(-44.0828,-88.1656,-16.8381)--
cycle;
truncateDodeca[10]=
(44.0828,-88.1656,16.8381)--
(44.0828,-88.1656,-16.8381)--
(54.4894,-71.3275,-44.0828)--
(71.3275,-44.0828,-54.4894)--
(88.1656,-16.8381,-44.0828)--
(98.5722,0,-16.8381)--
(98.5722,0,16.8381)--
(88.1656,-16.8381,44.0828)--
(71.3275,-44.0828,54.4894)--
(54.4894,-71.3275,44.0828)--
cycle;
truncateDodeca[11]=
(-16.8381,-98.5722,0)--
(16.8381,-98.5722,0)--
(44.0828,-88.1656,16.8381)--
(54.4894,-71.3275,44.0828)--
(44.0828,-54.4894,71.3275)--
(16.8381,-44.0828,88.1656)--
(-16.8381,-44.0828,88.1656)--
(-44.0828,-54.4894,71.3275)--
(-54.4894,-71.3275,44.0828)--
(-44.0828,-88.1656,16.8381)--
cycle;
truncateDodeca[12]=
(98.5722,0,-16.8381)--
(88.1656,16.8381,-44.0828)--
(88.1656,-16.8381,-44.0828)--
cycle;
truncateDodeca[13]=
(98.5722,0,16.8381)--
(88.1656,-16.8381,44.0828)--
(88.1656,16.8381,44.0828)--
cycle;
truncateDodeca[14]=
(-98.5722,0,16.8381)--
(-88.1656,16.8381,44.0828)--
(-88.1656,-16.8381,44.0828)--
cycle;
truncateDodeca[15]=
(-98.5722,0,-16.8381)--
(-88.1656,-16.8381,-44.0828)--
(-88.1656,16.8381,-44.0828)--
cycle;
truncateDodeca[16]=
(0,16.8381,-98.5722)--
(16.8381,44.0828,-88.1656)--
(-16.8381,44.0828,-88.1656)--
cycle;
truncateDodeca[17]=
(0,-16.8381,-98.5722)--
(-16.8381,-44.0828,-88.1656)--
(16.8381,-44.0828,-88.1656)--
cycle;
truncateDodeca[18]=
(0,-16.8381,98.5722)--
(16.8381,-44.0828,88.1656)--
(-16.8381,-44.0828,88.1656)--
cycle;
truncateDodeca[19]=
(0,16.8381,98.5722)--
(-16.8381,44.0828,88.1656)--
(16.8381,44.0828,88.1656)--
cycle;
truncateDodeca[20]=
(16.8381,98.5722,0)--
(44.0828,88.1656,-16.8381)--
(44.0828,88.1656,16.8381)--
cycle;
truncateDodeca[21]=
(-16.8381,98.5722,0)--
(-44.0828,88.1656,16.8381)--
(-44.0828,88.1656,-16.8381)--
cycle;
truncateDodeca[22]=
(-16.8381,-98.5722,0)--
(-44.0828,-88.1656,-16.8381)--
(-44.0828,-88.1656,16.8381)--
cycle;
truncateDodeca[23]=
(16.8381,-98.5722,0)--
(44.0828,-88.1656,16.8381)--
(44.0828,-88.1656,-16.8381)--
cycle;
truncateDodeca[24]=
(44.0828,54.4894,-71.3275)--
(71.3275,44.0828,-54.4894)--
(54.4894,71.3275,-44.0828)--
cycle;
truncateDodeca[25]=
(71.3275,44.0828,54.4894)--
(44.0828,54.4894,71.3275)--
(54.4894,71.3275,44.0828)--
cycle;
truncateDodeca[26]=
(-44.0828,54.4894,71.3275)--
(-71.3275,44.0828,54.4894)--
(-54.4894,71.3275,44.0828)--
cycle;
truncateDodeca[27]=
(-71.3275,44.0828,-54.4894)--
(-44.0828,54.4894,-71.3275)--
(-54.4894,71.3275,-44.0828)--
cycle;
truncateDodeca[28]=
(-54.4894,-71.3275,44.0828)--
(-71.3275,-44.0828,54.4894)--
(-44.0828,-54.4894,71.3275)--
cycle;
truncateDodeca[29]=
(-71.3275,-44.0828,-54.4894)--
(-54.4894,-71.3275,-44.0828)--
(-44.0828,-54.4894,-71.3275)--
cycle;
truncateDodeca[30]=
(44.0828,-54.4894,-71.3275)--
(54.4894,-71.3275,-44.0828)--
(71.3275,-44.0828,-54.4894)--
cycle;
truncateDodeca[31]=
(71.3275,-44.0828,54.4894)--
(54.4894,-71.3275,44.0828)--
(44.0828,-54.4894,71.3275)--
cycle;
truncateDodeca=scale3(1/abs(point(truncateDodeca[0],0)))*truncateDodeca;
//*** end of truncateDodeca ***
//*** start of truncIcos ***
truncIcos[0]=
(20.1774,0,-97.9432)--
(40.3548,-32.6477,-85.4729)--
(73.0026,-20.1774,-65.2955)--
(73.0026,20.1774,-65.2955)--
(40.3548,32.6477,-85.4729)--
cycle;
truncIcos[1]=
(20.1774,0,97.9432)--
(40.3548,32.6477,85.4729)--
(73.0026,20.1774,65.2955)--
(73.0026,-20.1774,65.2955)--
(40.3548,-32.6477,85.4729)--
cycle;
truncIcos[2]=
(-20.1774,0,97.9432)--
(-40.3548,-32.6477,85.4729)--
(-73.0026,-20.1774,65.2955)--
(-73.0026,20.1774,65.2955)--
(-40.3548,32.6477,85.4729)--
cycle;
truncIcos[3]=
(-20.1774,0,-97.9432)--
(-40.3548,32.6477,-85.4729)--
(-73.0026,20.1774,-65.2955)--
(-73.0026,-20.1774,-65.2955)--
(-40.3548,-32.6477,-85.4729)--
cycle;
truncIcos[4]=
(97.9432,20.1774,0)--
(85.4729,40.3548,32.6477)--
(65.2955,73.0026,20.1774)--
(65.2955,73.0026,-20.1774)--
(85.4729,40.3548,-32.6477)--
cycle;
truncIcos[5]=
(0,97.9432,20.1774)--
(32.6477,85.4729,40.3548)--
(20.1774,65.2955,73.0026)--
(-20.1774,65.2955,73.0026)--
(-32.6477,85.4729,40.3548)--
cycle;
truncIcos[6]=
(-97.9432,20.1774,0)--
(-85.4729,40.3548,-32.6477)--
(-65.2955,73.0026,-20.1774)--
(-65.2955,73.0026,20.1774)--
(-85.4729,40.3548,32.6477)--
cycle;
truncIcos[7]=
(0,97.9432,-20.1774)--
(-32.6477,85.4729,-40.3548)--
(-20.1774,65.2955,-73.0026)--
(20.1774,65.2955,-73.0026)--
(32.6477,85.4729,-40.3548)--
cycle;
truncIcos[8]=
(-97.9432,-20.1774,0)--
(-85.4729,-40.3548,32.6477)--
(-65.2955,-73.0026,20.1774)--
(-65.2955,-73.0026,-20.1774)--
(-85.4729,-40.3548,-32.6477)--
cycle;
truncIcos[9]=
(0,-97.9432,-20.1774)--
(32.6477,-85.4729,-40.3548)--
(20.1774,-65.2955,-73.0026)--
(-20.1774,-65.2955,-73.0026)--
(-32.6477,-85.4729,-40.3548)--
cycle;
truncIcos[10]=
(97.9432,-20.1774,0)--
(85.4729,-40.3548,-32.6477)--
(65.2955,-73.0026,-20.1774)--
(65.2955,-73.0026,20.1774)--
(85.4729,-40.3548,32.6477)--
cycle;
truncIcos[11]=
(0,-97.9432,20.1774)--
(-32.6477,-85.4729,40.3548)--
(-20.1774,-65.2955,73.0026)--
(20.1774,-65.2955,73.0026)--
(32.6477,-85.4729,40.3548)--
cycle;
truncIcos[12]=
(85.4729,40.3548,-32.6477)--
(97.9432,20.1774,0)--
(97.9432,-20.1774,0)--
(85.4729,-40.3548,-32.6477)--
(73.0026,-20.1774,-65.2955)--
(73.0026,20.1774,-65.2955)--
cycle;
truncIcos[13]=
(85.4729,-40.3548,32.6477)--
(97.9432,-20.1774,0)--
(97.9432,20.1774,0)--
(85.4729,40.3548,32.6477)--
(73.0026,20.1774,65.2955)--
(73.0026,-20.1774,65.2955)--
cycle;
truncIcos[14]=
(-85.4729,40.3548,32.6477)--
(-97.9432,20.1774,0)--
(-97.9432,-20.1774,0)--
(-85.4729,-40.3548,32.6477)--
(-73.0026,-20.1774,65.2955)--
(-73.0026,20.1774,65.2955)--
cycle;
truncIcos[15]=
(-85.4729,-40.3548,-32.6477)--
(-97.9432,-20.1774,0)--
(-97.9432,20.1774,0)--
(-85.4729,40.3548,-32.6477)--
(-73.0026,20.1774,-65.2955)--
(-73.0026,-20.1774,-65.2955)--
cycle;
truncIcos[16]=
(40.3548,32.6477,-85.4729)--
(20.1774,0,-97.9432)--
(-20.1774,0,-97.9432)--
(-40.3548,32.6477,-85.4729)--
(-20.1774,65.2955,-73.0026)--
(20.1774,65.2955,-73.0026)--
cycle;
truncIcos[17]=
(-40.3548,-32.6477,-85.4729)--
(-20.1774,0,-97.9432)--
(20.1774,0,-97.9432)--
(40.3548,-32.6477,-85.4729)--
(20.1774,-65.2955,-73.0026)--
(-20.1774,-65.2955,-73.0026)--
cycle;
truncIcos[18]=
(40.3548,-32.6477,85.4729)--
(20.1774,0,97.9432)--
(-20.1774,0,97.9432)--
(-40.3548,-32.6477,85.4729)--
(-20.1774,-65.2955,73.0026)--
(20.1774,-65.2955,73.0026)--
cycle;
truncIcos[19]=
(-40.3548,32.6477,85.4729)--
(-20.1774,0,97.9432)--
(20.1774,0,97.9432)--
(40.3548,32.6477,85.4729)--
(20.1774,65.2955,73.0026)--
(-20.1774,65.2955,73.0026)--
cycle;
truncIcos[20]=
(32.6477,85.4729,-40.3548)--
(0,97.9432,-20.1774)--
(0,97.9432,20.1774)--
(32.6477,85.4729,40.3548)--
(65.2955,73.0026,20.1774)--
(65.2955,73.0026,-20.1774)--
cycle;
truncIcos[21]=
(-32.6477,85.4729,40.3548)--
(0,97.9432,20.1774)--
(0,97.9432,-20.1774)--
(-32.6477,85.4729,-40.3548)--
(-65.2955,73.0026,-20.1774)--
(-65.2955,73.0026,20.1774)--
cycle;
truncIcos[22]=
(-32.6477,-85.4729,-40.3548)--
(0,-97.9432,-20.1774)--
(0,-97.9432,20.1774)--
(-32.6477,-85.4729,40.3548)--
(-65.2955,-73.0026,20.1774)--
(-65.2955,-73.0026,-20.1774)--
cycle;
truncIcos[23]=
(32.6477,-85.4729,40.3548)--
(0,-97.9432,20.1774)--
(0,-97.9432,-20.1774)--
(32.6477,-85.4729,-40.3548)--
(65.2955,-73.0026,-20.1774)--
(65.2955,-73.0026,20.1774)--
cycle;
truncIcos[24]=
(20.1774,65.2955,-73.0026)--
(32.6477,85.4729,-40.3548)--
(65.2955,73.0026,-20.1774)--
(85.4729,40.3548,-32.6477)--
(73.0026,20.1774,-65.2955)--
(40.3548,32.6477,-85.4729)--
cycle;
truncIcos[25]=
(85.4729,40.3548,32.6477)--
(73.0026,20.1774,65.2955)--
(40.3548,32.6477,85.4729)--
(20.1774,65.2955,73.0026)--
(32.6477,85.4729,40.3548)--
(65.2955,73.0026,20.1774)--
cycle;
truncIcos[26]=
(-73.0026,20.1774,65.2955)--
(-40.3548,32.6477,85.4729)--
(-20.1774,65.2955,73.0026)--
(-32.6477,85.4729,40.3548)--
(-65.2955,73.0026,20.1774)--
(-85.4729,40.3548,32.6477)--
cycle;
truncIcos[27]=
(-85.4729,40.3548,-32.6477)--
(-65.2955,73.0026,-20.1774)--
(-32.6477,85.4729,-40.3548)--
(-20.1774,65.2955,-73.0026)--
(-40.3548,32.6477,-85.4729)--
(-73.0026,20.1774,-65.2955)--
cycle;
truncIcos[28]=
(-85.4729,-40.3548,32.6477)--
(-65.2955,-73.0026,20.1774)--
(-32.6477,-85.4729,40.3548)--
(-20.1774,-65.2955,73.0026)--
(-40.3548,-32.6477,85.4729)--
(-73.0026,-20.1774,65.2955)--
cycle;
truncIcos[29]=
(-20.1774,-65.2955,-73.0026)--
(-32.6477,-85.4729,-40.3548)--
(-65.2955,-73.0026,-20.1774)--
(-85.4729,-40.3548,-32.6477)--
(-73.0026,-20.1774,-65.2955)--
(-40.3548,-32.6477,-85.4729)--
cycle;
truncIcos[30]=
(85.4729,-40.3548,-32.6477)--
(65.2955,-73.0026,-20.1774)--
(32.6477,-85.4729,-40.3548)--
(20.1774,-65.2955,-73.0026)--
(40.3548,-32.6477,-85.4729)--
(73.0026,-20.1774,-65.2955)--
cycle;
truncIcos[31]=
(20.1774,-65.2955,73.0026)--
(32.6477,-85.4729,40.3548)--
(65.2955,-73.0026,20.1774)--
(85.4729,-40.3548,32.6477)--
(73.0026,-20.1774,65.2955)--
(40.3548,-32.6477,85.4729)--
cycle;
truncIcos=scale3(1/abs(point(truncIcos[0],0)))*truncIcos;
//*** end of truncIcos ***
//*** start of rhombicosDodec ***
rhombicosDodec[0]=
(-22.3919,94.8536,-22.3919)--
(-36.2309,72.4617,-58.6227)--
(0,58.6227,-81.0146)--
(36.2309,72.4617,-58.6227)--
(22.3919,94.8536,-22.3919)--
cycle;
rhombicosDodec[1]=
(22.3919,94.8536,22.3919)--
(36.2309,72.4617,58.6227)--
(0,58.6227,81.0146)--
(-36.2309,72.4617,58.6227)--
(-22.3919,94.8536,22.3919)--
cycle;
rhombicosDodec[2]=
(-22.3919,-94.8536,22.3919)--
(-36.2309,-72.4617,58.6227)--
(0,-58.6227,81.0146)--
(36.2309,-72.4617,58.6227)--
(22.3919,-94.8536,22.3919)--
cycle;
rhombicosDodec[3]=
(22.3919,-94.8536,-22.3919)--
(36.2309,-72.4617,-58.6227)--
(0,-58.6227,-81.0146)--
(-36.2309,-72.4617,-58.6227)--
(-22.3919,-94.8536,-22.3919)--
cycle;
rhombicosDodec[4]=
(22.3919,-22.3919,-94.8536)--
(58.6227,-36.2309,-72.4617)--
(81.0146,0,-58.6227)--
(58.6227,36.2309,-72.4617)--
(22.3919,22.3919,-94.8536)--
cycle;
rhombicosDodec[5]=
(-22.3919,22.3919,-94.8536)--
(-58.6227,36.2309,-72.4617)--
(-81.0146,0,-58.6227)--
(-58.6227,-36.2309,-72.4617)--
(-22.3919,-22.3919,-94.8536)--
cycle;
rhombicosDodec[6]=
(-22.3919,-22.3919,94.8536)--
(-58.6227,-36.2309,72.4617)--
(-81.0146,0,58.6227)--
(-58.6227,36.2309,72.4617)--
(-22.3919,22.3919,94.8536)--
cycle;
rhombicosDodec[7]=
(22.3919,22.3919,94.8536)--
(58.6227,36.2309,72.4617)--
(81.0146,0,58.6227)--
(58.6227,-36.2309,72.4617)--
(22.3919,-22.3919,94.8536)--
cycle;
rhombicosDodec[8]=
(94.8536,22.3919,22.3919)--
(72.4617,58.6227,36.2309)--
(58.6227,81.0146,0)--
(72.4617,58.6227,-36.2309)--
(94.8536,22.3919,-22.3919)--
cycle;
rhombicosDodec[9]=
(94.8536,-22.3919,-22.3919)--
(72.4617,-58.6227,-36.2309)--
(58.6227,-81.0146,0)--
(72.4617,-58.6227,36.2309)--
(94.8536,-22.3919,22.3919)--
cycle;
rhombicosDodec[10]=
(-94.8536,-22.3919,22.3919)--
(-72.4617,-58.6227,36.2309)--
(-58.6227,-81.0146,0)--
(-72.4617,-58.6227,-36.2309)--
(-94.8536,-22.3919,-22.3919)--
cycle;
rhombicosDodec[11]=
(-94.8536,22.3919,-22.3919)--
(-72.4617,58.6227,-36.2309)--
(-58.6227,81.0146,0)--
(-72.4617,58.6227,36.2309)--
(-94.8536,22.3919,22.3919)--
cycle;
rhombicosDodec[12]=
(22.3919,94.8536,22.3919)--
(22.3919,94.8536,-22.3919)--
(-22.3919,94.8536,-22.3919)--
(-22.3919,94.8536,22.3919)--
cycle;
rhombicosDodec[13]=
(22.3919,-94.8536,-22.3919)--
(22.3919,-94.8536,22.3919)--
(-22.3919,-94.8536,22.3919)--
(-22.3919,-94.8536,-22.3919)--
cycle;
rhombicosDodec[14]=
(-22.3919,22.3919,-94.8536)--
(22.3919,22.3919,-94.8536)--
(22.3919,-22.3919,-94.8536)--
(-22.3919,-22.3919,-94.8536)--
cycle;
rhombicosDodec[15]=
(22.3919,22.3919,94.8536)--
(-22.3919,22.3919,94.8536)--
(-22.3919,-22.3919,94.8536)--
(22.3919,-22.3919,94.8536)--
cycle;
rhombicosDodec[16]=
(94.8536,-22.3919,-22.3919)--
(94.8536,22.3919,-22.3919)--
(94.8536,22.3919,22.3919)--
(94.8536,-22.3919,22.3919)--
cycle;
rhombicosDodec[17]=
(-94.8536,22.3919,-22.3919)--
(-94.8536,-22.3919,-22.3919)--
(-94.8536,-22.3919,22.3919)--
(-94.8536,22.3919,22.3919)--
cycle;
rhombicosDodec[18]=
(36.2309,72.4617,-58.6227)--
(22.3919,94.8536,-22.3919)--
(58.6227,81.0146,0)--
(72.4617,58.6227,-36.2309)--
cycle;
rhombicosDodec[19]=
(58.6227,81.0146,0)--
(22.3919,94.8536,22.3919)--
(36.2309,72.4617,58.6227)--
(72.4617,58.6227,36.2309)--
cycle;
rhombicosDodec[20]=
(-36.2309,72.4617,58.6227)--
(-22.3919,94.8536,22.3919)--
(-58.6227,81.0146,0)--
(-72.4617,58.6227,36.2309)--
cycle;
rhombicosDodec[21]=
(-58.6227,81.0146,0)--
(-22.3919,94.8536,-22.3919)--
(-36.2309,72.4617,-58.6227)--
(-72.4617,58.6227,-36.2309)--
cycle;
rhombicosDodec[22]=
(36.2309,-72.4617,58.6227)--
(22.3919,-94.8536,22.3919)--
(58.6227,-81.0146,0)--
(72.4617,-58.6227,36.2309)--
cycle;
rhombicosDodec[23]=
(58.6227,-81.0146,0)--
(22.3919,-94.8536,-22.3919)--
(36.2309,-72.4617,-58.6227)--
(72.4617,-58.6227,-36.2309)--
cycle;
rhombicosDodec[24]=
(-36.2309,-72.4617,-58.6227)--
(-22.3919,-94.8536,-22.3919)--
(-58.6227,-81.0146,0)--
(-72.4617,-58.6227,-36.2309)--
cycle;
rhombicosDodec[25]=
(-58.6227,-81.0146,0)--
(-22.3919,-94.8536,22.3919)--
(-36.2309,-72.4617,58.6227)--
(-72.4617,-58.6227,36.2309)--
cycle;
rhombicosDodec[26]=
(58.6227,36.2309,-72.4617)--
(22.3919,22.3919,-94.8536)--
(0,58.6227,-81.0146)--
(36.2309,72.4617,-58.6227)--
cycle;
rhombicosDodec[27]=
(0,58.6227,-81.0146)--
(-22.3919,22.3919,-94.8536)--
(-58.6227,36.2309,-72.4617)--
(-36.2309,72.4617,-58.6227)--
cycle;
rhombicosDodec[28]=
(-58.6227,-36.2309,-72.4617)--
(-22.3919,-22.3919,-94.8536)--
(0,-58.6227,-81.0146)--
(-36.2309,-72.4617,-58.6227)--
cycle;
rhombicosDodec[29]=
(0,-58.6227,-81.0146)--
(22.3919,-22.3919,-94.8536)--
(58.6227,-36.2309,-72.4617)--
(36.2309,-72.4617,-58.6227)--
cycle;
rhombicosDodec[30]=
(-58.6227,36.2309,72.4617)--
(-22.3919,22.3919,94.8536)--
(0,58.6227,81.0146)--
(-36.2309,72.4617,58.6227)--
cycle;
rhombicosDodec[31]=
(0,58.6227,81.0146)--
(22.3919,22.3919,94.8536)--
(58.6227,36.2309,72.4617)--
(36.2309,72.4617,58.6227)--
cycle;
rhombicosDodec[32]=
(58.6227,-36.2309,72.4617)--
(22.3919,-22.3919,94.8536)--
(0,-58.6227,81.0146)--
(36.2309,-72.4617,58.6227)--
cycle;
rhombicosDodec[33]=
(0,-58.6227,81.0146)--
(-22.3919,-22.3919,94.8536)--
(-58.6227,-36.2309,72.4617)--
(-36.2309,-72.4617,58.6227)--
cycle;
rhombicosDodec[34]=
(72.4617,58.6227,-36.2309)--
(94.8536,22.3919,-22.3919)--
(81.0146,0,-58.6227)--
(58.6227,36.2309,-72.4617)--
cycle;
rhombicosDodec[35]=
(81.0146,0,-58.6227)--
(94.8536,-22.3919,-22.3919)--
(72.4617,-58.6227,-36.2309)--
(58.6227,-36.2309,-72.4617)--
cycle;
rhombicosDodec[36]=
(72.4617,-58.6227,36.2309)--
(94.8536,-22.3919,22.3919)--
(81.0146,0,58.6227)--
(58.6227,-36.2309,72.4617)--
cycle;
rhombicosDodec[37]=
(81.0146,0,58.6227)--
(94.8536,22.3919,22.3919)--
(72.4617,58.6227,36.2309)--
(58.6227,36.2309,72.4617)--
cycle;
rhombicosDodec[38]=
(-72.4617,-58.6227,-36.2309)--
(-94.8536,-22.3919,-22.3919)--
(-81.0146,0,-58.6227)--
(-58.6227,-36.2309,-72.4617)--
cycle;
rhombicosDodec[39]=
(-81.0146,0,-58.6227)--
(-94.8536,22.3919,-22.3919)--
(-72.4617,58.6227,-36.2309)--
(-58.6227,36.2309,-72.4617)--
cycle;
rhombicosDodec[40]=
(-72.4617,58.6227,36.2309)--
(-94.8536,22.3919,22.3919)--
(-81.0146,0,58.6227)--
(-58.6227,36.2309,72.4617)--
cycle;
rhombicosDodec[41]=
(-81.0146,0,58.6227)--
(-94.8536,-22.3919,22.3919)--
(-72.4617,-58.6227,36.2309)--
(-58.6227,-36.2309,72.4617)--
cycle;
rhombicosDodec[42]=
(22.3919,94.8536,-22.3919)--
(58.6227,81.0146,0)--
(22.3919,94.8536,22.3919)--
cycle;
rhombicosDodec[43]=
(-22.3919,94.8536,-22.3919)--
(-22.3919,94.8536,22.3919)--
(-58.6227,81.0146,0)--
cycle;
rhombicosDodec[44]=
(22.3919,-94.8536,22.3919)--
(58.6227,-81.0146,0)--
(22.3919,-94.8536,-22.3919)--
cycle;
rhombicosDodec[45]=
(-22.3919,-94.8536,22.3919)--
(-22.3919,-94.8536,-22.3919)--
(-58.6227,-81.0146,0)--
cycle;
rhombicosDodec[46]=
(22.3919,22.3919,-94.8536)--
(0,58.6227,-81.0146)--
(-22.3919,22.3919,-94.8536)--
cycle;
rhombicosDodec[47]=
(22.3919,-22.3919,-94.8536)--
(-22.3919,-22.3919,-94.8536)--
(0,-58.6227,-81.0146)--
cycle;
rhombicosDodec[48]=
(-22.3919,22.3919,94.8536)--
(0,58.6227,81.0146)--
(22.3919,22.3919,94.8536)--
cycle;
rhombicosDodec[49]=
(-22.3919,-22.3919,94.8536)--
(22.3919,-22.3919,94.8536)--
(0,-58.6227,81.0146)--
cycle;
rhombicosDodec[50]=
(94.8536,22.3919,-22.3919)--
(81.0146,0,-58.6227)--
(94.8536,-22.3919,-22.3919)--
cycle;
rhombicosDodec[51]=
(94.8536,22.3919,22.3919)--
(94.8536,-22.3919,22.3919)--
(81.0146,0,58.6227)--
cycle;
rhombicosDodec[52]=
(-94.8536,-22.3919,-22.3919)--
(-81.0146,0,-58.6227)--
(-94.8536,22.3919,-22.3919)--
cycle;
rhombicosDodec[53]=
(-94.8536,-22.3919,22.3919)--
(-94.8536,22.3919,22.3919)--
(-81.0146,0,58.6227)--
cycle;
rhombicosDodec[54]=
(36.2309,72.4617,-58.6227)--
(58.6227,36.2309,-72.4617)--
(72.4617,58.6227,-36.2309)--
cycle;
rhombicosDodec[55]=
(58.6227,36.2309,72.4617)--
(36.2309,72.4617,58.6227)--
(72.4617,58.6227,36.2309)--
cycle;
rhombicosDodec[56]=
(-36.2309,72.4617,58.6227)--
(-58.6227,36.2309,72.4617)--
(-72.4617,58.6227,36.2309)--
cycle;
rhombicosDodec[57]=
(-58.6227,36.2309,-72.4617)--
(-36.2309,72.4617,-58.6227)--
(-72.4617,58.6227,-36.2309)--
cycle;
rhombicosDodec[58]=
(36.2309,-72.4617,58.6227)--
(58.6227,-36.2309,72.4617)--
(72.4617,-58.6227,36.2309)--
cycle;
rhombicosDodec[59]=
(36.2309,-72.4617,-58.6227)--
(72.4617,-58.6227,-36.2309)--
(58.6227,-36.2309,-72.4617)--
cycle;
rhombicosDodec[60]=
(-36.2309,-72.4617,-58.6227)--
(-58.6227,-36.2309,-72.4617)--
(-72.4617,-58.6227,-36.2309)--
cycle;
rhombicosDodec[61]=
(-58.6227,-36.2309,72.4617)--
(-36.2309,-72.4617,58.6227)--
(-72.4617,-58.6227,36.2309)--
cycle;
rhombicosDodec=scale3(1/abs(point(rhombicosDodec[0],0)))*rhombicosDodec;
//*** end of RhombicosDodec ***
//*** start of snbDdcleft ***
snbDdcleft[0]=
(-28.6199,-92.0928,-26.5588)--
(-33.4519,-68.4094,-64.8161)--
(8.17712,-58.6781,-80.6249)--
(37.9121,-76.4211,-51.8528)--
(15.6109,-97.1734,-18.3382)--
cycle;
snbDdcleft[1]=
(28.6199,-92.0928,26.5588)--
(33.4519,-68.4094,64.8161)--
(-8.17712,-58.6781,80.6249)--
(-37.9121,-76.4211,51.8528)--
(-15.6109,-97.1734,18.3382)--
cycle;
snbDdcleft[2]=
(-28.6199,92.0928,26.5588)--
(-33.4519,68.4094,64.8161)--
(8.17712,58.6781,80.6249)--
(37.9121,76.4211,51.8528)--
(15.6109,97.1734,18.3382)--
cycle;
snbDdcleft[3]=
(28.6199,92.0928,-26.5588)--
(33.4519,68.4094,-64.8161)--
(-8.17712,58.6781,-80.6249)--
(-37.9121,76.4211,-51.8528)--
(-15.6109,97.1734,-18.3382)--
cycle;
snbDdcleft[4]=
(-92.0928,-26.5588,-28.6199)--
(-68.4094,-64.8161,-33.4519)--
(-58.6781,-80.6249,8.17712)--
(-76.4211,-51.8528,37.9121)--
(-97.1734,-18.3382,15.6109)--
cycle;
snbDdcleft[5]=
(-92.0928,26.5588,28.6199)--
(-68.4094,64.8161,33.4519)--
(-58.6781,80.6249,-8.17712)--
(-76.4211,51.8528,-37.9121)--
(-97.1734,18.3382,-15.6109)--
cycle;
snbDdcleft[6]=
(92.0928,26.5588,-28.6199)--
(68.4094,64.8161,-33.4519)--
(58.6781,80.6249,8.17712)--
(76.4211,51.8528,37.9121)--
(97.1734,18.3382,15.6109)--
cycle;
snbDdcleft[7]=
(92.0928,-26.5588,28.6199)--
(68.4094,-64.8161,33.4519)--
(58.6781,-80.6249,-8.17712)--
(76.4211,-51.8528,-37.9121)--
(97.1734,-18.3382,-15.6109)--
cycle;
snbDdcleft[8]=
(26.5588,28.6199,-92.0928)--
(64.8161,33.4519,-68.4094)--
(80.6249,-8.17712,-58.6781)--
(51.8528,-37.9121,-76.4211)--
(18.3382,-15.6109,-97.1734)--
cycle;
snbDdcleft[9]=
(-26.5588,-28.6199,-92.0928)--
(-64.8161,-33.4519,-68.4094)--
(-80.6249,8.17712,-58.6781)--
(-51.8528,37.9121,-76.4211)--
(-18.3382,15.6109,-97.1734)--
cycle;
snbDdcleft[10]=
(26.5588,-28.6199,92.0928)--
(64.8161,-33.4519,68.4094)--
(80.6249,8.17712,58.6781)--
(51.8528,37.9121,76.4211)--
(18.3382,15.6109,97.1734)--
cycle;
snbDdcleft[11]=
(-26.5588,28.6199,92.0928)--
(-64.8161,33.4519,68.4094)--
(-80.6249,-8.17712,58.6781)--
(-51.8528,-37.9121,76.4211)--
(-18.3382,-15.6109,97.1734)--
cycle;
snbDdcleft[12]=
(15.6109,-97.1734,-18.3382)--
(58.6781,-80.6249,-8.17712)--
(28.6199,-92.0928,26.5588)--
cycle;
snbDdcleft[13]=
(-15.6109,-97.1734,18.3382)--
(-58.6781,-80.6249,8.17712)--
(-28.6199,-92.0928,-26.5588)--
cycle;
snbDdcleft[14]=
(15.6109,97.1734,18.3382)--
(58.6781,80.6249,8.17712)--
(28.6199,92.0928,-26.5588)--
cycle;
snbDdcleft[15]=
(-15.6109,97.1734,-18.3382)--
(-58.6781,80.6249,-8.17712)--
(-28.6199,92.0928,26.5588)--
cycle;
snbDdcleft[16]=
(-97.1734,-18.3382,15.6109)--
(-80.6249,-8.17712,58.6781)--
(-92.0928,26.5588,28.6199)--
cycle;
snbDdcleft[17]=
(-97.1734,18.3382,-15.6109)--
(-80.6249,8.17712,-58.6781)--
(-92.0928,-26.5588,-28.6199)--
cycle;
snbDdcleft[18]=
(97.1734,18.3382,15.6109)--
(80.6249,8.17712,58.6781)--
(92.0928,-26.5588,28.6199)--
cycle;
snbDdcleft[19]=
(97.1734,-18.3382,-15.6109)--
(80.6249,-8.17712,-58.6781)--
(92.0928,26.5588,-28.6199)--
cycle;
snbDdcleft[20]=
(18.3382,-15.6109,-97.1734)--
(8.17712,-58.6781,-80.6249)--
(-26.5588,-28.6199,-92.0928)--
cycle;
snbDdcleft[21]=
(-18.3382,15.6109,-97.1734)--
(-8.17712,58.6781,-80.6249)--
(26.5588,28.6199,-92.0928)--
cycle;
snbDdcleft[22]=
(18.3382,15.6109,97.1734)--
(8.17712,58.6781,80.6249)--
(-26.5588,28.6199,92.0928)--
cycle;
snbDdcleft[23]=
(-18.3382,-15.6109,97.1734)--
(-8.17712,-58.6781,80.6249)--
(26.5588,-28.6199,92.0928)--
cycle;
snbDdcleft[24]=
(37.9121,-76.4211,-51.8528)--
(51.8528,-37.9121,-76.4211)--
(76.4211,-51.8528,-37.9121)--
cycle;
snbDdcleft[25]=
(33.4519,-68.4094,64.8161)--
(68.4094,-64.8161,33.4519)--
(64.8161,-33.4519,68.4094)--
cycle;
snbDdcleft[26]=
(-37.9121,-76.4211,51.8528)--
(-51.8528,-37.9121,76.4211)--
(-76.4211,-51.8528,37.9121)--
cycle;
snbDdcleft[27]=
(-68.4094,-64.8161,-33.4519)--
(-64.8161,-33.4519,-68.4094)--
(-33.4519,-68.4094,-64.8161)--
cycle;
snbDdcleft[28]=
(37.9121,76.4211,51.8528)--
(51.8528,37.9121,76.4211)--
(76.4211,51.8528,37.9121)--
cycle;
snbDdcleft[29]=
(33.4519,68.4094,-64.8161)--
(68.4094,64.8161,-33.4519)--
(64.8161,33.4519,-68.4094)--
cycle;
snbDdcleft[30]=
(-37.9121,76.4211,-51.8528)--
(-51.8528,37.9121,-76.4211)--
(-76.4211,51.8528,-37.9121)--
cycle;
snbDdcleft[31]=
(-68.4094,64.8161,33.4519)--
(-64.8161,33.4519,68.4094)--
(-33.4519,68.4094,64.8161)--
cycle;
snbDdcleft[32]=
(15.6109,-97.1734,-18.3382)--
(58.6781,-80.6249,-8.17712)--
(37.9121,-76.4211,-51.8528)--
cycle;
snbDdcleft[33]=
(76.4211,-51.8528,-37.9121)--
(37.9121,-76.4211,-51.8528)--
(58.6781,-80.6249,-8.17712)--
cycle;
snbDdcleft[34]=
(58.6781,-80.6249,-8.17712)--
(28.6199,-92.0928,26.5588)--
(68.4094,-64.8161,33.4519)--
cycle;
snbDdcleft[35]=
(33.4519,-68.4094,64.8161)--
(68.4094,-64.8161,33.4519)--
(28.6199,-92.0928,26.5588)--
cycle;
snbDdcleft[36]=
(-15.6109,-97.1734,18.3382)--
(-58.6781,-80.6249,8.17712)--
(-37.9121,-76.4211,51.8528)--
cycle;
snbDdcleft[37]=
(-76.4211,-51.8528,37.9121)--
(-37.9121,-76.4211,51.8528)--
(-58.6781,-80.6249,8.17712)--
cycle;
snbDdcleft[38]=
(-58.6781,-80.6249,8.17712)--
(-28.6199,-92.0928,-26.5588)--
(-68.4094,-64.8161,-33.4519)--
cycle;
snbDdcleft[39]=
(-33.4519,-68.4094,-64.8161)--
(-68.4094,-64.8161,-33.4519)--
(-28.6199,-92.0928,-26.5588)--
cycle;
snbDdcleft[40]=
(15.6109,97.1734,18.3382)--
(58.6781,80.6249,8.17712)--
(37.9121,76.4211,51.8528)--
cycle;
snbDdcleft[41]=
(76.4211,51.8528,37.9121)--
(37.9121,76.4211,51.8528)--
(58.6781,80.6249,8.17712)--
cycle;
snbDdcleft[42]=
(58.6781,80.6249,8.17712)--
(28.6199,92.0928,-26.5588)--
(68.4094,64.8161,-33.4519)--
cycle;
snbDdcleft[43]=
(33.4519,68.4094,-64.8161)--
(68.4094,64.8161,-33.4519)--
(28.6199,92.0928,-26.5588)--
cycle;
snbDdcleft[44]=
(-15.6109,97.1734,-18.3382)--
(-58.6781,80.6249,-8.17712)--
(-37.9121,76.4211,-51.8528)--
cycle;
snbDdcleft[45]=
(-76.4211,51.8528,-37.9121)--
(-37.9121,76.4211,-51.8528)--
(-58.6781,80.6249,-8.17712)--
cycle;
snbDdcleft[46]=
(-58.6781,80.6249,-8.17712)--
(-28.6199,92.0928,26.5588)--
(-68.4094,64.8161,33.4519)--
cycle;
snbDdcleft[47]=
(-33.4519,68.4094,64.8161)--
(-68.4094,64.8161,33.4519)--
(-28.6199,92.0928,26.5588)--
cycle;
snbDdcleft[48]=
(-97.1734,-18.3382,15.6109)--
(-80.6249,-8.17712,58.6781)--
(-76.4211,-51.8528,37.9121)--
cycle;
snbDdcleft[49]=
(-51.8528,-37.9121,76.4211)--
(-76.4211,-51.8528,37.9121)--
(-80.6249,-8.17712,58.6781)--
cycle;
snbDdcleft[50]=
(-80.6249,-8.17712,58.6781)--
(-92.0928,26.5588,28.6199)--
(-64.8161,33.4519,68.4094)--
cycle;
snbDdcleft[51]=
(-68.4094,64.8161,33.4519)--
(-64.8161,33.4519,68.4094)--
(-92.0928,26.5588,28.6199)--
cycle;
snbDdcleft[52]=
(-97.1734,18.3382,-15.6109)--
(-80.6249,8.17712,-58.6781)--
(-76.4211,51.8528,-37.9121)--
cycle;
snbDdcleft[53]=
(-51.8528,37.9121,-76.4211)--
(-76.4211,51.8528,-37.9121)--
(-80.6249,8.17712,-58.6781)--
cycle;
snbDdcleft[54]=
(-80.6249,8.17712,-58.6781)--
(-92.0928,-26.5588,-28.6199)--
(-64.8161,-33.4519,-68.4094)--
cycle;
snbDdcleft[55]=
(-68.4094,-64.8161,-33.4519)--
(-64.8161,-33.4519,-68.4094)--
(-92.0928,-26.5588,-28.6199)--
cycle;
snbDdcleft[56]=
(97.1734,18.3382,15.6109)--
(80.6249,8.17712,58.6781)--
(76.4211,51.8528,37.9121)--
cycle;
snbDdcleft[57]=
(51.8528,37.9121,76.4211)--
(76.4211,51.8528,37.9121)--
(80.6249,8.17712,58.6781)--
cycle;
snbDdcleft[58]=
(80.6249,8.17712,58.6781)--
(92.0928,-26.5588,28.6199)--
(64.8161,-33.4519,68.4094)--
cycle;
snbDdcleft[59]=
(68.4094,-64.8161,33.4519)--
(64.8161,-33.4519,68.4094)--
(92.0928,-26.5588,28.6199)--
cycle;
snbDdcleft[60]=
(97.1734,-18.3382,-15.6109)--
(80.6249,-8.17712,-58.6781)--
(76.4211,-51.8528,-37.9121)--
cycle;
snbDdcleft[61]=
(51.8528,-37.9121,-76.4211)--
(76.4211,-51.8528,-37.9121)--
(80.6249,-8.17712,-58.6781)--
cycle;
snbDdcleft[62]=
(80.6249,-8.17712,-58.6781)--
(92.0928,26.5588,-28.6199)--
(64.8161,33.4519,-68.4094)--
cycle;
snbDdcleft[63]=
(68.4094,64.8161,-33.4519)--
(64.8161,33.4519,-68.4094)--
(92.0928,26.5588,-28.6199)--
cycle;
snbDdcleft[64]=
(18.3382,-15.6109,-97.1734)--
(8.17712,-58.6781,-80.6249)--
(51.8528,-37.9121,-76.4211)--
cycle;
snbDdcleft[65]=
(37.9121,-76.4211,-51.8528)--
(51.8528,-37.9121,-76.4211)--
(8.17712,-58.6781,-80.6249)--
cycle;
snbDdcleft[66]=
(8.17712,-58.6781,-80.6249)--
(-26.5588,-28.6199,-92.0928)--
(-33.4519,-68.4094,-64.8161)--
cycle;
snbDdcleft[67]=
(-64.8161,-33.4519,-68.4094)--
(-33.4519,-68.4094,-64.8161)--
(-26.5588,-28.6199,-92.0928)--
cycle;
snbDdcleft[68]=
(-18.3382,15.6109,-97.1734)--
(-8.17712,58.6781,-80.6249)--
(-51.8528,37.9121,-76.4211)--
cycle;
snbDdcleft[69]=
(-37.9121,76.4211,-51.8528)--
(-51.8528,37.9121,-76.4211)--
(-8.17712,58.6781,-80.6249)--
cycle;
snbDdcleft[70]=
(-8.17712,58.6781,-80.6249)--
(26.5588,28.6199,-92.0928)--
(33.4519,68.4094,-64.8161)--
cycle;
snbDdcleft[71]=
(64.8161,33.4519,-68.4094)--
(33.4519,68.4094,-64.8161)--
(26.5588,28.6199,-92.0928)--
cycle;
snbDdcleft[72]=
(18.3382,15.6109,97.1734)--
(8.17712,58.6781,80.6249)--
(51.8528,37.9121,76.4211)--
cycle;
snbDdcleft[73]=
(37.9121,76.4211,51.8528)--
(51.8528,37.9121,76.4211)--
(8.17712,58.6781,80.6249)--
cycle;
snbDdcleft[74]=
(8.17712,58.6781,80.6249)--
(-26.5588,28.6199,92.0928)--
(-33.4519,68.4094,64.8161)--
cycle;
snbDdcleft[75]=
(-64.8161,33.4519,68.4094)--
(-33.4519,68.4094,64.8161)--
(-26.5588,28.6199,92.0928)--
cycle;
snbDdcleft[76]=
(-18.3382,-15.6109,97.1734)--
(-8.17712,-58.6781,80.6249)--
(-51.8528,-37.9121,76.4211)--
cycle;
snbDdcleft[77]=
(-37.9121,-76.4211,51.8528)--
(-51.8528,-37.9121,76.4211)--
(-8.17712,-58.6781,80.6249)--
cycle;
snbDdcleft[78]=
(-8.17712,-58.6781,80.6249)--
(26.5588,-28.6199,92.0928)--
(33.4519,-68.4094,64.8161)--
cycle;
snbDdcleft[79]=
(64.8161,-33.4519,68.4094)--
(33.4519,-68.4094,64.8161)--
(26.5588,-28.6199,92.0928)--
cycle;
snbDdcleft[80]=
(-28.6199,-92.0928,-26.5588)--
(-15.6109,-97.1734,18.3382)--
(15.6109,-97.1734,-18.3382)--
cycle;
snbDdcleft[81]=
(28.6199,-92.0928,26.5588)--
(15.6109,-97.1734,-18.3382)--
(-15.6109,-97.1734,18.3382)--
cycle;
snbDdcleft[82]=
(-28.6199,92.0928,26.5588)--
(-15.6109,97.1734,-18.3382)--
(15.6109,97.1734,18.3382)--
cycle;
snbDdcleft[83]=
(28.6199,92.0928,-26.5588)--
(15.6109,97.1734,18.3382)--
(-15.6109,97.1734,-18.3382)--
cycle;
snbDdcleft[84]=
(-92.0928,-26.5588,-28.6199)--
(-97.1734,18.3382,-15.6109)--
(-97.1734,-18.3382,15.6109)--
cycle;
snbDdcleft[85]=
(-92.0928,26.5588,28.6199)--
(-97.1734,-18.3382,15.6109)--
(-97.1734,18.3382,-15.6109)--
cycle;
snbDdcleft[86]=
(92.0928,26.5588,-28.6199)--
(97.1734,-18.3382,-15.6109)--
(97.1734,18.3382,15.6109)--
cycle;
snbDdcleft[87]=
(92.0928,-26.5588,28.6199)--
(97.1734,18.3382,15.6109)--
(97.1734,-18.3382,-15.6109)--
cycle;
snbDdcleft[88]=
(26.5588,28.6199,-92.0928)--
(-18.3382,15.6109,-97.1734)--
(18.3382,-15.6109,-97.1734)--
cycle;
snbDdcleft[89]=
(-26.5588,-28.6199,-92.0928)--
(18.3382,-15.6109,-97.1734)--
(-18.3382,15.6109,-97.1734)--
cycle;
snbDdcleft[90]=
(26.5588,-28.6199,92.0928)--
(-18.3382,-15.6109,97.1734)--
(18.3382,15.6109,97.1734)--
cycle;
snbDdcleft[91]=
(-26.5588,28.6199,92.0928)--
(18.3382,15.6109,97.1734)--
(-18.3382,-15.6109,97.1734)--
cycle;
snbDdcleft=scale3(1/abs(point(snbDdcleft[0],0)))*snbDdcleft;
//*** end of snbDdcleft ***
//*** start of snbDdcright ***
snbDdcright[0]=
(-28.6199,92.0928,-26.5588)--
(-33.4519,68.4094,-64.8161)--
(8.17712,58.6781,-80.6249)--
(37.9121,76.4211,-51.8528)--
(15.6109,97.1734,-18.3382)--
cycle;
snbDdcright[1]=
(28.6199,92.0928,26.5588)--
(33.4519,68.4094,64.8161)--
(-8.17712,58.6781,80.6249)--
(-37.9121,76.4211,51.8528)--
(-15.6109,97.1734,18.3382)--
cycle;
snbDdcright[2]=
(-28.6199,-92.0928,26.5588)--
(-33.4519,-68.4094,64.8161)--
(8.17712,-58.6781,80.6249)--
(37.9121,-76.4211,51.8528)--
(15.6109,-97.1734,18.3382)--
cycle;
snbDdcright[3]=
(28.6199,-92.0928,-26.5588)--
(33.4519,-68.4094,-64.8161)--
(-8.17712,-58.6781,-80.6249)--
(-37.9121,-76.4211,-51.8528)--
(-15.6109,-97.1734,-18.3382)--
cycle;
snbDdcright[4]=
(-92.0928,26.5588,-28.6199)--
(-68.4094,64.8161,-33.4519)--
(-58.6781,80.6249,8.17712)--
(-76.4211,51.8528,37.9121)--
(-97.1734,18.3382,15.6109)--
cycle;
snbDdcright[5]=
(-92.0928,-26.5588,28.6199)--
(-68.4094,-64.8161,33.4519)--
(-58.6781,-80.6249,-8.17712)--
(-76.4211,-51.8528,-37.9121)--
(-97.1734,-18.3382,-15.6109)--
cycle;
snbDdcright[6]=
(92.0928,-26.5588,-28.6199)--
(68.4094,-64.8161,-33.4519)--
(58.6781,-80.6249,8.17712)--
(76.4211,-51.8528,37.9121)--
(97.1734,-18.3382,15.6109)--
cycle;
snbDdcright[7]=
(92.0928,26.5588,28.6199)--
(68.4094,64.8161,33.4519)--
(58.6781,80.6249,-8.17712)--
(76.4211,51.8528,-37.9121)--
(97.1734,18.3382,-15.6109)--
cycle;
snbDdcright[8]=
(26.5588,-28.6199,-92.0928)--
(64.8161,-33.4519,-68.4094)--
(80.6249,8.17712,-58.6781)--
(51.8528,37.9121,-76.4211)--
(18.3382,15.6109,-97.1734)--
cycle;
snbDdcright[9]=
(-26.5588,28.6199,-92.0928)--
(-64.8161,33.4519,-68.4094)--
(-80.6249,-8.17712,-58.6781)--
(-51.8528,-37.9121,-76.4211)--
(-18.3382,-15.6109,-97.1734)--
cycle;
snbDdcright[10]=
(26.5588,28.6199,92.0928)--
(64.8161,33.4519,68.4094)--
(80.6249,-8.17712,58.6781)--
(51.8528,-37.9121,76.4211)--
(18.3382,-15.6109,97.1734)--
cycle;
snbDdcright[11]=
(-26.5588,-28.6199,92.0928)--
(-64.8161,-33.4519,68.4094)--
(-80.6249,8.17712,58.6781)--
(-51.8528,37.9121,76.4211)--
(-18.3382,15.6109,97.1734)--
cycle;
snbDdcright[12]=
(15.6109,97.1734,-18.3382)--
(58.6781,80.6249,-8.17712)--
(28.6199,92.0928,26.5588)--
cycle;
snbDdcright[13]=
(-15.6109,97.1734,18.3382)--
(-58.6781,80.6249,8.17712)--
(-28.6199,92.0928,-26.5588)--
cycle;
snbDdcright[14]=
(15.6109,-97.1734,18.3382)--
(58.6781,-80.6249,8.17712)--
(28.6199,-92.0928,-26.5588)--
cycle;
snbDdcright[15]=
(-15.6109,-97.1734,-18.3382)--
(-58.6781,-80.6249,-8.17712)--
(-28.6199,-92.0928,26.5588)--
cycle;
snbDdcright[16]=
(-97.1734,18.3382,15.6109)--
(-80.6249,8.17712,58.6781)--
(-92.0928,-26.5588,28.6199)--
cycle;
snbDdcright[17]=
(-97.1734,-18.3382,-15.6109)--
(-80.6249,-8.17712,-58.6781)--
(-92.0928,26.5588,-28.6199)--
cycle;
snbDdcright[18]=
(97.1734,-18.3382,15.6109)--
(80.6249,-8.17712,58.6781)--
(92.0928,26.5588,28.6199)--
cycle;
snbDdcright[19]=
(97.1734,18.3382,-15.6109)--
(80.6249,8.17712,-58.6781)--
(92.0928,-26.5588,-28.6199)--
cycle;
snbDdcright[20]=
(18.3382,15.6109,-97.1734)--
(8.17712,58.6781,-80.6249)--
(-26.5588,28.6199,-92.0928)--
cycle;
snbDdcright[21]=
(-18.3382,-15.6109,-97.1734)--
(-8.17712,-58.6781,-80.6249)--
(26.5588,-28.6199,-92.0928)--
cycle;
snbDdcright[22]=
(18.3382,-15.6109,97.1734)--
(8.17712,-58.6781,80.6249)--
(-26.5588,-28.6199,92.0928)--
cycle;
snbDdcright[23]=
(-18.3382,15.6109,97.1734)--
(-8.17712,58.6781,80.6249)--
(26.5588,28.6199,92.0928)--
cycle;
snbDdcright[24]=
(37.9121,76.4211,-51.8528)--
(51.8528,37.9121,-76.4211)--
(76.4211,51.8528,-37.9121)--
cycle;
snbDdcright[25]=
(33.4519,68.4094,64.8161)--
(68.4094,64.8161,33.4519)--
(64.8161,33.4519,68.4094)--
cycle;
snbDdcright[26]=
(-37.9121,76.4211,51.8528)--
(-51.8528,37.9121,76.4211)--
(-76.4211,51.8528,37.9121)--
cycle;
snbDdcright[27]=
(-68.4094,64.8161,-33.4519)--
(-64.8161,33.4519,-68.4094)--
(-33.4519,68.4094,-64.8161)--
cycle;
snbDdcright[28]=
(37.9121,-76.4211,51.8528)--
(51.8528,-37.9121,76.4211)--
(76.4211,-51.8528,37.9121)--
cycle;
snbDdcright[29]=
(33.4519,-68.4094,-64.8161)--
(68.4094,-64.8161,-33.4519)--
(64.8161,-33.4519,-68.4094)--
cycle;
snbDdcright[30]=
(-37.9121,-76.4211,-51.8528)--
(-51.8528,-37.9121,-76.4211)--
(-76.4211,-51.8528,-37.9121)--
cycle;
snbDdcright[31]=
(-68.4094,-64.8161,33.4519)--
(-64.8161,-33.4519,68.4094)--
(-33.4519,-68.4094,64.8161)--
cycle;
snbDdcright[32]=
(15.6109,97.1734,-18.3382)--
(58.6781,80.6249,-8.17712)--
(37.9121,76.4211,-51.8528)--
cycle;
snbDdcright[33]=
(76.4211,51.8528,-37.9121)--
(37.9121,76.4211,-51.8528)--
(58.6781,80.6249,-8.17712)--
cycle;
snbDdcright[34]=
(58.6781,80.6249,-8.17712)--
(28.6199,92.0928,26.5588)--
(68.4094,64.8161,33.4519)--
cycle;
snbDdcright[35]=
(33.4519,68.4094,64.8161)--
(68.4094,64.8161,33.4519)--
(28.6199,92.0928,26.5588)--
cycle;
snbDdcright[36]=
(-15.6109,97.1734,18.3382)--
(-58.6781,80.6249,8.17712)--
(-37.9121,76.4211,51.8528)--
cycle;
snbDdcright[37]=
(-76.4211,51.8528,37.9121)--
(-37.9121,76.4211,51.8528)--
(-58.6781,80.6249,8.17712)--
cycle;
snbDdcright[38]=
(-58.6781,80.6249,8.17712)--
(-28.6199,92.0928,-26.5588)--
(-68.4094,64.8161,-33.4519)--
cycle;
snbDdcright[39]=
(-33.4519,68.4094,-64.8161)--
(-68.4094,64.8161,-33.4519)--
(-28.6199,92.0928,-26.5588)--
cycle;
snbDdcright[40]=
(15.6109,-97.1734,18.3382)--
(58.6781,-80.6249,8.17712)--
(37.9121,-76.4211,51.8528)--
cycle;
snbDdcright[41]=
(76.4211,-51.8528,37.9121)--
(37.9121,-76.4211,51.8528)--
(58.6781,-80.6249,8.17712)--
cycle;
snbDdcright[42]=
(58.6781,-80.6249,8.17712)--
(28.6199,-92.0928,-26.5588)--
(68.4094,-64.8161,-33.4519)--
cycle;
snbDdcright[43]=
(33.4519,-68.4094,-64.8161)--
(68.4094,-64.8161,-33.4519)--
(28.6199,-92.0928,-26.5588)--
cycle;
snbDdcright[44]=
(-15.6109,-97.1734,-18.3382)--
(-58.6781,-80.6249,-8.17712)--
(-37.9121,-76.4211,-51.8528)--
cycle;
snbDdcright[45]=
(-76.4211,-51.8528,-37.9121)--
(-37.9121,-76.4211,-51.8528)--
(-58.6781,-80.6249,-8.17712)--
cycle;
snbDdcright[46]=
(-58.6781,-80.6249,-8.17712)--
(-28.6199,-92.0928,26.5588)--
(-68.4094,-64.8161,33.4519)--
cycle;
snbDdcright[47]=
(-33.4519,-68.4094,64.8161)--
(-68.4094,-64.8161,33.4519)--
(-28.6199,-92.0928,26.5588)--
cycle;
snbDdcright[48]=
(-97.1734,18.3382,15.6109)--
(-80.6249,8.17712,58.6781)--
(-76.4211,51.8528,37.9121)--
cycle;
snbDdcright[49]=
(-51.8528,37.9121,76.4211)--
(-76.4211,51.8528,37.9121)--
(-80.6249,8.17712,58.6781)--
cycle;
snbDdcright[50]=
(-80.6249,8.17712,58.6781)--
(-92.0928,-26.5588,28.6199)--
(-64.8161,-33.4519,68.4094)--
cycle;
snbDdcright[51]=
(-68.4094,-64.8161,33.4519)--
(-64.8161,-33.4519,68.4094)--
(-92.0928,-26.5588,28.6199)--
cycle;
snbDdcright[52]=
(-97.1734,-18.3382,-15.6109)--
(-80.6249,-8.17712,-58.6781)--
(-76.4211,-51.8528,-37.9121)--
cycle;
snbDdcright[53]=
(-51.8528,-37.9121,-76.4211)--
(-76.4211,-51.8528,-37.9121)--
(-80.6249,-8.17712,-58.6781)--
cycle;
snbDdcright[54]=
(-80.6249,-8.17712,-58.6781)--
(-92.0928,26.5588,-28.6199)--
(-64.8161,33.4519,-68.4094)--
cycle;
snbDdcright[55]=
(-68.4094,64.8161,-33.4519)--
(-64.8161,33.4519,-68.4094)--
(-92.0928,26.5588,-28.6199)--
cycle;
snbDdcright[56]=
(97.1734,-18.3382,15.6109)--
(80.6249,-8.17712,58.6781)--
(76.4211,-51.8528,37.9121)--
cycle;
snbDdcright[57]=
(51.8528,-37.9121,76.4211)--
(76.4211,-51.8528,37.9121)--
(80.6249,-8.17712,58.6781)--
cycle;
snbDdcright[58]=
(80.6249,-8.17712,58.6781)--
(92.0928,26.5588,28.6199)--
(64.8161,33.4519,68.4094)--
cycle;
snbDdcright[59]=
(68.4094,64.8161,33.4519)--
(64.8161,33.4519,68.4094)--
(92.0928,26.5588,28.6199)--
cycle;
snbDdcright[60]=
(97.1734,18.3382,-15.6109)--
(80.6249,8.17712,-58.6781)--
(76.4211,51.8528,-37.9121)--
cycle;
snbDdcright[61]=
(51.8528,37.9121,-76.4211)--
(76.4211,51.8528,-37.9121)--
(80.6249,8.17712,-58.6781)--
cycle;
snbDdcright[62]=
(80.6249,8.17712,-58.6781)--
(92.0928,-26.5588,-28.6199)--
(64.8161,-33.4519,-68.4094)--
cycle;
snbDdcright[63]=
(68.4094,-64.8161,-33.4519)--
(64.8161,-33.4519,-68.4094)--
(92.0928,-26.5588,-28.6199)--
cycle;
snbDdcright[64]=
(18.3382,15.6109,-97.1734)--
(8.17712,58.6781,-80.6249)--
(51.8528,37.9121,-76.4211)--
cycle;
snbDdcright[65]=
(37.9121,76.4211,-51.8528)--
(51.8528,37.9121,-76.4211)--
(8.17712,58.6781,-80.6249)--
cycle;
snbDdcright[66]=
(8.17712,58.6781,-80.6249)--
(-26.5588,28.6199,-92.0928)--
(-33.4519,68.4094,-64.8161)--
cycle;
snbDdcright[67]=
(-64.8161,33.4519,-68.4094)--
(-33.4519,68.4094,-64.8161)--
(-26.5588,28.6199,-92.0928)--
cycle;
snbDdcright[68]=
(-18.3382,-15.6109,-97.1734)--
(-8.17712,-58.6781,-80.6249)--
(-51.8528,-37.9121,-76.4211)--
cycle;
snbDdcright[69]=
(-37.9121,-76.4211,-51.8528)--
(-51.8528,-37.9121,-76.4211)--
(-8.17712,-58.6781,-80.6249)--
cycle;
snbDdcright[70]=
(-8.17712,-58.6781,-80.6249)--
(26.5588,-28.6199,-92.0928)--
(33.4519,-68.4094,-64.8161)--
cycle;
snbDdcright[71]=
(64.8161,-33.4519,-68.4094)--
(33.4519,-68.4094,-64.8161)--
(26.5588,-28.6199,-92.0928)--
cycle;
snbDdcright[72]=
(18.3382,-15.6109,97.1734)--
(8.17712,-58.6781,80.6249)--
(51.8528,-37.9121,76.4211)--
cycle;
snbDdcright[73]=
(37.9121,-76.4211,51.8528)--
(51.8528,-37.9121,76.4211)--
(8.17712,-58.6781,80.6249)--
cycle;
snbDdcright[74]=
(8.17712,-58.6781,80.6249)--
(-26.5588,-28.6199,92.0928)--
(-33.4519,-68.4094,64.8161)--
cycle;
snbDdcright[75]=
(-64.8161,-33.4519,68.4094)--
(-33.4519,-68.4094,64.8161)--
(-26.5588,-28.6199,92.0928)--
cycle;
snbDdcright[76]=
(-18.3382,15.6109,97.1734)--
(-8.17712,58.6781,80.6249)--
(-51.8528,37.9121,76.4211)--
cycle;
snbDdcright[77]=
(-37.9121,76.4211,51.8528)--
(-51.8528,37.9121,76.4211)--
(-8.17712,58.6781,80.6249)--
cycle;
snbDdcright[78]=
(-8.17712,58.6781,80.6249)--
(26.5588,28.6199,92.0928)--
(33.4519,68.4094,64.8161)--
cycle;
snbDdcright[79]=
(64.8161,33.4519,68.4094)--
(33.4519,68.4094,64.8161)--
(26.5588,28.6199,92.0928)--
cycle;
snbDdcright[80]=
(-28.6199,92.0928,-26.5588)--
(-15.6109,97.1734,18.3382)--
(15.6109,97.1734,-18.3382)--
cycle;
snbDdcright[81]=
(28.6199,92.0928,26.5588)--
(15.6109,97.1734,-18.3382)--
(-15.6109,97.1734,18.3382)--
cycle;
snbDdcright[82]=
(-28.6199,-92.0928,26.5588)--
(-15.6109,-97.1734,-18.3382)--
(15.6109,-97.1734,18.3382)--
cycle;
snbDdcright[83]=
(28.6199,-92.0928,-26.5588)--
(15.6109,-97.1734,18.3382)--
(-15.6109,-97.1734,-18.3382)--
cycle;
snbDdcright[84]=
(-92.0928,26.5588,-28.6199)--
(-97.1734,-18.3382,-15.6109)--
(-97.1734,18.3382,15.6109)--
cycle;
snbDdcright[85]=
(-92.0928,-26.5588,28.6199)--
(-97.1734,18.3382,15.6109)--
(-97.1734,-18.3382,-15.6109)--
cycle;
snbDdcright[86]=
(92.0928,-26.5588,-28.6199)--
(97.1734,18.3382,-15.6109)--
(97.1734,-18.3382,15.6109)--
cycle;
snbDdcright[87]=
(92.0928,26.5588,28.6199)--
(97.1734,-18.3382,15.6109)--
(97.1734,18.3382,-15.6109)--
cycle;
snbDdcright[88]=
(26.5588,-28.6199,-92.0928)--
(-18.3382,-15.6109,-97.1734)--
(18.3382,15.6109,-97.1734)--
cycle;
snbDdcright[89]=
(-26.5588,28.6199,-92.0928)--
(18.3382,15.6109,-97.1734)--
(-18.3382,-15.6109,-97.1734)--
cycle;
snbDdcright[90]=
(26.5588,28.6199,92.0928)--
(-18.3382,15.6109,97.1734)--
(18.3382,-15.6109,97.1734)--
cycle;
snbDdcright[91]=
(-26.5588,-28.6199,92.0928)--
(18.3382,-15.6109,97.1734)--
(-18.3382,15.6109,97.1734)--
cycle;
snbDdcright=scale3(1/abs(point(snbDdcright[0],0)))*snbDdcright;
//*** end of snbDdcright ***
//*** start of greatRhombicosDodec ***
greatRhombicosDodec[0]=
(-13.1496,-98.2558,-13.1496)--
(-34.4262,-90.1289,-26.2992)--
(-42.5531,-76.9792,-47.5758)--
(-34.4262,-63.8296,-68.8523)--
(-13.1496,-55.7027,-82.0019)--
(13.1496,-55.7027,-82.0019)--
(34.4262,-63.8296,-68.8523)--
(42.5531,-76.9792,-47.5758)--
(34.4262,-90.1289,-26.2992)--
(13.1496,-98.2558,-13.1496)--
cycle;
greatRhombicosDodec[1]=
(13.1496,-98.2558,13.1496)--
(34.4262,-90.1289,26.2992)--
(42.5531,-76.9792,47.5758)--
(34.4262,-63.8296,68.8523)--
(13.1496,-55.7027,82.0019)--
(-13.1496,-55.7027,82.0019)--
(-34.4262,-63.8296,68.8523)--
(-42.5531,-76.9792,47.5758)--
(-34.4262,-90.1289,26.2992)--
(-13.1496,-98.2558,13.1496)--
cycle;
greatRhombicosDodec[2]=
(-13.1496,98.2558,13.1496)--
(-34.4262,90.1289,26.2992)--
(-42.5531,76.9792,47.5758)--
(-34.4262,63.8296,68.8523)--
(-13.1496,55.7027,82.0019)--
(13.1496,55.7027,82.0019)--
(34.4262,63.8296,68.8523)--
(42.5531,76.9792,47.5758)--
(34.4262,90.1289,26.2992)--
(13.1496,98.2558,13.1496)--
cycle;
greatRhombicosDodec[3]=
(13.1496,98.2558,-13.1496)--
(34.4262,90.1289,-26.2992)--
(42.5531,76.9792,-47.5758)--
(34.4262,63.8296,-68.8523)--
(13.1496,55.7027,-82.0019)--
(-13.1496,55.7027,-82.0019)--
(-34.4262,63.8296,-68.8523)--
(-42.5531,76.9792,-47.5758)--
(-34.4262,90.1289,-26.2992)--
(-13.1496,98.2558,-13.1496)--
cycle;
greatRhombicosDodec[4]=
(-98.2558,-13.1496,-13.1496)--
(-90.1289,-26.2992,-34.4262)--
(-76.9792,-47.5758,-42.5531)--
(-63.8296,-68.8523,-34.4262)--
(-55.7027,-82.0019,-13.1496)--
(-55.7027,-82.0019,13.1496)--
(-63.8296,-68.8523,34.4262)--
(-76.9792,-47.5758,42.5531)--
(-90.1289,-26.2992,34.4262)--
(-98.2558,-13.1496,13.1496)--
cycle;
greatRhombicosDodec[5]=
(-98.2558,13.1496,13.1496)--
(-90.1289,26.2992,34.4262)--
(-76.9792,47.5758,42.5531)--
(-63.8296,68.8523,34.4262)--
(-55.7027,82.0019,13.1496)--
(-55.7027,82.0019,-13.1496)--
(-63.8296,68.8523,-34.4262)--
(-76.9792,47.5758,-42.5531)--
(-90.1289,26.2992,-34.4262)--
(-98.2558,13.1496,-13.1496)--
cycle;
greatRhombicosDodec[6]=
(98.2558,13.1496,-13.1496)--
(90.1289,26.2992,-34.4262)--
(76.9792,47.5758,-42.5531)--
(63.8296,68.8523,-34.4262)--
(55.7027,82.0019,-13.1496)--
(55.7027,82.0019,13.1496)--
(63.8296,68.8523,34.4262)--
(76.9792,47.5758,42.5531)--
(90.1289,26.2992,34.4262)--
(98.2558,13.1496,13.1496)--
cycle;
greatRhombicosDodec[7]=
(98.2558,-13.1496,13.1496)--
(90.1289,-26.2992,34.4262)--
(76.9792,-47.5758,42.5531)--
(63.8296,-68.8523,34.4262)--
(55.7027,-82.0019,13.1496)--
(55.7027,-82.0019,-13.1496)--
(63.8296,-68.8523,-34.4262)--
(76.9792,-47.5758,-42.5531)--
(90.1289,-26.2992,-34.4262)--
(98.2558,-13.1496,-13.1496)--
cycle;
greatRhombicosDodec[8]=
(13.1496,13.1496,-98.2558)--
(26.2992,34.4262,-90.1289)--
(47.5758,42.5531,-76.9792)--
(68.8523,34.4262,-63.8296)--
(82.0019,13.1496,-55.7027)--
(82.0019,-13.1496,-55.7027)--
(68.8523,-34.4262,-63.8296)--
(47.5758,-42.5531,-76.9792)--
(26.2992,-34.4262,-90.1289)--
(13.1496,-13.1496,-98.2558)--
cycle;
greatRhombicosDodec[9]=
(-13.1496,-13.1496,-98.2558)--
(-26.2992,-34.4262,-90.1289)--
(-47.5758,-42.5531,-76.9792)--
(-68.8523,-34.4262,-63.8296)--
(-82.0019,-13.1496,-55.7027)--
(-82.0019,13.1496,-55.7027)--
(-68.8523,34.4262,-63.8296)--
(-47.5758,42.5531,-76.9792)--
(-26.2992,34.4262,-90.1289)--
(-13.1496,13.1496,-98.2558)--
cycle;
greatRhombicosDodec[10]=
(13.1496,-13.1496,98.2558)--
(26.2992,-34.4262,90.1289)--
(47.5758,-42.5531,76.9792)--
(68.8523,-34.4262,63.8296)--
(82.0019,-13.1496,55.7027)--
(82.0019,13.1496,55.7027)--
(68.8523,34.4262,63.8296)--
(47.5758,42.5531,76.9792)--
(26.2992,34.4262,90.1289)--
(13.1496,13.1496,98.2558)--
cycle;
greatRhombicosDodec[11]=
(-13.1496,13.1496,98.2558)--
(-26.2992,34.4262,90.1289)--
(-47.5758,42.5531,76.9792)--
(-68.8523,34.4262,63.8296)--
(-82.0019,13.1496,55.7027)--
(-82.0019,-13.1496,55.7027)--
(-68.8523,-34.4262,63.8296)--
(-47.5758,-42.5531,76.9792)--
(-26.2992,-34.4262,90.1289)--
(-13.1496,-13.1496,98.2558)--
cycle;
greatRhombicosDodec[12]=
(34.4262,-90.1289,-26.2992)--
(13.1496,-98.2558,-13.1496)--
(13.1496,-98.2558,13.1496)--
(34.4262,-90.1289,26.2992)--
(55.7027,-82.0019,13.1496)--
(55.7027,-82.0019,-13.1496)--
cycle;
greatRhombicosDodec[13]=
(-34.4262,-90.1289,26.2992)--
(-13.1496,-98.2558,13.1496)--
(-13.1496,-98.2558,-13.1496)--
(-34.4262,-90.1289,-26.2992)--
(-55.7027,-82.0019,-13.1496)--
(-55.7027,-82.0019,13.1496)--
cycle;
greatRhombicosDodec[14]=
(34.4262,90.1289,26.2992)--
(13.1496,98.2558,13.1496)--
(13.1496,98.2558,-13.1496)--
(34.4262,90.1289,-26.2992)--
(55.7027,82.0019,-13.1496)--
(55.7027,82.0019,13.1496)--
cycle;
greatRhombicosDodec[15]=
(-34.4262,90.1289,-26.2992)--
(-13.1496,98.2558,-13.1496)--
(-13.1496,98.2558,13.1496)--
(-34.4262,90.1289,26.2992)--
(-55.7027,82.0019,13.1496)--
(-55.7027,82.0019,-13.1496)--
cycle;
greatRhombicosDodec[16]=
(-90.1289,-26.2992,34.4262)--
(-98.2558,-13.1496,13.1496)--
(-98.2558,13.1496,13.1496)--
(-90.1289,26.2992,34.4262)--
(-82.0019,13.1496,55.7027)--
(-82.0019,-13.1496,55.7027)--
cycle;
greatRhombicosDodec[17]=
(-90.1289,26.2992,-34.4262)--
(-98.2558,13.1496,-13.1496)--
(-98.2558,-13.1496,-13.1496)--
(-90.1289,-26.2992,-34.4262)--
(-82.0019,-13.1496,-55.7027)--
(-82.0019,13.1496,-55.7027)--
cycle;
greatRhombicosDodec[18]=
(90.1289,26.2992,34.4262)--
(98.2558,13.1496,13.1496)--
(98.2558,-13.1496,13.1496)--
(90.1289,-26.2992,34.4262)--
(82.0019,-13.1496,55.7027)--
(82.0019,13.1496,55.7027)--
cycle;
greatRhombicosDodec[19]=
(90.1289,-26.2992,-34.4262)--
(98.2558,-13.1496,-13.1496)--
(98.2558,13.1496,-13.1496)--
(90.1289,26.2992,-34.4262)--
(82.0019,13.1496,-55.7027)--
(82.0019,-13.1496,-55.7027)--
cycle;
greatRhombicosDodec[20]=
(26.2992,-34.4262,-90.1289)--
(13.1496,-13.1496,-98.2558)--
(-13.1496,-13.1496,-98.2558)--
(-26.2992,-34.4262,-90.1289)--
(-13.1496,-55.7027,-82.0019)--
(13.1496,-55.7027,-82.0019)--
cycle;
greatRhombicosDodec[21]=
(-26.2992,34.4262,-90.1289)--
(-13.1496,13.1496,-98.2558)--
(13.1496,13.1496,-98.2558)--
(26.2992,34.4262,-90.1289)--
(13.1496,55.7027,-82.0019)--
(-13.1496,55.7027,-82.0019)--
cycle;
greatRhombicosDodec[22]=
(26.2992,34.4262,90.1289)--
(13.1496,13.1496,98.2558)--
(-13.1496,13.1496,98.2558)--
(-26.2992,34.4262,90.1289)--
(-13.1496,55.7027,82.0019)--
(13.1496,55.7027,82.0019)--
cycle;
greatRhombicosDodec[23]=
(-26.2992,-34.4262,90.1289)--
(-13.1496,-13.1496,98.2558)--
(13.1496,-13.1496,98.2558)--
(26.2992,-34.4262,90.1289)--
(13.1496,-55.7027,82.0019)--
(-13.1496,-55.7027,82.0019)--
cycle;
greatRhombicosDodec[24]=
(34.4262,-63.8296,-68.8523)--
(42.5531,-76.9792,-47.5758)--
(63.8296,-68.8523,-34.4262)--
(76.9792,-47.5758,-42.5531)--
(68.8523,-34.4262,-63.8296)--
(47.5758,-42.5531,-76.9792)--
cycle;
greatRhombicosDodec[25]=
(76.9792,-47.5758,42.5531)--
(63.8296,-68.8523,34.4262)--
(42.5531,-76.9792,47.5758)--
(34.4262,-63.8296,68.8523)--
(47.5758,-42.5531,76.9792)--
(68.8523,-34.4262,63.8296)--
cycle;
greatRhombicosDodec[26]=
(-34.4262,-63.8296,68.8523)--
(-42.5531,-76.9792,47.5758)--
(-63.8296,-68.8523,34.4262)--
(-76.9792,-47.5758,42.5531)--
(-68.8523,-34.4262,63.8296)--
(-47.5758,-42.5531,76.9792)--
cycle;
greatRhombicosDodec[27]=
(-76.9792,-47.5758,-42.5531)--
(-63.8296,-68.8523,-34.4262)--
(-42.5531,-76.9792,-47.5758)--
(-34.4262,-63.8296,-68.8523)--
(-47.5758,-42.5531,-76.9792)--
(-68.8523,-34.4262,-63.8296)--
cycle;
greatRhombicosDodec[28]=
(34.4262,63.8296,68.8523)--
(42.5531,76.9792,47.5758)--
(63.8296,68.8523,34.4262)--
(76.9792,47.5758,42.5531)--
(68.8523,34.4262,63.8296)--
(47.5758,42.5531,76.9792)--
cycle;
greatRhombicosDodec[29]=
(76.9792,47.5758,-42.5531)--
(63.8296,68.8523,-34.4262)--
(42.5531,76.9792,-47.5758)--
(34.4262,63.8296,-68.8523)--
(47.5758,42.5531,-76.9792)--
(68.8523,34.4262,-63.8296)--
cycle;
greatRhombicosDodec[30]=
(-34.4262,63.8296,-68.8523)--
(-42.5531,76.9792,-47.5758)--
(-63.8296,68.8523,-34.4262)--
(-76.9792,47.5758,-42.5531)--
(-68.8523,34.4262,-63.8296)--
(-47.5758,42.5531,-76.9792)--
cycle;
greatRhombicosDodec[31]=
(-76.9792,47.5758,42.5531)--
(-63.8296,68.8523,34.4262)--
(-42.5531,76.9792,47.5758)--
(-34.4262,63.8296,68.8523)--
(-47.5758,42.5531,76.9792)--
(-68.8523,34.4262,63.8296)--
cycle;
greatRhombicosDodec[32]=
(42.5531,-76.9792,-47.5758)--
(34.4262,-90.1289,-26.2992)--
(55.7027,-82.0019,-13.1496)--
(63.8296,-68.8523,-34.4262)--
cycle;
greatRhombicosDodec[33]=
(63.8296,-68.8523,34.4262)--
(55.7027,-82.0019,13.1496)--
(34.4262,-90.1289,26.2992)--
(42.5531,-76.9792,47.5758)--
cycle;
greatRhombicosDodec[34]=
(-42.5531,-76.9792,47.5758)--
(-34.4262,-90.1289,26.2992)--
(-55.7027,-82.0019,13.1496)--
(-63.8296,-68.8523,34.4262)--
cycle;
greatRhombicosDodec[35]=
(-63.8296,-68.8523,-34.4262)--
(-55.7027,-82.0019,-13.1496)--
(-34.4262,-90.1289,-26.2992)--
(-42.5531,-76.9792,-47.5758)--
cycle;
greatRhombicosDodec[36]=
(42.5531,76.9792,47.5758)--
(34.4262,90.1289,26.2992)--
(55.7027,82.0019,13.1496)--
(63.8296,68.8523,34.4262)--
cycle;
greatRhombicosDodec[37]=
(63.8296,68.8523,-34.4262)--
(55.7027,82.0019,-13.1496)--
(34.4262,90.1289,-26.2992)--
(42.5531,76.9792,-47.5758)--
cycle;
greatRhombicosDodec[38]=
(-42.5531,76.9792,-47.5758)--
(-34.4262,90.1289,-26.2992)--
(-55.7027,82.0019,-13.1496)--
(-63.8296,68.8523,-34.4262)--
cycle;
greatRhombicosDodec[39]=
(-63.8296,68.8523,34.4262)--
(-55.7027,82.0019,13.1496)--
(-34.4262,90.1289,26.2992)--
(-42.5531,76.9792,47.5758)--
cycle;
greatRhombicosDodec[40]=
(-76.9792,-47.5758,42.5531)--
(-90.1289,-26.2992,34.4262)--
(-82.0019,-13.1496,55.7027)--
(-68.8523,-34.4262,63.8296)--
cycle;
greatRhombicosDodec[41]=
(-68.8523,34.4262,63.8296)--
(-82.0019,13.1496,55.7027)--
(-90.1289,26.2992,34.4262)--
(-76.9792,47.5758,42.5531)--
cycle;
greatRhombicosDodec[42]=
(-76.9792,47.5758,-42.5531)--
(-90.1289,26.2992,-34.4262)--
(-82.0019,13.1496,-55.7027)--
(-68.8523,34.4262,-63.8296)--
cycle;
greatRhombicosDodec[43]=
(-68.8523,-34.4262,-63.8296)--
(-82.0019,-13.1496,-55.7027)--
(-90.1289,-26.2992,-34.4262)--
(-76.9792,-47.5758,-42.5531)--
cycle;
greatRhombicosDodec[44]=
(76.9792,47.5758,42.5531)--
(90.1289,26.2992,34.4262)--
(82.0019,13.1496,55.7027)--
(68.8523,34.4262,63.8296)--
cycle;
greatRhombicosDodec[45]=
(68.8523,-34.4262,63.8296)--
(82.0019,-13.1496,55.7027)--
(90.1289,-26.2992,34.4262)--
(76.9792,-47.5758,42.5531)--
cycle;
greatRhombicosDodec[46]=
(76.9792,-47.5758,-42.5531)--
(90.1289,-26.2992,-34.4262)--
(82.0019,-13.1496,-55.7027)--
(68.8523,-34.4262,-63.8296)--
cycle;
greatRhombicosDodec[47]=
(68.8523,34.4262,-63.8296)--
(82.0019,13.1496,-55.7027)--
(90.1289,26.2992,-34.4262)--
(76.9792,47.5758,-42.5531)--
cycle;
greatRhombicosDodec[48]=
(47.5758,-42.5531,-76.9792)--
(26.2992,-34.4262,-90.1289)--
(13.1496,-55.7027,-82.0019)--
(34.4262,-63.8296,-68.8523)--
cycle;
greatRhombicosDodec[49]=
(-34.4262,-63.8296,-68.8523)--
(-13.1496,-55.7027,-82.0019)--
(-26.2992,-34.4262,-90.1289)--
(-47.5758,-42.5531,-76.9792)--
cycle;
greatRhombicosDodec[50]=
(-47.5758,42.5531,-76.9792)--
(-26.2992,34.4262,-90.1289)--
(-13.1496,55.7027,-82.0019)--
(-34.4262,63.8296,-68.8523)--
cycle;
greatRhombicosDodec[51]=
(34.4262,63.8296,-68.8523)--
(13.1496,55.7027,-82.0019)--
(26.2992,34.4262,-90.1289)--
(47.5758,42.5531,-76.9792)--
cycle;
greatRhombicosDodec[52]=
(47.5758,42.5531,76.9792)--
(26.2992,34.4262,90.1289)--
(13.1496,55.7027,82.0019)--
(34.4262,63.8296,68.8523)--
cycle;
greatRhombicosDodec[53]=
(-34.4262,63.8296,68.8523)--
(-13.1496,55.7027,82.0019)--
(-26.2992,34.4262,90.1289)--
(-47.5758,42.5531,76.9792)--
cycle;
greatRhombicosDodec[54]=
(-47.5758,-42.5531,76.9792)--
(-26.2992,-34.4262,90.1289)--
(-13.1496,-55.7027,82.0019)--
(-34.4262,-63.8296,68.8523)--
cycle;
greatRhombicosDodec[55]=
(34.4262,-63.8296,68.8523)--
(13.1496,-55.7027,82.0019)--
(26.2992,-34.4262,90.1289)--
(47.5758,-42.5531,76.9792)--
cycle;
greatRhombicosDodec[56]=
(13.1496,-98.2558,-13.1496)--
(13.1496,-98.2558,13.1496)--
(-13.1496,-98.2558,13.1496)--
(-13.1496,-98.2558,-13.1496)--
cycle;
greatRhombicosDodec[57]=
(13.1496,98.2558,13.1496)--
(13.1496,98.2558,-13.1496)--
(-13.1496,98.2558,-13.1496)--
(-13.1496,98.2558,13.1496)--
cycle;
greatRhombicosDodec[58]=
(-98.2558,-13.1496,13.1496)--
(-98.2558,13.1496,13.1496)--
(-98.2558,13.1496,-13.1496)--
(-98.2558,-13.1496,-13.1496)--
cycle;
greatRhombicosDodec[59]=
(98.2558,13.1496,13.1496)--
(98.2558,-13.1496,13.1496)--
(98.2558,-13.1496,-13.1496)--
(98.2558,13.1496,-13.1496)--
cycle;
greatRhombicosDodec[60]=
(13.1496,-13.1496,-98.2558)--
(-13.1496,-13.1496,-98.2558)--
(-13.1496,13.1496,-98.2558)--
(13.1496,13.1496,-98.2558)--
cycle;
greatRhombicosDodec[61]=
(13.1496,13.1496,98.2558)--
(-13.1496,13.1496,98.2558)--
(-13.1496,-13.1496,98.2558)--
(13.1496,-13.1496,98.2558)--
cycle;
greatRhombicosDodec=scale3(1/abs(point(greatRhombicosDodec[0],0)))*greatRhombicosDodec;
//*** end of greatRhombicosDodec ***