// tetra4_dat.java datwrite make .stl public class tetra4_dat { double x, y, z, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4; double x5, y5, z5, x6, y6, z6, x7, y7, z7, x8, y8, z8; // 8 vertex double x9, y9, z9, x10, y10, z10, x11, y11, z11; // 6 middle double x12, y12, z12, x13, y13, z13, x14, y14, z14; double len = 0.0; double area = 0.0; int k = 0; int num_points = 0; int num_polys = 0; double xyz[][] = new double[10000][3]; // x, y, z for output int newpts[] = new int[20000]; // 3, xyz1, xyz2, xyz3 for output String fileout = "tetra4_java.dat"; public tetra4_dat() { System.out.println("tetra4_dat.java running"); System.out.println(" "); System.out.println("2 tetra in a cube "); System.out.println("8 vertex of cube"); x1 = 0.0; y1 = 0.0; z1 = 0.0; System.out.println("x="+x1+" y="+y1+" z="+z1); xyz[num_points][0] = x1; xyz[num_points][1] = y1; xyz[num_points][2] = z1; num_points = num_points + 1; x2 = 0.0; y2 = 0.0; z2 = 1.0; System.out.println("x="+x2+" y="+y2+" z="+z2); xyz[num_points][0] = x2; xyz[num_points][1] = y2; xyz[num_points][2] = z2; num_points = num_points + 1; x3 = 0.0; y3 = 1.0; z3 = 0.0; System.out.println("x="+x3+" y="+y3+" z="+z3); xyz[num_points][0] = x3; xyz[num_points][1] = y3; xyz[num_points][2] = z3; num_points = num_points + 1; x4 = 0.0; y4 = 1.0; z4 = 1.0; System.out.println("x="+x4+" y="+y4+" z="+z4); xyz[num_points][0] = x4; xyz[num_points][1] = y4; xyz[num_points][2] = z4; num_points = num_points + 1; x5 = 1.0; y5 = 0.0; z5 = 0.0; System.out.println("x="+x5+" y="+y5+" z="+z5); xyz[num_points][0] = x5; xyz[num_points][1] = y5; xyz[num_points][2] = z5; num_points = num_points + 1; x6 = 1.0; y6 = 1.0; z6 = 0.0; System.out.println("x="+x6+" y="+y6+" z="+z6); xyz[num_points][0] = x6; xyz[num_points][1] = y6; xyz[num_points][2] = z6; num_points = num_points + 1; x7 = 1.0; y7 = 0.0; z7 = 1.0; System.out.println("x="+x7+" y="+y7+" z="+z7); xyz[num_points][0] = x7; xyz[num_points][1] = y7; xyz[num_points][2] = z7; num_points = num_points + 1; x8 = 1.0; y8 = 1.0; z8 = 1.0; System.out.println("x="+x8+" y="+y8+" z="+z8); xyz[num_points][0] = x8; xyz[num_points][1] = y8; xyz[num_points][2] = z8; num_points = num_points + 1; System.out.println(" "); System.out.println("6 face centers of cube"); x9 = 0.5; y9 = 0.5; z9 = 0.0; System.out.println("x="+x9+" y="+y9+" z="+z9); xyz[num_points][0] = x9; xyz[num_points][1] = y9; xyz[num_points][2] = z9; num_points = num_points + 1; x10 = 1.0; y10 = 0.5; z10 = 0.5; System.out.println("x="+x10+" y="+y10+" z="+z10); xyz[num_points][0] = x10; xyz[num_points][1] = y10; xyz[num_points][2] = z10; num_points = num_points + 1; x11 = 0.5; y11 = 0.5; z11 = 1.0; System.out.println("x="+x11+" y="+y11+" z="+z11); xyz[num_points][0] = x11; xyz[num_points][1] = y11; xyz[num_points][2] = z11; num_points = num_points + 1; x12 = 0.0; y12 = 0.5; z12 = 0.5; System.out.println("x="+x12+" y="+y12+" z="+z12); xyz[num_points][0] = x12; xyz[num_points][1] = y12; xyz[num_points][2] = z12; num_points = num_points + 1; x13 = 0.5; y13 = 1.0; z13 = 0.5; System.out.println("x="+x13+" y="+y13+" z="+z13); xyz[num_points][0] = x13; xyz[num_points][1] = y13; xyz[num_points][2] = z13; num_points = num_points + 1; x14 = 0.5; y14 = 0.0; z14 = 0.5; System.out.println("x="+x14+" y="+y14+" z="+z14); xyz[num_points][0] = x14; xyz[num_points][1] = y14; xyz[num_points][2] = z14; num_points = num_points + 1; System.out.println(" "); System.out.println("make points of first tetrahedron"); num_polys = 0; // vertex 1, 4, 6, 7 k = 0; // polygon pts newpts[k++] = 3; newpts[k++] = 1; // 1 newpts[k++] = 9; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 1; newpts[k++] = 9; newpts[k++] = 12; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 1; newpts[k++] = 12; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 4; // 4 newpts[k++] = 11; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 4; newpts[k++] = 12; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 4; newpts[k++] = 11; newpts[k++] = 12; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 6; // 6 newpts[k++] = 9; newpts[k++] = 10; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 6; newpts[k++] = 10; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 6; newpts[k++] = 9; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 7; // 7 newpts[k++] = 10; newpts[k++] = 11; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 7; newpts[k++] = 10; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 7; newpts[k++] = 11; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); System.out.println(" "); System.out.println("make points of second tetrahedron"); // vertex 2, 3, 5, 8 newpts[k++] = 3; newpts[k++] = 2; // 2 newpts[k++] = 11; newpts[k++] = 12; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 2; newpts[k++] = 11; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 2; newpts[k++] = 12; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 3; // 3 newpts[k++] = 9; newpts[k++] = 12; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 3; newpts[k++] = 9; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 3; newpts[k++] = 12; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 5; // 5 newpts[k++] = 14; newpts[k++] = 10; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 5; newpts[k++] = 10; newpts[k++] = 9; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 5; newpts[k++] = 9; newpts[k++] = 14; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 8; // 8 newpts[k++] = 10; newpts[k++] = 11; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 8; newpts[k++] = 10; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); newpts[k++] = 3; newpts[k++] = 8; newpts[k++] = 11; newpts[k++] = 13; num_polys = num_polys + 1; System.out.println("pts="+newpts[k-4]+" "+newpts[k-3]+", "+newpts[k-2]+", "+newpts[k-1]); System.out.println("check lengths vertex 1"); len = length(x1,y1,z1, x9,y9,z9); System.out.println("length 1 9 ="+len); len = length(x1,y1,z1, x12,y12,z12); System.out.println("length 1 12 ="+len); len = length(x1,y1,z1, x14,y14,z14); System.out.println("length 1 14 ="+len); System.out.println("check lengths vertex 2"); len = length(x2,y2,z2, x11,y11,z11); System.out.println("length 2 11 ="+len); len = length(x2,y2,z2, x12,y12,z12); System.out.println("length 2 12 ="+len); len = length(x2,y2,z2, x14,y14,z14); System.out.println("length 2 14 ="+len); System.out.println("check lengths vertex 3"); len = length(x3,y3,z3, x9,y9,z9); System.out.println("length 3 9 ="+len); len = length(x3,y3,z3, x12,y12,z12); System.out.println("length 3 12 ="+len); len = length(x3,y3,z3, x13,y13,z13); System.out.println("length 3 13 ="+len); System.out.println("check lengths vertex 4"); len = length(x4,y4,z4, x11,y11,z11); System.out.println("length 4 11 ="+len); len = length(x4,y4,z4, x12,y12,z12); System.out.println("length 4 12 ="+len); len = length(x4,y4,z4, x13,y13,z13); System.out.println("length 4 13 ="+len); System.out.println("check lengths vertex 5"); len = length(x5,y5,z5, x9,y9,z9); System.out.println("length 5 9 ="+len); len = length(x5,y5,z5, x10,y10,z10); System.out.println("length 5 10 ="+len); len = length(x5,y5,z5, x14,y14,z14); System.out.println("length 5 14 ="+len); System.out.println("check lengths vertex 6"); len = length(x6,y6,z6, x9,y9,z9); System.out.println("length 6 9 ="+len); len = length(x6,y6,z6, x10,y10,z10); System.out.println("length 6 10 ="+len); len = length(x6,y6,z6, x13,y13,z13); System.out.println("length 6 13 ="+len); System.out.println("check lengths vertex 7"); len = length(x7,y7,z7, x10,y10,z10); System.out.println("length 7 10 ="+len); len = length(x7,y7,z7, x11,y11,z11); System.out.println("length 7 11 ="+len); len = length(x7,y7,z7, x13,y13,z13); System.out.println("length 7 13 ="+len); System.out.println("check lengths vertex 8"); len = length(x8,y8,z8, x10,y10,z10); System.out.println("length 8 10 ="+len); len = length(x8,y8,z8, x11,y11,z11); System.out.println("length 8 11 ="+len); len = length(x8,y8,z8, x13,y13,z13); System.out.println("length 8 13 ="+len); System.out.println("num_polys="+num_polys+" k="+k); System.out.println("num_points="+num_points); new datwrite(fileout, xyz, num_points, newpts, num_polys); System.out.println("wrote "+fileout); System.out.println("tetra4_dat.java finished"); } // end tetra4_dat public double length(double x1, double y1, double z1, double x2, double y2, double z2) { double len = Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1)); return len; } // end length public static void main(String args[]) { new tetra4_dat(); } } // end tetra4_dat.java