Esempio n. 1
0
        static polyhedron tetrahedron(Graphics g, PictureBox pb, int size)
        {
            double h = size * Math.Sqrt(3);

            point3d p1 = new point3d(-size, (int)-h / 2, (int)-h / 2);
            point3d p2 = new point3d(size, (int)-h / 2, (int)-h / 2);
            point3d p3 = new point3d(0, (int)-h / 2, (int)h / 2);
            point3d p4 = new point3d(0, (int)h / 2, 0);

            edge e1 = new edge(g, pb, ref p1, ref p2);
            edge e2 = new edge(g, pb, ref p2, ref p3);
            edge e3 = new edge(g, pb, ref p3, ref p1);
            edge e4 = new edge(g, pb, ref p1, ref p4);
            edge e5 = new edge(g, pb, ref p2, ref p4);
            edge e6 = new edge(g, pb, ref p3, ref p4);

            polygon plg1 = new polygon();

            plg1.add(e1);
            plg1.add(e2);
            plg1.add(e3);

            polygon plg2 = new polygon();

            plg2.add(e1);
            plg2.add(e4);
            plg2.add(e5);

            polygon plg3 = new polygon();

            plg3.add(e2);
            plg3.add(e5);
            plg3.add(e6);

            polygon plg4 = new polygon();

            plg4.add(e3);
            plg4.add(e4);
            plg4.add(e6);

            polyhedron res = new polyhedron();

            res.add(plg1);
            res.add(plg2);
            res.add(plg3);
            res.add(plg4);
            return(res);
        }
Esempio n. 2
0
        static polyhedron octahedron(Graphics g, PictureBox pb, int size)
        {
            point3d p1 = new point3d(-size / 2, 0, 0);
            point3d p2 = new point3d(0, 0, -size / 2);
            point3d p3 = new point3d(size / 2, 0, 0);
            point3d p4 = new point3d(0, 0, size / 2);
            point3d p5 = new point3d(0, size / 2, 0);
            point3d p6 = new point3d(0, -size / 2, 0);

            edge e1  = new edge(g, pb, ref p1, ref p2);
            edge e2  = new edge(g, pb, ref p2, ref p3);
            edge e3  = new edge(g, pb, ref p3, ref p4);
            edge e4  = new edge(g, pb, ref p1, ref p4);
            edge e5  = new edge(g, pb, ref p1, ref p5);
            edge e6  = new edge(g, pb, ref p2, ref p5);
            edge e7  = new edge(g, pb, ref p3, ref p5);
            edge e8  = new edge(g, pb, ref p4, ref p5);
            edge e9  = new edge(g, pb, ref p1, ref p6);
            edge e10 = new edge(g, pb, ref p2, ref p6);
            edge e11 = new edge(g, pb, ref p3, ref p6);
            edge e12 = new edge(g, pb, ref p4, ref p6);

            polygon plg1 = new polygon();

            plg1.add(e1);
            plg1.add(e6);
            plg1.add(e5);

            polygon plg2 = new polygon();

            plg2.add(e2);
            plg2.add(e7);
            plg2.add(e6);

            polygon plg3 = new polygon();

            plg3.add(e3);
            plg3.add(e7);
            plg3.add(e8);

            polygon plg4 = new polygon();

            plg4.add(e4);
            plg4.add(e8);
            plg4.add(e5);

            polygon plg5 = new polygon();

            plg5.add(e1);
            plg5.add(e9);
            plg5.add(e10);

            polygon plg6 = new polygon();

            plg6.add(e2);
            plg6.add(e10);
            plg6.add(e11);

            polygon plg7 = new polygon();

            plg7.add(e3);
            plg7.add(e11);
            plg7.add(e12);

            polygon plg8 = new polygon();

            plg1.add(e4);
            plg1.add(e9);
            plg1.add(e12);

            polyhedron res = new polyhedron();

            res.add(plg1);
            res.add(plg2);
            res.add(plg3);
            res.add(plg4);
            res.add(plg5);
            res.add(plg6);
            res.add(plg7);
            res.add(plg8);
            return(res);
        }