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); }
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); }