Polyhedrons with the package polyhedron
List of pictures
Figure 0001
figure 0001
Figure 0002
figure 0002
Figure 0003
figure 0003
Figure 0004
figure 0004
Figure 0005
figure 0005
Figure 0006
figure 0006
Figure 0007
figure 0007
Figure 0008
figure 0008
Figure 0009
figure 0009
Figure 0010
figure 0010
Figure 0011
figure 0011
Figure 0012
figure 0012
Figure 0013
figure 0013
Figure 0014
figure 0014
Figure 0015
figure 0015
Figure 0016
figure 0016
Figure 0017
figure 0017
Figure 0018
figure 0018
Figure 0019
figure 0019
Figure 0020
figure 0020
Figure 0021
figure 0021
Figure 0022
figure 0022
Figure 0001
Figure 0001: fig0010.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
import polyhedron_js;

// comment the following line for OpenGl
// settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

polyhedron pyramid;
real sq2=sqrt(2)/2;
pyramid[0]=(-sq2,-sq2,0)--(-sq2,sq2,0)--(sq2,sq2,0)--(sq2,-sq2,0)--cycle;
pyramid[1]=(sq2,-sq2,0)--(sq2,sq2,0)--(0,0,1)--cycle;
pyramid[2]=(sq2,sq2,0)--(-sq2,sq2,0)--(0,0,1)--cycle;
pyramid[3]=(-sq2,sq2,0)--(-sq2,-sq2,0)--(0,0,1)--cycle;
pyramid[4]=(-sq2,-sq2,0)--(sq2,-sq2,0)--(0,0,1)--cycle;
size(10cm);
polyhedron[] parr={pyramid};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D())
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue))); 

Figure 0002
Figure 0002: fig0020.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,0.5,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={cube};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("Cube",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0003
Figure 0003: fig0030.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,0.5,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={tetrahedron};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("Tetrahedron",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0004
Figure 0004: fig0040.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,0.5,1); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={dodecahedron};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("Dodecahedron",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0005
Figure 0005: fig0050.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,0.5,1); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={icosahedron};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("Icosahedron",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0006
Figure 0006: fig0060.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,0.5,1); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={octahedron};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("Octahedron",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0007
Figure 0007: fig0070.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

currentprojection=orthographic(0.5,0.5,0.5); //if you want othographic look

size(16cm);

polyhedron Plane;
Plane[0]=(-2,-2,-1.5)--(2.5,-2,-1.5)--(2.5,2.5,-1.5)--(-2,2.5,-1.5)--cycle;
Plane[1]=(-2,-2,-1.5)--(-2,2.5,-1.5)--(-2,2.5,0)--(-2,-2,0)--cycle;

pen[] drawcol={black+1bp};
pen[] fcol1={0.8*red,0.8*blue,0.8*green,orange,heavycyan,gray};

triple[] posofsolids;
for(int i=0;i<5;++i) posofsolids[i]=(1.7*cos(2pi/5*i)+1,1.7*sin(2pi/5*i)+1,0);
polyhedron[] parr={ shift(posofsolids[0])*icosahedron,
                    shift(posofsolids[1])*dodecahedron,
                    shift(posofsolids[2])*cube,
                    shift(posofsolids[3])*rotate(45,Z)*octahedron,
                    shift(posofsolids[4])*rotate(90,Z)*tetrahedron,
                    Plane };

filldraw(parr,fcol=fcol1,dcol=drawcol,op=0.9);

if(!is3D()) {
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0008
Figure 0008: fig0080.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={truncTetraRight};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("truncTetraRight",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0009
Figure 0009: fig0090.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={cubooctahedron};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("cubooctahedron",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0010
Figure 0010: fig0100.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={truncCube};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("truncCube",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0011
Figure 0011: fig0110.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
// settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={truncOctahedron};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("truncOctahedron",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0012
Figure 0012: fig0120.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={rhombiCuboocta};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("rhombiCuboocta",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0013
Figure 0013: fig0130.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={truncCuboocta};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("truncCuboocta",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0014
Figure 0014: fig0140.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={snubCubeRight};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("snubCubeRight",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0015
Figure 0015: fig0150.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={snubCubeLeft};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("snubCubeLeft",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0016
Figure 0016: fig0160.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={icosDod};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("icosDod",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0017
Figure 0017: fig0170.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={truncateDodeca};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("truncateDodeca",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0018
Figure 0018: fig0180.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={truncIcos};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("truncIcos",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0019
Figure 0019: fig0190.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={rhombicosDodec};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("rhombicosDodec",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0020
Figure 0020: fig0200.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={snbDdcleft};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("snbDdcleft",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0021
Figure 0021: fig0210.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={snbDdcright};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("snbDdcright",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Figure 0022
Figure 0022: fig0220.asy
(Compiled with Asymptote version 2.14svn-r5318)
    
//Author Jens Schwaiger.
import polyhedron_js;

// comment the following line for OpenGl
settings.render=0;

settings.tex="pdflatex";
settings.outformat="pdf"; // for opacity

size(10cm);

// currentprojection=perspective(7,6,4); //if you want perspectivic look
currentprojection=orthographic(1,1,0.5); //if you want othographic look
currentlight=(1,1,2);
// currentlight=nolight;

polyhedron[] parr={greatRhombicosDodec};
filldraw(parr,new pen[]{0.8green},op=0.9);

if(!is3D()) {
  label("greatRhombicosDodec",point(S),align=3S);
  shipout(bbox(3mm,darkblue+3bp+miterjoin,FillDraw(paleblue)));
}

Dernière modification/Last modified: Sun Jun 26 23:26:30 CEST 2011
Philippe Ivaldi

Valide XHTML