#!@PYTHON@ # # Creates a series of header files to be included in a raster3d with a rotational coordinate transformation import sys, random, math, re wrerr=sys.stderr.write wrout=sys.stdout.write # check arguments if len(sys.argv) < 2: print "Usage: "+sys.argv[0]+" [AtomCount]" sys.exit(1) # get atomcount if len(sys.argv) < 2: Atoms=10 else: Atoms=int(sys.argv[2]) # deduce r-factor factor=15.0 + (40.0-15.0)/2000*Atoms for i in range(36): c = math.cos(2.*math.pi/36.*i); s = math.sin(2.*math.pi/36.*i); output = open("%s-%03d.r3d" % (sys.argv[1],i), "w") output.write("Example of material properties and file indirection\n"); output.write("80 64 tiles in x,y\n"); output.write(" 8 8 pixels (x,y) per tile\n"); output.write("4 3x3 virtual pixels -> 2x2 pixels\n"); output.write("0 0 0 background colour\n"); output.write("T cast shadows\n"); output.write("25 Phong power\n"); output.write("0.15 secondary light contribution\n"); output.write("0.05 ambient light contribution\n"); output.write("0.25 specular reflection component\n"); output.write("0.0 eye position\n"); output.write("1 1 1 main light source position\n"); output.write("%lg %lg 0 0 input coordinate, radius transformation\n" % (c, s)); output.write("%lg %lg 0 0\n" % (-s, c)); output.write("0 0 1 0\n"); output.write("0 0 0 %5.2f\n" % (factor)); output.write("3 mixed objects\n"); output.write("*\n"); output.write("*\n"); output.write("*\n"); for i in range(36): c = math.cos(2.*math.pi/36.*i); s = math.sin(2.*math.pi/36.*i); output = open("%s-%03d.r3d" % (sys.argv[1],i+1*36), "w") output.write("Example of material properties and file indirection\n"); output.write("80 64 tiles in x,y\n"); output.write(" 8 8 pixels (x,y) per tile\n"); output.write("4 3x3 virtual pixels -> 2x2 pixels\n"); output.write("0 0 0 background colour\n"); output.write("T cast shadows\n"); output.write("25 Phong power\n"); output.write("0.15 secondary light contribution\n"); output.write("0.05 ambient light contribution\n"); output.write("0.25 specular reflection component\n"); output.write("0.0 eye position\n"); output.write("1 1 1 main light source position\n"); output.write("%lg 0 %lg 0 input coordinate, radius transformation\n" % (c, s)); output.write("0 1 0 0\n"); output.write("%lg 0 %lg 0\n" % (-s, c)); output.write("0 0 0 %5.2f\n" % (factor)); output.write("3 mixed objects\n"); output.write("*\n"); output.write("*\n"); output.write("*\n"); for i in range(36): c = math.cos(2.*math.pi/36.*i); s = math.sin(2.*math.pi/36.*i); output = open("%s-%03d.r3d" % (sys.argv[1],i+2*36), "w") output.write("Example of material properties and file indirection\n"); output.write("80 64 tiles in x,y\n"); output.write(" 8 8 pixels (x,y) per tile\n"); output.write("4 3x3 virtual pixels -> 2x2 pixels\n"); output.write("0 0 0 background colour\n"); output.write("T cast shadows\n"); output.write("25 Phong power\n"); output.write("0.15 secondary light contribution\n"); output.write("0.05 ambient light contribution\n"); output.write("0.25 specular reflection component\n"); output.write("0.0 eye position\n"); output.write("1 1 1 main light source position\n"); output.write("1 0 0 0 input coordinate, radius transformation\n"); output.write("0 %lg %lg 0\n" % (c, s)); output.write("0 %lg %lg 0\n" % (-s, c)); output.write("0 0 0 %5.2f\n" % (factor)); output.write("3 mixed objects\n"); output.write("*\n"); output.write("*\n"); output.write("*\n");