#include<iostream>
#include<cstdlib>
#include<fstream>
#include<cmath>

using namespace std;

#include "postscript.h"


int main(int nargs, char* args[])
{
    PostScript p("hypercube.ps");
    p.pers43( 60, 20 );   // observador a 60 cm y plano a 40
    p.pers32( 60, 20 );   // observador a 60 cm y plano a 40

    p.rotacion4(0,3, 1,2, 30,0);

    double L=5;
    p.moveto(-L, L,-L, L);
    p.lineto(-L, L, L, L);
    p.lineto( L, L, L, L);
    p.lineto( L, L,-L, L);
    p.lineto(-L, L,-L, L);

    p.moveto(-L,-L,-L, L);
    p.lineto(-L,-L, L, L);
    p.lineto( L,-L, L, L);
    p.lineto( L,-L,-L, L);
    p.lineto(-L,-L,-L, L);

    p.moveto(-L, L,-L, L);
    p.lineto(-L,-L,-L, L);

    p.moveto(-L, L, L, L);
    p.lineto(-L,-L, L, L);

    p.moveto( L, L,-L, L);
    p.lineto( L,-L,-L, L);

    p.moveto( L, L, L, L);
    p.lineto( L,-L, L, L);


    p.moveto(-L, L,-L,-L);
    p.lineto(-L, L, L,-L);
    p.lineto( L, L, L,-L);
    p.lineto( L, L,-L,-L);
    p.lineto(-L, L,-L,-L);

    p.moveto(-L,-L,-L,-L);
    p.lineto(-L,-L, L,-L);
    p.lineto( L,-L, L,-L);
    p.lineto( L,-L,-L,-L);
    p.lineto(-L,-L,-L,-L);

    p.moveto(-L, L,-L,-L);
    p.lineto(-L,-L,-L,-L);

    p.moveto(-L, L, L,-L);
    p.lineto(-L,-L, L,-L);

    p.moveto( L, L,-L,-L);
    p.lineto( L,-L,-L,-L);

    p.moveto( L, L, L,-L);
    p.lineto( L,-L, L,-L);

    p.moveto( L, L, L,-L);
    p.lineto( L, L, L, L);

    p.moveto( L, L,-L,-L);
    p.lineto( L, L,-L, L);

    p.moveto( L,-L, L,-L);
    p.lineto( L,-L, L, L);

    p.moveto( L,-L,-L,-L);
    p.lineto( L,-L,-L, L);
     
    p.moveto(-L, L, L,-L);
    p.lineto(-L, L, L, L);

    p.moveto(-L, L,-L,-L);
    p.lineto(-L, L,-L, L);

    p.moveto(-L,-L, L,-L);
    p.lineto(-L,-L, L, L);

    p.moveto(-L,-L,-L,-L);
    p.lineto(-L,-L,-L, L);
    return EXIT_SUCCESS;
}
