Python RenderMan API Lego Figure
assignment.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 #Import the python renderman library.
3 import prman
4 #Import the system libraries.
5 import sys
6 import sys,os.path,subprocess
7 import string
8 
9 
13 def Cube(width=1.0,height=1.0,depth=1.0) :
14  w=width/2.0
15  h=height/2.0
16  d=depth/2.0
17  ri.ArchiveRecord(ri.COMMENT, 'Cube Generated by Cube Function')
18 
19  face=[-w,-h,d,-w,h,d,w,-h,d,w,h,d]
20  ri.Patch("bilinear",{'P':face})
21 
22  face=[-w,-h,-d,-w,h,-d,w,-h,-d,w,h,-d]
23  ri.Patch("bilinear",{'P':face})
24 
25  face=[-w,-h,-d,-w,h,-d,-w,-h,d,-w,h,d]
26  ri.Patch("bilinear",{'P':face})
27 
28  face=[w,-h,-d,w,h,-d,w,-h,d,w,h,d]
29  ri.Patch("bilinear",{'P':face})
30 
31  face=[w,-h,d,w,-h,-d,-w,-h,d,-w,-h,-d]
32  ri.Patch("bilinear",{'P':face})
33 
34  face=[w,h,d,w,h,-d,-w,h,d,-w,h,-d]
35  ri.Patch("bilinear",{'P':face})
36  ri.ArchiveRecord(ri.COMMENT, '--End of Cube Function--')
37 
38 
40 def checkAndCompileShader(shader) :
41  if os.path.isfile(shader+'.oso') != True or os.stat(shader+'.osl').st_mtime - os.stat(shader+'.oso').st_mtime > 0 :
42  print 'compiling shader %s' %(shader)
43  try :
44  subprocess.check_call(['oslc', shader+'.osl'])
45  except subprocess.CalledProcessError :
46  sys.exit('shader compilation failed')
47 
48 
50 def convertColourValue(colourValue) :
51  return colourValue / 255.0
52 
53 
57 def legsShader(legsColour, dirtValue, damage) :
58  ri.CoordinateSystem("legsCoords")
59  ri.Attribute('displacementbound',
60  {
61  'sphere' : [1],
62  'coordinatesystem' : ['shader']
63  })
64  ri.Displace('PxrDisplace', 'myDisp',
65  {
66  'float dispAmount' : [2],
67  'reference float dispScalar' : ['legsShader:resultDisplacement']
68  })
69  ri.Pattern('legsShader','legsShader',
70  {
71  'color colourIn' : legsColour,
72  'float dirtValue' : dirtValue,
73  'int damage' : damage
74  })
75  ri.Bxdf('PxrSurface', 'plastic',
76  {
77  'reference color diffuseColor' : ['legsShader:Cout'],
78  'int diffuseDoubleSided' : [1],
79  'float reflectionGain' : [1],
80  'float glassRoughness' : [0.2]
81 
82  })
83 
84 
87 def headShader(headColour, dirtValue) :
88  ri.CoordinateSystem("headCoords")
89  ri.Pattern('headShader','headShader',
90  {
91  'color colourIn' : headColour,
92  'string TextureName' : ["../img/face.tx"],
93  'float dirtValue' : dirtValue
94  })
95  ri.Bxdf('PxrSurface', 'plastic',
96  {
97  'reference color diffuseColor' : ['headShader:Cout'],
98  'int diffuseDoubleSided' : [1],
99  'float reflectionGain' : [1],
100  'float glassRoughness' : [0.2]
101  })
102 
103 
109 def chestShader(chestType, chestBaseColour, chestDetailColour, dirtValue, damage) :
110  ri.CoordinateSystem("chestCoords")
111  ri.Attribute('displacementbound',
112  {
113  'sphere' : [1],
114  'coordinatesystem' : ['shader']
115  })
116  ri.Displace('PxrDisplace', 'myDisp',
117  {
118  'float dispAmount' : [2],
119  'reference float dispScalar' : ['chestShader:resultDisplacement']
120  })
121  ri.Pattern('chestShader','chestShader',
122  {
123  'string chestType' : [chestType],
124  'color detailColour' : chestDetailColour,
125  'color baseColour' : chestBaseColour,
126  'float dirtValue' : dirtValue,
127  'int damage' : damage
128  })
129  ri.Bxdf('PxrSurface', 'plastic',
130  {
131  'reference color diffuseColor' : ['chestShader:resultRGB'],
132  'int diffuseDoubleSided' : [1],
133  'float reflectionGain' : [1],
134  'float glassRoughness' : [0.2]
135 
136  })
137 
138 
139 def tableShader() :
140  ri.Pattern('tableShader','tableShader',
141  {
142  'string TextureName' : ["../img/table.tx"]
143  })
144  ri.Bxdf('PxrSurface', 'wood',
145  {
146  'reference color diffuseColor' : ['tableShader:Cout'],
147  'int diffuseDoubleSided' : [1],
148  'float reflectionGain' : [0.2]
149 
150  })
151 
152 
156 def head(xScale,yScale,zScale) :
157  ri.ArchiveRecord(ri.COMMENT, 'head generated by head defintion')
158  # scale the head
159  ri.Scale(xScale,yScale,zScale)
160 
161  points=[0,-1,0,0,1,0,0.951057136,0.654344678,-0.309017181,0.925721526,0.786621273,-0.300785184,0.853571832,0.898759902,-0.277342379,0.745592177,0.973688543,-0.242257789,0.618221462,1,-0.200872689,0.809017539,0.654344678,-0.587785602,0.787465811,0.786621273,-0.572127342,0.726091623,0.898759902,-0.527536392,0.63423872,0.973688543,-0.460801303,0.525890768,1,-0.382081926,0.587785602,0.654344678,-0.809017479,0.572127342,0.786621273,-0.787465751,0.527536392,0.898759902,-0.726091564,0.460801363,0.973688543,-0.634238601,0.382081985,1,-0.525890648,0.309017152,0.654344678,-0.951057017,0.300785124,0.786621273,-0.925721407,0.27734229,0.898759902,-0.853571713,0.24225761,0.973688543,-0.745592117,0.200872406,1,-0.618221462,0,0.654344678,-1.00000048,2.50629495e-09,0.786621273,-0.973361075,9.64361924e-09,0.898759902,-0.897498429,2.03253787e-08,0.973688543,-0.783961952,3.29253744e-08,1,-0.650036514,-0.309017152,0.654344678,-0.951056957,-0.300785124,0.786621273,-0.925721347,-0.27734226,0.898759902,-0.853571713,-0.242257535,0.973688543,-0.745592117,-0.200872287,1,-0.618221462,-0.587785482,0.654344678,-0.809017301,-0.572127223,0.786621273,-0.787465572,-0.527536273,0.898759902,-0.726091385,-0.460801154,0.973688543,-0.634238482,-0.382081747,1,-0.525890589,-0.809017241,0.654344678,-0.587785423,-0.787465513,0.786621273,-0.572127163,-0.726091325,0.898759902,-0.527536213,-0.634238362,0.973688543,-0.460801184,-0.52589041,1,-0.382081836,-0.951056778,0.654344678,-0.309017062,-0.925721169,0.786621273,-0.300785035,-0.853571534,0.898759902,-0.2773422,-0.745591938,0.973688543,-0.242257506,-0.618221283,1,-0.200872287,-1.00000024,0.654344678,0,-0.973360837,0.786621273,0,-0.89749819,0.898759902,0,-0.783961713,0.973688543,0,-0.650036275,1,0,-0.951056778,0.654344678,0.309017062,-0.925721169,0.786621273,0.300785035,-0.853571534,0.898759902,0.27734217,-0.745591938,0.973688543,0.242257476,-0.618221283,1,0.200872242,-0.809017181,0.654344678,0.587785363,-0.787465453,0.786621273,0.572127104,-0.726091266,0.898759902,0.527536154,-0.634238362,0.973688543,0.460801065,-0.52589041,1,0.382081658,-0.587785363,0.654344678,0.809017122,-0.572127104,0.786621273,0.787465394,-0.527536154,0.898759902,0.726091206,-0.460801095,0.973688543,0.634238243,-0.382081717,1,0.525890291,-0.309017062,0.654344678,0.951056659,-0.300785035,0.786621273,0.925721049,-0.2773422,0.898759902,0.853571415,-0.242257491,0.973688543,0.745591819,-0.200872272,1,0.618221164,-2.98023224e-08,0.654344678,1.00000012,-3.25070957e-08,0.786621273,0.973360717,-4.02096454e-08,0.898759902,0.897498071,-5.17373202e-08,0.973688543,0.783961594,-6.53351435e-08,1,0.650036156,0.309016973,0.654344678,0.9510566,0.300784945,0.786621273,0.92572099,0.277342081,0.898759902,0.853571355,0.242257372,0.973688543,0.74559176,0.200872138,1,0.618221104,0.587785244,0.654344678,0.809017062,0.572126985,0.786621273,0.787465334,0.527536035,0.898759902,0.726091146,0.460800976,0.973688543,0.634238243,0.382081598,1,0.525890291,0.809017003,0.654344678,0.587785304,0.787465274,0.786621273,0.572127044,0.726091087,0.898759902,0.527536094,0.634238183,0.973688543,0.460801035,0.525890231,1,0.382081658,0.95105654,0.654344678,0.309017003,0.92572093,0.786621273,0.300784975,0.853571296,0.898759902,0.277342141,0.7455917,0.973688543,0.242257431,0.618221045,1,0.200872213,1,0.654344678,0,0.973360598,0.786621273,-2.6253824e-08,0.897497952,0.898759902,-1.01018387e-07,0.783961475,0.973688543,-2.12911473e-07,0.650036097,1,-3.44898353e-07,0.713317394,-1,-0.231771126,0.804296434,-0.981206119,-0.261331916,0.881424785,-0.927685618,-0.286392331,0.932960272,-0.847586572,-0.303137183,0.951057136,-0.753103316,-0.309017181,0.606784105,-1,-0.4408544,0.684175491,-0.981206119,-0.497082531,0.749784708,-0.927685618,-0.544750452,0.793623447,-0.847586572,-0.576601148,0.809017539,-0.753103316,-0.587785602,0.44085446,-1,-0.606784046,0.497082561,-0.981206119,-0.684175432,0.544750452,-0.927685618,-0.749784648,0.576601148,-0.847586572,-0.793623388,0.587785602,-0.753103316,-0.809017479,0.231770903,-1,-0.713317335,0.261331767,-0.981206119,-0.804296374,0.286392242,-0.927685618,-0.881424665,0.303137124,-0.847586572,-0.932960153,0.309017152,-0.753103316,-0.951057017,2.35181243e-08,-1,-0.750026226,1.4518128e-08,-0.981206119,-0.845687211,6.88829926e-09,-0.927685618,-0.926784694,1.79021065e-09,-0.847586572,-0.98097235,0,-0.753103316,-1.00000048,-0.231770813,-1,-0.713317335,-0.261331707,-0.981206119,-0.804296374,-0.286392212,-0.927685618,-0.881424606,-0.303137124,-0.847586572,-0.932960093,-0.309017152,-0.753103316,-0.951056957,-0.440854251,-1,-0.606783926,-0.497082412,-0.981206119,-0.684175313,-0.544750333,-0.927685618,-0.749784529,-0.576601028,-0.847586572,-0.793623209,-0.587785482,-0.753103316,-0.809017301,-0.606783807,-1,-0.440854281,-0.684175193,-0.981206119,-0.497082382,-0.74978441,-0.927685618,-0.544750273,-0.793623149,-0.847586572,-0.576600969,-0.809017241,-0.753103316,-0.587785423,-0.713317096,-1,-0.231770799,-0.804296136,-0.981206119,-0.261331677,-0.881424427,-0.927685618,-0.286392152,-0.932959914,-0.847586572,-0.303137034,-0.951056778,-0.753103316,-0.309017062,-0.750025988,-1,0,-0.845686972,-0.981206119,0,-0.926784456,-0.927685618,0,-0.980972111,-0.847586572,0,-1.00000024,-0.753103316,0,-0.713317156,-1,0.231770754,-0.804296196,-0.981206119,0.261331648,-0.881424427,-0.927685618,0.286392152,-0.932959914,-0.847586572,0.303137034,-0.951056778,-0.753103316,0.309017062,-0.606783807,-1,0.440854162,-0.684175193,-0.981206119,0.497082293,-0.74978441,-0.927685618,0.544750214,-0.79362309,-0.847586572,0.576600909,-0.809017181,-0.753103316,0.587785363,-0.440854192,-1,0.606783688,-0.497082323,-0.981206119,0.684175074,-0.544750214,-0.927685618,0.749784291,-0.576600909,-0.847586572,0.79362303,-0.587785363,-0.753103316,0.809017122,-0.231770784,-1,0.713316977,-0.261331648,-0.981206119,0.804296017,-0.286392152,-0.927685618,0.881424308,-0.303137034,-0.847586572,0.932959795,-0.309017062,-0.753103316,0.951056659,-5.51829089e-08,-1,0.750025868,-4.54701805e-08,-0.981206119,0.845686853,-3.72361235e-08,-0.927685618,0.926784337,-3.17343058e-08,-0.847586572,0.980971992,-2.98023224e-08,-0.753103316,1.00000012,0.231770664,-1,0.713316977,0.261331558,-0.981206119,0.804296017,0.286392063,-0.927685618,0.881424248,0.303136945,-0.847586572,0.932959735,0.309016973,-0.753103316,0.9510566,0.440854073,-1,0.606783628,0.497082204,-0.981206119,0.684175014,0.544750094,-0.927685618,0.749784231,0.57660079,-0.847586572,0.793622971,0.587785244,-0.753103316,0.809017062,0.606783569,-1,0.440854132,0.684174955,-0.981206119,0.497082263,0.749784172,-0.927685618,0.544750154,0.793622911,-0.847586572,0.57660085,0.809017003,-0.753103316,0.587785304,0.713316858,-1,0.231770724,0.804295897,-0.981206119,0.261331588,0.881424189,-0.927685618,0.286392093,0.932959676,-0.847586572,0.303136975,0.95105654,-0.753103316,0.309017003,0.750025809,-1,-2.46355967e-07,0.845686793,-0.981206119,-1.52079622e-07,0.926784277,-0.927685618,-7.21559914e-08,0.980971873,-0.847586572,-1.87527309e-08,1,-0.753103316,0]
162 
163  normals=[0.0664904937,0.99755311,-0.0216040034,0.0565601513,0.99755311,-0.0410934016,0,1,1.99690531e-09,0.0565601513,0.99755311,-0.0410934016,0.0410933569,0.99755317,-0.0565602146,0,1,1.99690531e-09,0.0410933569,0.99755317,-0.0565602146,0.0216040369,0.99755311,-0.066490449,0,1,1.99690531e-09,0.0216040369,0.99755311,-0.066490449,2.0234463e-09,0.99755317,-0.0699122325,0,1,1.99690531e-09,2.0234463e-09,0.99755317,-0.0699122325,-0.0216040686,0.99755317,-0.0664905831,0,1,1.99690531e-09,-0.0216040686,0.99755317,-0.0664905831,-0.0410933942,0.99755311,-0.0565602444,0,1,1.99690531e-09,-0.0410933942,0.99755311,-0.0565602444,-0.056560155,0.99755311,-0.0410933793,0,1,1.99690531e-09,-0.056560155,0.99755311,-0.0410933793,-0.0664904565,0.99755317,-0.0216040686,0,1,1.99690531e-09,-0.0664904565,0.99755317,-0.0216040686,-0.0699122027,0.99755311,-4.0468956e-10,0,1,1.99690531e-09,-0.0699122027,0.99755311,-4.0468956e-10,-0.0664904788,0.997553051,0.0216040853,0,1,1.99690531e-09,-0.0664904788,0.997553051,0.0216040853,-0.0565601587,0.99755317,0.0410933979,0,1,1.99690531e-09,-0.0565601587,0.99755317,0.0410933979,-0.041093342,0.99755311,0.0565601438,0,1,1.99690531e-09,-0.041093342,0.99755311,0.0565601438,-0.0216040704,0.99755311,0.0664905384,0,1,1.99690531e-09,-0.0216040704,0.99755311,0.0664905384,-4.04689726e-10,0.99755311,0.0699124113,0,1,1.99690531e-09,-4.04689726e-10,0.99755311,0.0699124113,0.0216040649,0.99755311,0.0664906353,0,1,1.99690531e-09,0.0216040649,0.99755311,0.0664906353,0.0410933755,0.99755311,0.0565602854,0,1,1.99690531e-09,0.0410933755,0.99755311,0.0565602854,0.0565601885,0.99755311,0.0410934202,0,1,1.99690531e-09,0.0565601885,0.99755311,0.0410934202,0.0664904937,0.99755311,0.0216040723,0,1,1.99690531e-09,0.0664904937,0.99755311,0.0216040723,0.069912158,0.99755311,9.06503885e-08,0,1,1.99690531e-09,0.069912158,0.99755311,9.06503885e-08,0.0664904937,0.99755311,-0.0216040034,0,1,1.99690531e-09,0.389345944,0.912362874,-0.126505703,0.0664904937,0.99755311,-0.0216040034,0.069912158,0.99755311,9.06503885e-08,0.409382284,0.912362874,3.68502128e-07,0.684731841,0.694005907,-0.222482041,0.389345944,0.912362874,-0.126505703,0.409382284,0.912362874,3.68502128e-07,0.719969451,0.694005787,6.39440202e-07,0.950922847,0.0167800616,-0.308972478,0.88177973,0.374671102,-0.286506593,0.92715776,0.374671072,8.96661504e-07,0.999859154,0.0167800821,9.69567054e-07,0.88177973,0.374671102,-0.286506593,0.684731841,0.694005907,-0.222482041,0.719969451,0.694005787,6.39440202e-07,0.92715776,0.374671072,8.96661504e-07,0.0664904937,0.99755311,-0.0216040034,0.389345944,0.912362874,-0.126505703,0.331197321,0.912362874,-0.240629062,0.0565601513,0.99755311,-0.0410934016,0.389345944,0.912362874,-0.126505703,0.684731841,0.694005907,-0.222482041,0.582467496,0.694005728,-0.423187524,0.331197321,0.912362874,-0.240629062,0.684731841,0.694005907,-0.222482041,0.88177973,0.374671102,-0.286506593,0.750086486,0.374671072,-0.544969738,0.582467496,0.694005728,-0.423187524,0.88177973,0.374671102,-0.286506593,0.950922847,0.0167800616,-0.308972478,0.808902979,0.0167800747,-0.587702572,0.750086486,0.374671072,-0.544969738,0.0565601513,0.99755311,-0.0410934016,0.331197321,0.912362874,-0.240629062,0.240628824,0.912362874,-0.33119747,0.0410933569,0.99755317,-0.0565602146,0.331197321,0.912362874,-0.240629062,0.582467496,0.694005728,-0.423187524,0.423187256,0.694005668,-0.582467735,0.240628824,0.912362874,-0.33119747,0.582467496,0.694005728,-0.423187524,0.750086486,0.374671072,-0.544969738,0.544969559,0.374671251,-0.750086486,0.423187256,0.694005668,-0.582467735,0.750086486,0.374671072,-0.544969738,0.808902979,0.0167800747,-0.587702572,0.587702334,0.0167800952,-0.808903158,0.544969559,0.374671251,-0.750086486,0.0410933569,0.99755317,-0.0565602146,0.240628824,0.912362874,-0.33119747,0.126506045,0.912362993,-0.389345735,0.0216040369,0.99755311,-0.066490449,0.240628824,0.912362874,-0.33119747,0.423187256,0.694005668,-0.582467735,0.222482607,0.694005728,-0.684731603,0.126506045,0.912362993,-0.389345735,0.423187256,0.694005668,-0.582467735,0.544969559,0.374671251,-0.750086486,0.286507338,0.374671251,-0.881779492,0.222482607,0.694005728,-0.684731603,0.544969559,0.374671251,-0.750086486,0.587702334,0.0167800952,-0.808903158,0.308973372,0.0167800877,-0.950922608,0.286507338,0.374671251,-0.881779492,0.0216040369,0.99755311,-0.066490449,0.126506045,0.912362993,-0.389345735,2.30313835e-09,0.912362933,-0.409382224,2.0234463e-09,0.99755317,-0.0699122325,0.126506045,0.912362993,-0.389345735,0.222482607,0.694005728,-0.684731603,0,0.694005787,-0.719969451,2.30313835e-09,0.912362933,-0.409382224,0.222482607,0.694005728,-0.684731603,0.286507338,0.374671251,-0.881779492,-3.83188725e-09,0.374671161,-0.927157819,0,0.694005787,-0.719969451,0.286507338,0.374671251,-0.881779492,0.308973372,0.0167800877,-0.950922608,-1.29941952e-07,0.016780084,-0.999859154,-3.83188725e-09,0.374671161,-0.927157819,2.0234463e-09,0.99755317,-0.0699122325,2.30313835e-09,0.912362933,-0.409382224,-0.126506224,0.912362933,-0.389345825,-0.0216040686,0.99755317,-0.0664905831,2.30313835e-09,0.912362933,-0.409382224,0,0.694005787,-0.719969451,-0.222482949,0.694005668,-0.684731662,-0.126506224,0.912362933,-0.389345825,0,0.694005787,-0.719969451,-3.83188725e-09,0.374671161,-0.927157819,-0.286507666,0.374671191,-0.881779492,-0.222482949,0.694005668,-0.684731662,-3.83188725e-09,0.374671161,-0.927157819,-1.29941952e-07,0.016780084,-0.999859154,-0.3089737,0.0167800877,-0.950922489,-0.286507666,0.374671191,-0.881779492,-0.0216040686,0.99755317,-0.0664905831,-0.126506224,0.912362933,-0.389345825,-0.240629092,0.912362874,-0.331197351,-0.0410933942,0.99755311,-0.0565602444,-0.126506224,0.912362933,-0.389345825,-0.222482949,0.694005668,-0.684731662,-0.423187613,0.694005847,-0.582467258,-0.240629092,0.912362874,-0.331197351,-0.222482949,0.694005668,-0.684731662,-0.286507666,0.374671191,-0.881779492,-0.544969916,0.374671161,-0.750086248,-0.423187613,0.694005847,-0.582467258,-0.286507666,0.374671191,-0.881779492,-0.3089737,0.0167800877,-0.950922489,-0.587702632,0.016780071,-0.808902919,-0.544969916,0.374671161,-0.750086248,-0.0410933942,0.99755311,-0.0565602444,-0.240629092,0.912362874,-0.331197351,-0.331197381,0.912362874,-0.240628928,-0.056560155,0.99755311,-0.0410933793,-0.240629092,0.912362874,-0.331197351,-0.423187613,0.694005847,-0.582467258,-0.582467616,0.694005787,-0.423187196,-0.331197381,0.912362874,-0.240628928,-0.423187613,0.694005847,-0.582467258,-0.544969916,0.374671161,-0.750086248,-0.750086546,0.374671161,-0.544969499,-0.582467616,0.694005787,-0.423187196,-0.544969916,0.374671161,-0.750086248,-0.587702632,0.016780071,-0.808902919,-0.808903158,0.0167800635,-0.587702394,-0.750086546,0.374671161,-0.544969499,-0.056560155,0.99755311,-0.0410933793,-0.331197381,0.912362874,-0.240628928,-0.389345795,0.912362814,-0.12650612,-0.0664904565,0.99755317,-0.0216040686,-0.331197381,0.912362874,-0.240628928,-0.582467616,0.694005787,-0.423187196,-0.684731722,0.694005609,-0.222482711,-0.389345795,0.912362814,-0.12650612,-0.582467616,0.694005787,-0.423187196,-0.750086546,0.374671161,-0.544969499,-0.881779611,0.374670893,-0.286507457,-0.684731722,0.694005609,-0.222482711,-0.750086546,0.374671161,-0.544969499,-0.808903158,0.0167800635,-0.587702394,-0.950922608,0.0167800486,-0.308973402,-0.881779611,0.374670893,-0.286507457,-0.0664904565,0.99755317,-0.0216040686,-0.389345795,0.912362814,-0.12650612,-0.409382403,0.912362874,6.67910456e-08,-0.0699122027,0.99755311,-4.0468956e-10,-0.389345795,0.912362814,-0.12650612,-0.684731722,0.694005609,-0.222482711,-0.71996963,0.694005489,5.32867084e-08,-0.409382403,0.912362874,6.67910456e-08,-0.684731722,0.694005609,-0.222482711,-0.881779611,0.374670893,-0.286507457,-0.927157998,0.374670535,7.66377717e-09,-0.71996963,0.694005489,5.32867084e-08,-0.881779611,0.374670893,-0.286507457,-0.950922608,0.0167800486,-0.308973402,-0.999859154,0.0167800207,0,-0.927157998,0.374670535,7.66377717e-09,-0.0699122027,0.99755311,-4.0468956e-10,-0.409382403,0.912362874,6.67910456e-08,-0.389345884,0.912362814,0.12650618,-0.0664904788,0.997553051,0.0216040853,-0.409382403,0.912362874,6.67910456e-08,-0.71996963,0.694005489,5.32867084e-08,-0.684731781,0.694005489,0.22248286,-0.389345884,0.912362814,0.12650618,-0.71996963,0.694005489,5.32867084e-08,-0.927157998,0.374670535,7.66377717e-09,-0.881779611,0.374670804,0.286507577,-0.684731781,0.694005489,0.22248286,-0.927157998,0.374670535,7.66377717e-09,-0.999859154,0.0167800207,0,-0.950922608,0.0167800523,0.308973491,-0.881779611,0.374670804,0.286507577,-0.0664904788,0.997553051,0.0216040853,-0.389345884,0.912362814,0.12650618,-0.331197321,0.912362874,0.240629062,-0.0565601587,0.99755317,0.0410933979,-0.389345884,0.912362814,0.12650618,-0.684731781,0.694005489,0.22248286,-0.582467496,0.694005609,0.423187584,-0.331197321,0.912362874,0.240629062,-0.684731781,0.694005489,0.22248286,-0.881779611,0.374670804,0.286507577,-0.750086367,0.374671042,0.544969857,-0.582467496,0.694005609,0.423187584,-0.881779611,0.374670804,0.286507577,-0.950922608,0.0167800523,0.308973491,-0.808902979,0.0167800803,0.587702513,-0.750086367,0.374671042,0.544969857,-0.0565601587,0.99755317,0.0410933979,-0.331197321,0.912362874,0.240629062,-0.240628973,0.912362874,0.331197381,-0.041093342,0.99755311,0.0565601438,-0.331197321,0.912362874,0.240629062,-0.582467496,0.694005609,0.423187584,-0.423187375,0.694005728,0.582467616,-0.240628973,0.912362874,0.331197381,-0.582467496,0.694005609,0.423187584,-0.750086367,0.374671042,0.544969857,-0.544969559,0.374671072,0.750086486,-0.423187375,0.694005728,0.582467616,-0.750086367,0.374671042,0.544969857,-0.808902979,0.0167800803,0.587702513,-0.587702453,0.0167800821,0.808903039,-0.544969559,0.374671072,0.750086486,-0.041093342,0.99755311,0.0565601438,-0.240628973,0.912362874,0.331197381,-0.12650612,0.912362874,0.389345914,-0.0216040704,0.99755311,0.0664905384,-0.240628973,0.912362874,0.331197381,-0.423187375,0.694005728,0.582467616,-0.222482771,0.694005787,0.684731722,-0.12650612,0.912362874,0.389345914,-0.423187375,0.694005728,0.582467616,-0.544969559,0.374671072,0.750086486,-0.286507457,0.374671102,0.881779552,-0.222482771,0.694005787,0.684731722,-0.544969559,0.374671072,0.750086486,-0.587702453,0.0167800821,0.808903039,-0.308973372,0.0167800859,0.950922608,-0.286507457,0.374671102,0.881779552,-0.0216040704,0.99755311,0.0664905384,-0.12650612,0.912362874,0.389345914,9.2125596e-08,0.912362814,0.409382492,-4.04689726e-10,0.99755311,0.0699124113,-0.12650612,0.912362874,0.389345914,-0.222482771,0.694005787,0.684731722,1.18870375e-07,0.694005728,0.719969451,9.2125596e-08,0.912362814,0.409382492,-0.222482771,0.694005787,0.684731722,-0.286507457,0.374671102,0.881779552,4.21507735e-08,0.374671131,0.92715776,1.18870375e-07,0.694005728,0.719969451,-0.286507457,0.374671102,0.881779552,-0.308973372,0.0167800859,0.950922608,1.19946478e-07,0.0167800877,0.999859154,4.21507735e-08,0.374671131,0.92715776,-4.04689726e-10,0.99755311,0.0699124113,9.2125596e-08,0.912362814,0.409382492,0.12650612,0.912362814,0.389345884,0.0216040649,0.99755311,0.0664906353,9.2125596e-08,0.912362814,0.409382492,1.18870375e-07,0.694005728,0.719969451,0.222482815,0.694005728,0.684731662,0.12650612,0.912362814,0.389345884,1.18870375e-07,0.694005728,0.719969451,4.21507735e-08,0.374671131,0.92715776,0.286507547,0.374671161,0.881779373,0.222482815,0.694005728,0.684731662,4.21507735e-08,0.374671131,0.92715776,1.19946478e-07,0.0167800877,0.999859154,0.308973551,0.016780084,0.950922549,0.286507547,0.374671161,0.881779373,0.0216040649,0.99755311,0.0664906353,0.12650612,0.912362814,0.389345884,0.240628958,0.912362874,0.33119756,0.0410933755,0.99755311,0.0565602854,0.12650612,0.912362814,0.389345884,0.222482815,0.694005728,0.684731662,0.423187405,0.694005668,0.582467616,0.240628958,0.912362874,0.33119756,0.222482815,0.694005728,0.684731662,0.286507547,0.374671161,0.881779373,0.544969738,0.374671102,0.750086367,0.423187405,0.694005668,0.582467616,0.286507547,0.374671161,0.881779373,0.308973551,0.016780084,0.950922549,0.587702453,0.016780071,0.808903039,0.544969738,0.374671102,0.750086367,0.0410933755,0.99755311,0.0565602854,0.240628958,0.912362874,0.33119756,0.331197441,0.912362814,0.240629062,0.0565601885,0.99755311,0.0410934202,0.240628958,0.912362874,0.33119756,0.423187405,0.694005668,0.582467616,0.582467496,0.694005787,0.423187375,0.331197441,0.912362814,0.240629062,0.423187405,0.694005668,0.582467616,0.544969738,0.374671102,0.750086367,0.750086427,0.374671161,0.544969618,0.582467496,0.694005787,0.423187375,0.544969738,0.374671102,0.750086367,0.587702453,0.016780071,0.808903039,0.808903039,0.0167800523,0.587702453,0.750086427,0.374671161,0.544969618,0.0565601885,0.99755311,0.0410934202,0.331197441,0.912362814,0.240629062,0.389345914,0.912362874,0.12650612,0.0664904937,0.99755311,0.0216040723,0.331197441,0.912362814,0.240629062,0.582467496,0.694005787,0.423187375,0.684731722,0.694005668,0.222482681,0.389345914,0.912362874,0.12650612,0.582467496,0.694005787,0.423187375,0.750086427,0.374671161,0.544969618,0.881779492,0.374671191,0.286507457,0.684731722,0.694005668,0.222482681,0.750086427,0.374671161,0.544969618,0.808903039,0.0167800523,0.587702453,0.950922608,0.0167800672,0.308973461,0.881779492,0.374671191,0.286507457,0.0664904937,0.99755311,0.0216040723,0.389345914,0.912362874,0.12650612,0.409382284,0.912362874,3.68502128e-07,0.069912158,0.99755311,9.06503885e-08,0.389345914,0.912362874,0.12650612,0.684731722,0.694005668,0.222482681,0.719969451,0.694005787,6.39440202e-07,0.409382284,0.912362874,3.68502128e-07,0.684731722,0.694005668,0.222482681,0.881779492,0.374671191,0.286507457,0.92715776,0.374671072,8.96661504e-07,0.719969451,0.694005787,6.39440202e-07,0.881779492,0.374671191,0.286507457,0.950922608,0.0167800672,0.308973461,0.999859154,0.0167800821,9.69567054e-07,0.92715776,0.374671072,8.96661504e-07,0.0394870937,-0.998808086,-0.0286890101,0.0464199297,-0.998808205,-0.0150826806,0,-1,-1.07140097e-09,0.0286890585,-0.998808146,-0.039487116,0.0394870937,-0.998808086,-0.0286890101,0,-1,-1.07140097e-09,0.0150827104,-0.998808146,-0.0464198254,0.0286890585,-0.998808146,-0.039487116,0,-1,-1.07140097e-09,7.10916659e-10,-0.998808205,-0.0488087237,0.0150827104,-0.998808146,-0.0464198254,0,-1,-1.07140097e-09,-0.0150827346,-0.998808146,-0.0464199781,7.10916659e-10,-0.998808205,-0.0488087237,0,-1,-1.07140097e-09,-0.0286890715,-0.998808146,-0.0394871198,-0.0150827346,-0.998808146,-0.0464199781,0,-1,-1.07140097e-09,-0.0394871198,-0.998808146,-0.0286890175,-0.0286890715,-0.998808146,-0.0394871198,0,-1,-1.07140097e-09,-0.0464198776,-0.998808086,-0.0150827002,-0.0394871198,-0.998808146,-0.0286890175,0,-1,-1.07140097e-09,-0.048808746,-0.998808146,-4.01668068e-08,-0.0464198776,-0.998808086,-0.0150827002,0,-1,-1.07140097e-09,-0.046419885,-0.998808205,0.0150826648,-0.048808746,-0.998808146,-4.01668068e-08,0,-1,-1.07140097e-09,-0.0394871011,-0.998808146,0.0286890175,-0.046419885,-0.998808205,0.0150826648,0,-1,-1.07140097e-09,-0.0286890622,-0.998808205,0.0394871384,-0.0394871011,-0.998808146,0.0286890175,0,-1,-1.07140097e-09,-0.0150827318,-0.998808086,0.0464198589,-0.0286890622,-0.998808205,0.0394871384,0,-1,-1.07140097e-09,-3.5545869e-10,-0.998808205,0.0488086082,-0.0150827318,-0.998808086,0.0464198589,0,-1,-1.07140097e-09,0.0150827384,-0.998808146,0.0464198478,-3.5545869e-10,-0.998808205,0.0488086082,0,-1,-1.07140097e-09,0.0286890697,-0.998808146,0.0394871496,0.0150827384,-0.998808146,0.0464198478,0,-1,-1.07140097e-09,0.0394871235,-0.998808146,0.0286890361,0.0286890697,-0.998808146,0.0394871496,0,-1,-1.07140097e-09,0.0464198887,-0.998808146,0.0150827225,0.0394871235,-0.998808146,0.0286890361,0,-1,-1.07140097e-09,0.0488087162,-0.998808146,5.93615255e-08,0.0464198887,-0.998808146,0.0150827225,0,-1,-1.07140097e-09,0.0464199297,-0.998808205,-0.0150826806,0.0488087162,-0.998808146,5.93615255e-08,0,-1,-1.07140097e-09,0.950984597,-0.0123233953,-0.308992565,0.808955431,-0.01232336,-0.58774066,0.808902979,0.0167800747,-0.587702572,0.950922847,0.0167800616,-0.308972478,0.808955431,-0.01232336,-0.58774066,0.587740481,-0.0123233721,-0.80895561,0.587702334,0.0167800952,-0.808903158,0.808902979,0.0167800747,-0.587702572,0.587740481,-0.0123233721,-0.80895561,0.308993429,-0.0123233655,-0.950984359,0.308973372,0.0167800877,-0.950922608,0.587702334,0.0167800952,-0.808903158,0.308993429,-0.0123233655,-0.950984359,-1.40446843e-07,-0.0123233618,-0.999924064,-1.29941952e-07,0.016780084,-0.999859154,0.308973372,0.0167800877,-0.950922608,-1.40446843e-07,-0.0123233618,-0.999924064,-0.308993697,-0.0123233693,-0.95098418,-0.3089737,0.0167800877,-0.950922489,-1.29941952e-07,0.016780084,-0.999859154,-0.308993697,-0.0123233693,-0.95098418,-0.587740839,-0.0123233665,-0.808955371,-0.587702632,0.016780071,-0.808902919,-0.3089737,0.0167800877,-0.950922489,-0.587740839,-0.0123233665,-0.808955371,-0.80895561,-0.0123233497,-0.587740481,-0.808903158,0.0167800635,-0.587702394,-0.587702632,0.016780071,-0.808902919,-0.80895561,-0.0123233497,-0.587740481,-0.95098424,-0.012323333,-0.308993459,-0.950922608,0.0167800486,-0.308973402,-0.808903158,0.0167800635,-0.587702394,-0.95098424,-0.012323333,-0.308993459,-0.999924004,-0.0123233162,-3.19924531e-10,-0.999859154,0.0167800207,0,-0.950922608,0.0167800486,-0.308973402,-0.999924004,-0.0123233162,-3.19924531e-10,-0.95098424,-0.0123233162,0.308993518,-0.950922608,0.0167800523,0.308973491,-0.999859154,0.0167800207,0,-0.95098424,-0.0123233162,0.308993518,-0.808955431,-0.0123233497,0.587740719,-0.808902979,0.0167800803,0.587702513,-0.950922608,0.0167800523,0.308973491,-0.808955431,-0.0123233497,0.587740719,-0.5877406,-0.0123233702,0.80895555,-0.587702453,0.0167800821,0.808903039,-0.808902979,0.0167800803,0.587702513,-0.5877406,-0.0123233702,0.80895555,-0.308993459,-0.0123233618,0.95098424,-0.308973372,0.0167800859,0.950922608,-0.587702453,0.0167800821,0.808903039,-0.308993459,-0.0123233618,0.95098424,1.37247667e-07,-0.0123233637,0.999924123,1.19946478e-07,0.0167800877,0.999859154,-0.308973372,0.0167800859,0.950922608,1.37247667e-07,-0.0123233637,0.999924123,0.308993578,-0.0123233618,0.95098424,0.308973551,0.016780084,0.950922549,1.19946478e-07,0.0167800877,0.999859154,0.308993578,-0.0123233618,0.95098424,0.5877406,-0.0123233441,0.80895561,0.587702453,0.016780071,0.808903039,0.308973551,0.016780084,0.950922549,0.5877406,-0.0123233441,0.80895561,0.80895555,-0.0123233357,0.5877406,0.808903039,0.0167800523,0.587702453,0.587702453,0.016780071,0.808903039,0.80895555,-0.0123233357,0.5877406,0.95098424,-0.0123233339,0.308993489,0.950922608,0.0167800672,0.308973461,0.808903039,0.0167800523,0.587702453,0.95098424,-0.0123233339,0.308993489,0.999924004,-0.0123233795,9.64572337e-07,0.999859154,0.0167800821,9.69567054e-07,0.950922608,0.0167800672,0.308973461,0.999924004,-0.0123233795,9.64572337e-07,0.950984597,-0.0123233953,-0.308992565,0.950922847,0.0167800616,-0.308972478,0.999859154,0.0167800821,9.69567054e-07,0.881220102,-0.376123965,-0.286324739,0.950984597,-0.0123233953,-0.308992565,0.999924004,-0.0123233795,9.64572337e-07,0.926569223,-0.376124233,9.01827377e-07,0.682579398,-0.696346045,-0.221782759,0.881220102,-0.376123965,-0.286324739,0.926569223,-0.376124233,9.01827377e-07,0.717705905,-0.696346283,6.84901863e-07,0.0464199297,-0.998808205,-0.0150826806,0.384824872,-0.914481103,-0.125036806,0.404628575,-0.914481103,3.81239431e-07,0.0488087162,-0.998808146,5.93615255e-08,0.384824872,-0.914481103,-0.125036806,0.682579398,-0.696346045,-0.221782759,0.717705905,-0.696346283,6.84901863e-07,0.404628575,-0.914481103,3.81239431e-07,0.950984597,-0.0123233953,-0.308992565,0.881220102,-0.376123965,-0.286324739,0.749610305,-0.376123965,-0.544623733,0.808955431,-0.01232336,-0.58774066,0.881220102,-0.376123965,-0.286324739,0.682579398,-0.696346045,-0.221782759,0.580636263,-0.696346164,-0.421857059,0.749610305,-0.376123965,-0.544623733,0.682579398,-0.696346045,-0.221782759,0.384824872,-0.914481103,-0.125036806,0.327351451,-0.914481103,-0.237834781,0.580636263,-0.696346164,-0.421857059,0.384824872,-0.914481103,-0.125036806,0.0464199297,-0.998808205,-0.0150826806,0.0394870937,-0.998808086,-0.0286890101,0.327351451,-0.914481103,-0.237834781,0.808955431,-0.01232336,-0.58774066,0.749610305,-0.376123965,-0.544623733,0.544623733,-0.376124114,-0.749610305,0.587740481,-0.0123233721,-0.80895561,0.749610305,-0.376123965,-0.544623733,0.580636263,-0.696346164,-0.421857059,0.42185697,-0.696346343,-0.580636442,0.544623733,-0.376124114,-0.749610305,0.580636263,-0.696346164,-0.421857059,0.327351451,-0.914481103,-0.237834781,0.237834737,-0.914481044,-0.32735163,0.42185697,-0.696346343,-0.580636442,0.327351451,-0.914481103,-0.237834781,0.0394870937,-0.998808086,-0.0286890101,0.0286890585,-0.998808146,-0.039487116,0.237834737,-0.914481044,-0.32735163,0.587740481,-0.0123233721,-0.80895561,0.544623733,-0.376124114,-0.749610305,0.286325544,-0.376124054,-0.881219804,0.308993429,-0.0123233655,-0.950984359,0.544623733,-0.376124114,-0.749610305,0.42185697,-0.696346343,-0.580636442,0.221783251,-0.696346223,-0.682578981,0.286325544,-0.376124054,-0.881219804,0.42185697,-0.696346343,-0.580636442,0.237834737,-0.914481044,-0.32735163,0.125037074,-0.914481103,-0.384824723,0.221783251,-0.696346223,-0.682578981,0.237834737,-0.914481044,-0.32735163,0.0286890585,-0.998808146,-0.039487116,0.0150827104,-0.998808146,-0.0464198254,0.125037074,-0.914481103,-0.384824723,0.308993429,-0.0123233655,-0.950984359,0.286325544,-0.376124054,-0.881219804,-6.10059843e-08,-0.376123965,-0.926569402,-1.40446843e-07,-0.0123233618,-0.999924064,0.286325544,-0.376124054,-0.881219804,0.221783251,-0.696346223,-0.682578981,-1.80237301e-08,-0.696346045,-0.717706263,-6.10059843e-08,-0.376123965,-0.926569402,0.221783251,-0.696346223,-0.682578981,0.125037074,-0.914481103,-0.384824723,-3.6628883e-08,-0.914480984,-0.404628873,-1.80237301e-08,-0.696346045,-0.717706263,0.125037074,-0.914481103,-0.384824723,0.0150827104,-0.998808146,-0.0464198254,7.10916659e-10,-0.998808205,-0.0488087237,-3.6628883e-08,-0.914480984,-0.404628873,-1.40446843e-07,-0.0123233618,-0.999924064,-6.10059843e-08,-0.376123965,-0.926569402,-0.286325812,-0.376124024,-0.881219745,-0.308993697,-0.0123233693,-0.95098418,-6.10059843e-08,-0.376123965,-0.926569402,-1.80237301e-08,-0.696346045,-0.717706263,-0.221783444,-0.696345985,-0.682579219,-0.286325812,-0.376124024,-0.881219745,-1.80237301e-08,-0.696346045,-0.717706263,-3.6628883e-08,-0.914480984,-0.404628873,-0.125037163,-0.914480865,-0.384825081,-0.221783444,-0.696345985,-0.682579219,-3.6628883e-08,-0.914480984,-0.404628873,7.10916659e-10,-0.998808205,-0.0488087237,-0.0150827346,-0.998808146,-0.0464199781,-0.125037163,-0.914480865,-0.384825081,-0.308993697,-0.0123233693,-0.95098418,-0.286325812,-0.376124024,-0.881219745,-0.54462409,-0.376124024,-0.749610126,-0.587740839,-0.0123233665,-0.808955371,-0.286325812,-0.376124024,-0.881219745,-0.221783444,-0.696345985,-0.682579219,-0.421857119,-0.696346045,-0.580636442,-0.54462409,-0.376124024,-0.749610126,-0.221783444,-0.696345985,-0.682579219,-0.125037163,-0.914480865,-0.384825081,-0.237834841,-0.914481103,-0.327351391,-0.421857119,-0.696346045,-0.580636442,-0.125037163,-0.914480865,-0.384825081,-0.0150827346,-0.998808146,-0.0464199781,-0.0286890715,-0.998808146,-0.0394871198,-0.237834841,-0.914481103,-0.327351391,-0.587740839,-0.0123233665,-0.808955371,-0.54462409,-0.376124024,-0.749610126,-0.749610543,-0.376123875,-0.544623673,-0.80895561,-0.0123233497,-0.587740481,-0.54462409,-0.376124024,-0.749610126,-0.421857119,-0.696346045,-0.580636442,-0.580636382,-0.696346223,-0.42185688,-0.749610543,-0.376123875,-0.544623673,-0.421857119,-0.696346045,-0.580636442,-0.237834841,-0.914481103,-0.327351391,-0.327351451,-0.914481103,-0.237834498,-0.580636382,-0.696346223,-0.42185688,-0.237834841,-0.914481103,-0.327351391,-0.0286890715,-0.998808146,-0.0394871198,-0.0394871198,-0.998808146,-0.0286890175,-0.327351451,-0.914481103,-0.237834498,-0.80895561,-0.0123233497,-0.587740481,-0.749610543,-0.376123875,-0.544623673,-0.881219983,-0.376123667,-0.286325604,-0.95098424,-0.012323333,-0.308993459,-0.749610543,-0.376123875,-0.544623673,-0.580636382,-0.696346223,-0.42185688,-0.6825791,-0.696346104,-0.221783236,-0.881219983,-0.376123667,-0.286325604,-0.580636382,-0.696346223,-0.42185688,-0.327351451,-0.914481103,-0.237834498,-0.384824723,-0.914481103,-0.125037014,-0.6825791,-0.696346104,-0.221783236,-0.327351451,-0.914481103,-0.237834498,-0.0394871198,-0.998808146,-0.0286890175,-0.0464198776,-0.998808086,-0.0150827002,-0.384824723,-0.914481103,-0.125037014,-0.95098424,-0.012323333,-0.308993459,-0.881219983,-0.376123667,-0.286325604,-0.926569462,-0.376123577,1.0609738e-08,-0.999924004,-0.0123233162,-3.19924531e-10,-0.881219983,-0.376123667,-0.286325604,-0.6825791,-0.696346104,-0.221783236,-0.717706144,-0.696346104,4.15932444e-09,-0.926569462,-0.376123577,1.0609738e-08,-0.6825791,-0.696346104,-0.221783236,-0.384824723,-0.914481103,-0.125037014,-0.404628605,-0.914480984,-7.62479075e-08,-0.717706144,-0.696346104,4.15932444e-09,-0.384824723,-0.914481103,-0.125037014,-0.0464198776,-0.998808086,-0.0150827002,-0.048808746,-0.998808146,-4.01668068e-08,-0.404628605,-0.914480984,-7.62479075e-08,-0.999924004,-0.0123233162,-3.19924531e-10,-0.926569462,-0.376123577,1.0609738e-08,-0.881220043,-0.376123488,0.286325753,-0.95098424,-0.0123233162,0.308993518,-0.926569462,-0.376123577,1.0609738e-08,-0.717706144,-0.696346104,4.15932444e-09,-0.6825791,-0.696346045,0.2217834,-0.881220043,-0.376123488,0.286325753,-0.717706144,-0.696346104,4.15932444e-09,-0.404628605,-0.914480984,-7.62479075e-08,-0.384824783,-0.914481163,0.125036985,-0.6825791,-0.696346045,0.2217834,-0.404628605,-0.914480984,-7.62479075e-08,-0.048808746,-0.998808146,-4.01668068e-08,-0.046419885,-0.998808205,0.0150826648,-0.384824783,-0.914481163,0.125036985,-0.95098424,-0.0123233162,0.308993518,-0.881220043,-0.376123488,0.286325753,-0.749610424,-0.376123846,0.544623852,-0.808955431,-0.0123233497,0.587740719,-0.881220043,-0.376123488,0.286325753,-0.6825791,-0.696346045,0.2217834,-0.580636501,-0.696346223,0.421857089,-0.749610424,-0.376123846,0.544623852,-0.6825791,-0.696346045,0.2217834,-0.384824783,-0.914481163,0.125036985,-0.327351481,-0.914480984,0.237834752,-0.580636501,-0.696346223,0.421857089,-0.384824783,-0.914481163,0.125036985,-0.046419885,-0.998808205,0.0150826648,-0.0394871011,-0.998808146,0.0286890175,-0.327351481,-0.914480984,0.237834752,-0.808955431,-0.0123233497,0.587740719,-0.749610424,-0.376123846,0.544623852,-0.544623733,-0.376124144,0.749610305,-0.5877406,-0.0123233702,0.80895555,-0.749610424,-0.376123846,0.544623852,-0.580636501,-0.696346223,0.421857089,-0.42185685,-0.696346343,0.580636322,-0.544623733,-0.376124144,0.749610305,-0.580636501,-0.696346223,0.421857089,-0.327351481,-0.914480984,0.237834752,-0.237834737,-0.914481044,0.32735166,-0.42185685,-0.696346343,0.580636322,-0.327351481,-0.914480984,0.237834752,-0.0394871011,-0.998808146,0.0286890175,-0.0286890622,-0.998808205,0.0394871384,-0.237834737,-0.914481044,0.32735166,-0.5877406,-0.0123233702,0.80895555,-0.544623733,-0.376124144,0.749610305,-0.286325485,-0.376123935,0.881219923,-0.308993459,-0.0123233618,0.95098424,-0.544623733,-0.376124144,0.749610305,-0.42185685,-0.696346343,0.580636322,-0.22178328,-0.696346283,0.682578921,-0.286325485,-0.376123935,0.881219923,-0.42185685,-0.696346343,0.580636322,-0.237834737,-0.914481044,0.32735166,-0.125037134,-0.914481103,0.384824425,-0.22178328,-0.696346283,0.682578921,-0.237834737,-0.914481044,0.32735166,-0.0286890622,-0.998808205,0.0394871384,-0.0150827318,-0.998808086,0.0464198589,-0.125037134,-0.914481103,0.384824425,-0.308993459,-0.0123233618,0.95098424,-0.286325485,-0.376123935,0.881219923,1.22011954e-07,-0.376123846,0.926569402,1.37247667e-07,-0.0123233637,0.999924123,-0.286325485,-0.376123935,0.881219923,-0.22178328,-0.696346283,0.682578921,-5.54576429e-09,-0.696345985,0.717706263,1.22011954e-07,-0.376123846,0.926569402,-0.22178328,-0.696346283,0.682578921,-0.125037134,-0.914481103,0.384824425,-8.97034358e-09,-0.914481163,0.404628515,-5.54576429e-09,-0.696345985,0.717706263,-0.125037134,-0.914481103,0.384824425,-0.0150827318,-0.998808086,0.0464198589,-3.5545869e-10,-0.998808205,0.0488086082,-8.97034358e-09,-0.914481163,0.404628515,1.37247667e-07,-0.0123233637,0.999924123,1.22011954e-07,-0.376123846,0.926569402,0.286325663,-0.376124024,0.881219864,0.308993578,-0.0123233618,0.95098424,1.22011954e-07,-0.376123846,0.926569402,-5.54576429e-09,-0.696345985,0.717706263,0.22178334,-0.696345925,0.682579219,0.286325663,-0.376124024,0.881219864,-5.54576429e-09,-0.696345985,0.717706263,-8.97034358e-09,-0.914481163,0.404628515,0.125037178,-0.914480925,0.384825051,0.22178334,-0.696345925,0.682579219,-8.97034358e-09,-0.914481163,0.404628515,-3.5545869e-10,-0.998808205,0.0488086082,0.0150827384,-0.998808146,0.0464198478,0.125037178,-0.914480925,0.384825051,0.308993578,-0.0123233618,0.95098424,0.286325663,-0.376124024,0.881219864,0.544623852,-0.376123965,0.749610364,0.5877406,-0.0123233441,0.80895561,0.286325663,-0.376124024,0.881219864,0.22178334,-0.696345925,0.682579219,0.421857029,-0.696346223,0.580636442,0.544623852,-0.376123965,0.749610364,0.22178334,-0.696345925,0.682579219,0.125037178,-0.914480925,0.384825051,0.237834856,-0.914481103,0.32735157,0.421857029,-0.696346223,0.580636442,0.125037178,-0.914480925,0.384825051,0.0150827384,-0.998808146,0.0464198478,0.0286890697,-0.998808146,0.0394871496,0.237834856,-0.914481103,0.32735157,0.5877406,-0.0123233441,0.80895561,0.544623852,-0.376123965,0.749610364,0.749610424,-0.376123875,0.544623733,0.80895555,-0.0123233357,0.5877406,0.544623852,-0.376123965,0.749610364,0.421857029,-0.696346223,0.580636442,0.580636263,-0.696346402,0.42185694,0.749610424,-0.376123875,0.544623733,0.421857029,-0.696346223,0.580636442,0.237834856,-0.914481103,0.32735157,0.32735154,-0.914481163,0.237834677,0.580636263,-0.696346402,0.42185694,0.237834856,-0.914481103,0.32735157,0.0286890697,-0.998808146,0.0394871496,0.0394871235,-0.998808146,0.0286890361,0.32735154,-0.914481163,0.237834677,0.80895555,-0.0123233357,0.5877406,0.749610424,-0.376123875,0.544623733,0.881219745,-0.376124144,0.286325574,0.95098424,-0.0123233339,0.308993489,0.749610424,-0.376123875,0.544623733,0.580636263,-0.696346402,0.42185694,0.682578623,-0.696346641,0.221783176,0.881219745,-0.376124144,0.286325574,0.580636263,-0.696346402,0.42185694,0.32735154,-0.914481163,0.237834677,0.384824723,-0.914481163,0.125037044,0.682578623,-0.696346641,0.221783176,0.32735154,-0.914481163,0.237834677,0.0394871235,-0.998808146,0.0286890361,0.0464198887,-0.998808146,0.0150827225,0.384824723,-0.914481163,0.125037044,0.95098424,-0.0123233339,0.308993489,0.881219745,-0.376124144,0.286325574,0.926569223,-0.376124233,9.01827377e-07,0.999924004,-0.0123233795,9.64572337e-07,0.881219745,-0.376124144,0.286325574,0.682578623,-0.696346641,0.221783176,0.717705905,-0.696346283,6.84901863e-07,0.926569223,-0.376124233,9.01827377e-07,0.682578623,-0.696346641,0.221783176,0.384824723,-0.914481163,0.125037044,0.404628575,-0.914481103,3.81239431e-07,0.717705905,-0.696346283,6.84901863e-07,0.384824723,-0.914481163,0.125037044,0.0464198887,-0.998808146,0.0150827225,0.0488087162,-0.998808146,5.93615255e-08,0.404628575,-0.914481103,3.81239431e-07]
164 
165  stValues=[0.596597016,0.872949064,0.582170367,0.901262939,0.5,0.837499976,0.582170367,0.901262939,0.559700251,0.923733056,0.5,0.837499976,0.559700251,0.923733056,0.531386316,0.938159764,0.5,0.837499976,0.531386316,0.938159764,0.5,0.94313097,0.5,0.837499976,0.5,0.94313097,0.468613744,0.938159764,0.5,0.837499976,0.468613744,0.938159764,0.440299809,0.923732936,0.5,0.837499976,0.440299809,0.923732936,0.417829573,0.901263058,0.5,0.837499976,0.417829573,0.901263058,0.403402925,0.872949064,0.5,0.837499976,0.403402925,0.872949064,0.398431838,0.841562748,0.5,0.837499976,0.398431838,0.841562748,0.403403074,0.810176432,0.5,0.837499976,0.403403074,0.810176432,0.417829543,0.781862438,0.5,0.837499976,0.417829543,0.781862438,0.44029972,0.759392381,0.5,0.837499976,0.44029972,0.759392381,0.468613654,0.744965613,0.5,0.837499976,0.468613654,0.744965613,0.5,0.739994526,0.5,0.837499976,0.5,0.739994526,0.531386316,0.744965672,0.5,0.837499976,0.531386316,0.744965672,0.559700251,0.759392381,0.5,0.837499976,0.559700251,0.759392381,0.582170308,0.781862438,0.5,0.837499976,0.582170308,0.781862438,0.596597075,0.810176432,0.5,0.837499976,0.596597075,0.810176432,0.601568103,0.841562748,0.5,0.837499976,0.601568103,0.841562748,0.596597016,0.872949064,0.5,0.837499976,0.622837007,0.882655442,0.596597016,0.872949064,0.601568103,0.841562748,0.629158437,0.842743218,0.648602605,0.892033935,0.622837007,0.882655442,0.629158437,0.842743218,0.65625,0.84375,0.624999762,0.623467088,0.624999762,0.655898571,0.612499774,0.655151486,0.612499774,0.623467088,0.624999762,0.655898571,0.624999762,0.688439846,0.612499774,0.688439846,0.612499774,0.655151486,0.596597016,0.872949064,0.622837007,0.882655442,0.604491413,0.918660641,0.582170367,0.901262939,0.622837007,0.882655442,0.648602605,0.892033935,0.626408935,0.935591459,0.604491413,0.918660641,0.375,0.688439846,0.375,0.655898571,0.387499988,0.655151486,0.387499988,0.688439846,0.375,0.655898571,0.375,0.623467088,0.387499988,0.623467088,0.387499988,0.655151486,0.582170367,0.901262939,0.604491413,0.918660641,0.575917482,0.947234631,0.559700251,0.923733056,0.604491413,0.918660641,0.626408935,0.935591459,0.591841459,0.970158935,0.575917482,0.947234631,0.387499988,0.688439846,0.387499988,0.655151486,0.399999976,0.655092359,0.399999976,0.688439846,0.387499988,0.655151486,0.387499988,0.623467088,0.399999976,0.623467088,0.399999976,0.655092359,0.559700251,0.923733056,0.575917482,0.947234631,0.539912164,0.965580225,0.531386316,0.938159764,0.575917482,0.947234631,0.591841459,0.970158935,0.548283875,0.992352605,0.539912164,0.965580225,0.399999976,0.688439846,0.399999976,0.655092359,0.412499964,0.65508765,0.412499964,0.688439846,0.399999976,0.655092359,0.399999976,0.623467088,0.412499934,0.623467088,0.412499964,0.65508765,0.531386316,0.938159764,0.539912164,0.965580225,0.5,0.971901774,0.5,0.94313097,0.539912164,0.965580225,0.548283875,0.992352605,0.5,1,0.5,0.971901774,0.412499964,0.688439846,0.412499964,0.65508765,0.424999952,0.655087292,0.424999952,0.688439846,0.412499964,0.65508765,0.412499934,0.623467088,0.424999952,0.623467088,0.424999952,0.655087292,0.5,0.94313097,0.5,0.971901774,0.460087836,0.965580285,0.468613744,0.938159764,0.5,0.971901774,0.5,1,0.451716095,0.992352605,0.460087836,0.965580285,0.424999952,0.688439846,0.424999952,0.655087292,0.43749994,0.655087292,0.43749994,0.688439846,0.424999952,0.655087292,0.424999952,0.623467088,0.43749994,0.623467088,0.43749994,0.655087292,0.468613744,0.938159764,0.460087836,0.965580285,0.424082577,0.947234571,0.440299809,0.923732936,0.460087836,0.965580285,0.451716095,0.992352605,0.408158541,0.970158935,0.424082577,0.947234571,0.43749994,0.688439846,0.43749994,0.655087292,0.449999928,0.655087292,0.449999928,0.688439846,0.43749994,0.655087292,0.43749994,0.623467088,0.449999928,0.623467088,0.449999928,0.655087292,0.440299809,0.923732936,0.424082577,0.947234571,0.395508558,0.9186607,0.417829573,0.901263058,0.424082577,0.947234571,0.408158541,0.970158935,0.373591065,0.935591459,0.395508558,0.9186607,0.449999928,0.688439846,0.449999928,0.655087292,0.462499917,0.655087233,0.462499917,0.688439846,0.449999928,0.655087292,0.449999928,0.623467088,0.462499917,0.623467088,0.462499917,0.655087233,0.417829573,0.901263058,0.395508558,0.9186607,0.377162963,0.882655442,0.403402925,0.872949064,0.395508558,0.9186607,0.373591065,0.935591459,0.351397395,0.892033935,0.377162963,0.882655442,0.462499917,0.688439846,0.462499917,0.655087233,0.474999905,0.655087233,0.474999905,0.688439846,0.462499917,0.655087233,0.462499917,0.623467088,0.474999905,0.623467088,0.474999905,0.655087233,0.403402925,0.872949064,0.377162963,0.882655442,0.370841503,0.842743218,0.398431838,0.841562748,0.377162963,0.882655442,0.351397395,0.892033935,0.34374997,0.84375,0.370841503,0.842743218,0.474999905,0.688439846,0.474999905,0.655087233,0.487499893,0.655087233,0.487499893,0.688439846,0.474999905,0.655087233,0.474999905,0.623467088,0.487499893,0.623467088,0.487499893,0.655087233,0.398431838,0.841562748,0.370841503,0.842743218,0.377163023,0.802831054,0.403403074,0.810176432,0.370841503,0.842743218,0.34374997,0.84375,0.351397395,0.795466065,0.377163023,0.802831054,0.487499893,0.688439846,0.487499893,0.655087233,0.499999881,0.655087233,0.499999881,0.688439846,0.487499893,0.655087233,0.487499893,0.623467088,0.499999881,0.623467088,0.499999881,0.655087233,0.403403074,0.810176432,0.377163023,0.802831054,0.395508528,0.766825736,0.417829543,0.781862438,0.377163023,0.802831054,0.351397395,0.795466065,0.373591065,0.751908541,0.395508528,0.766825736,0.499999881,0.688439846,0.499999881,0.655087233,0.512499869,0.655087233,0.512499869,0.688439846,0.499999881,0.655087233,0.499999881,0.623467088,0.512499869,0.623467088,0.512499869,0.655087233,0.417829543,0.781862438,0.395508528,0.766825736,0.424082518,0.738251805,0.44029972,0.759392381,0.395508528,0.766825736,0.373591065,0.751908541,0.408158511,0.717341065,0.424082518,0.738251805,0.512499869,0.688439846,0.512499869,0.655087233,0.524999857,0.655087233,0.524999857,0.688439846,0.512499869,0.655087233,0.512499869,0.623467088,0.524999857,0.623467088,0.524999857,0.655087233,0.44029972,0.759392381,0.424082518,0.738251805,0.460087806,0.719906151,0.468613654,0.744965613,0.424082518,0.738251805,0.408158511,0.717341065,0.451716065,0.695147336,0.460087806,0.719906151,0.524999857,0.688439846,0.524999857,0.655087233,0.537499845,0.655087292,0.537499845,0.688439846,0.524999857,0.655087233,0.524999857,0.623467088,0.537499845,0.623467088,0.537499845,0.655087292,0.468613654,0.744965613,0.460087806,0.719906151,0.5,0.713584721,0.5,0.739994526,0.460087806,0.719906151,0.451716065,0.695147336,0.5,0.68749994,0.5,0.713584721,0.537499845,0.688439846,0.537499845,0.655087292,0.549999833,0.655087292,0.549999833,0.688439846,0.537499845,0.655087292,0.537499845,0.623467088,0.549999833,0.623467088,0.549999833,0.655087292,0.5,0.739994526,0.5,0.713584721,0.539912164,0.719906151,0.531386316,0.744965672,0.5,0.713584721,0.5,0.68749994,0.548283935,0.695147336,0.539912164,0.719906151,0.549999833,0.688439846,0.549999833,0.655087292,0.562499821,0.655087233,0.562499821,0.688439846,0.549999833,0.655087292,0.549999833,0.623467088,0.562499821,0.623467088,0.562499821,0.655087233,0.531386316,0.744965672,0.539912164,0.719906151,0.575917482,0.738251805,0.559700251,0.759392381,0.539912164,0.719906151,0.548283935,0.695147336,0.591841519,0.717341006,0.575917482,0.738251805,0.562499821,0.688439846,0.562499821,0.655087233,0.574999809,0.655087292,0.574999809,0.688439846,0.562499821,0.655087233,0.562499821,0.623467088,0.574999809,0.623467088,0.574999809,0.655087292,0.559700251,0.759392381,0.575917482,0.738251805,0.604491413,0.766825736,0.582170308,0.781862438,0.575917482,0.738251805,0.591841519,0.717341006,0.626408994,0.751908481,0.604491413,0.766825736,0.574999809,0.688439846,0.574999809,0.655087292,0.587499797,0.65508765,0.587499797,0.688439846,0.574999809,0.655087292,0.574999809,0.623467088,0.587499797,0.623467088,0.587499797,0.65508765,0.582170308,0.781862438,0.604491413,0.766825736,0.622837067,0.802831054,0.596597075,0.810176432,0.604491413,0.766825736,0.626408994,0.751908481,0.648602664,0.795466065,0.622837067,0.802831054,0.587499797,0.688439846,0.587499797,0.65508765,0.599999785,0.655092359,0.599999785,0.688439846,0.587499797,0.65508765,0.587499797,0.623467088,0.599999785,0.623467088,0.599999785,0.655092359,0.596597075,0.810176432,0.622837067,0.802831054,0.629158437,0.842743218,0.601568103,0.841562748,0.622837067,0.802831054,0.648602664,0.795466065,0.65625,0.84375,0.629158437,0.842743218,0.599999785,0.688439846,0.599999785,0.655092359,0.612499774,0.655151486,0.612499774,0.688439846,0.599999785,0.655092359,0.599999785,0.623467088,0.612499774,0.623467088,0.612499774,0.655151486,0.594810069,0.0858041719,0.611455858,0.118473403,0.5,0.150000006,0.568883538,0.0598776378,0.594810069,0.0858041719,0.5,0.150000006,0.536214232,0.04323183,0.568883538,0.0598776378,0.5,0.150000006,0.5,0.0374959931,0.536214232,0.04323183,0.5,0.150000006,0.463785827,0.043231871,0.5,0.0374959931,0.5,0.150000006,0.431116462,0.0598776378,0.463785827,0.043231871,0.5,0.150000006,0.405190051,0.085804157,0.431116462,0.0598776378,0.5,0.150000006,0.388544261,0.118473455,0.405190051,0.085804157,0.5,0.150000006,0.382808387,0.154687673,0.388544261,0.118473455,0.5,0.150000006,0.388544232,0.190901801,0.382808387,0.154687673,0.5,0.150000006,0.405189961,0.223571151,0.388544232,0.190901801,0.5,0.150000006,0.431116551,0.249497622,0.405189961,0.223571151,0.5,0.150000006,0.463785797,0.266143471,0.431116551,0.249497622,0.5,0.150000006,0.5,0.271879345,0.463785797,0.266143471,0.5,0.150000006,0.536214113,0.266143382,0.5,0.271879345,0.5,0.150000006,0.568883479,0.249497667,0.536214113,0.266143382,0.5,0.150000006,0.594810009,0.223571151,0.568883479,0.249497667,0.5,0.150000006,0.611455917,0.190901875,0.594810009,0.223571151,0.5,0.150000006,0.617191613,0.154687628,0.611455917,0.190901875,0.5,0.150000006,0.611455858,0.118473403,0.617191613,0.154687628,0.5,0.150000006,0.375,0.358908832,0.387499988,0.358908832,0.387499988,0.623467088,0.375,0.623467088,0.387499988,0.358908832,0.399999976,0.358908832,0.399999976,0.623467088,0.387499988,0.623467088,0.399999976,0.358908832,0.412499964,0.35890913,0.412499934,0.623467088,0.399999976,0.623467088,0.412499964,0.35890913,0.424999952,0.358908832,0.424999952,0.623467088,0.412499934,0.623467088,0.424999952,0.358908832,0.43749994,0.35890913,0.43749994,0.623467088,0.424999952,0.623467088,0.43749994,0.35890913,0.449999928,0.358908832,0.449999928,0.623467088,0.43749994,0.623467088,0.449999928,0.358908832,0.462499917,0.358908832,0.462499917,0.623467088,0.449999928,0.623467088,0.462499917,0.358908832,0.474999905,0.35890913,0.474999905,0.623467088,0.462499917,0.623467088,0.474999905,0.35890913,0.487499893,0.358908832,0.487499893,0.623467088,0.474999905,0.623467088,0.487499893,0.358908832,0.499999881,0.358908832,0.499999881,0.623467088,0.487499893,0.623467088,0.499999881,0.358908832,0.512499869,0.358908832,0.512499869,0.623467088,0.499999881,0.623467088,0.512499869,0.358908832,0.524999857,0.358908832,0.524999857,0.623467088,0.512499869,0.623467088,0.524999857,0.358908832,0.537499845,0.35890916,0.537499845,0.623467088,0.524999857,0.623467088,0.537499845,0.35890916,0.549999833,0.35890916,0.549999833,0.623467088,0.537499845,0.623467088,0.549999833,0.35890916,0.562499821,0.358908832,0.562499821,0.623467088,0.549999833,0.623467088,0.562499821,0.358908832,0.574999809,0.358908832,0.574999809,0.623467088,0.562499821,0.623467088,0.574999809,0.358908832,0.587499797,0.358908832,0.587499797,0.623467088,0.574999809,0.623467088,0.587499797,0.358908832,0.599999785,0.35890916,0.599999785,0.623467088,0.587499797,0.623467088,0.599999785,0.35890916,0.612499774,0.35890913,0.612499774,0.623467088,0.599999785,0.623467088,0.612499774,0.35890913,0.624999762,0.35890913,0.624999762,0.623467088,0.612499774,0.623467088,0.624999762,0.335743785,0.624999762,0.35890913,0.612499774,0.35890913,0.612499774,0.336124867,0.624999762,0.3125,0.624999762,0.335743785,0.612499774,0.336124867,0.612499774,0.3125,0.611455858,0.118473403,0.630165756,0.113216378,0.636864305,0.155509815,0.617191613,0.154687628,0.630165756,0.113216378,0.648602664,0.107966065,0.65625,0.15625,0.636864305,0.155509815,0.375,0.358908832,0.375,0.335743636,0.387499988,0.336124718,0.387499988,0.358908832,0.375,0.335743636,0.375,0.3125,0.387499988,0.3125,0.387499988,0.336124718,0.648602664,0.107966065,0.630165756,0.113216378,0.610725641,0.0750629678,0.626408994,0.064408496,0.630165756,0.113216378,0.611455858,0.118473403,0.594810069,0.0858041719,0.610725641,0.0750629678,0.387499988,0.358908832,0.387499988,0.336124718,0.399999976,0.336140633,0.399999976,0.358908832,0.387499988,0.336124718,0.387499988,0.3125,0.399999976,0.3125,0.399999976,0.336140633,0.626408994,0.064408496,0.610725641,0.0750629678,0.580446899,0.0447842143,0.591841519,0.0298410207,0.610725641,0.0750629678,0.594810069,0.0858041719,0.568883538,0.0598776378,0.580446899,0.0447842143,0.399999976,0.358908832,0.399999976,0.336140633,0.412499964,0.336141407,0.412499964,0.35890913,0.399999976,0.336140633,0.399999976,0.3125,0.412499964,0.3125,0.412499964,0.336141407,0.591841519,0.0298410207,0.580446899,0.0447842143,0.542293429,0.0253440812,0.548283935,0.00764733553,0.580446899,0.0447842143,0.568883538,0.0598776378,0.536214232,0.04323183,0.542293429,0.0253440812,0.412499964,0.35890913,0.412499964,0.336141407,0.424999952,0.336141318,0.424999952,0.358908832,0.412499964,0.336141407,0.412499964,0.3125,0.424999952,0.3125,0.424999952,0.336141318,0.548283935,0.00764733553,0.542293429,0.0253440812,0.5,0.0186454486,0.5,-7.4505806e-08,0.542293429,0.0253440812,0.536214232,0.04323183,0.5,0.0374959931,0.5,0.0186454486,0.424999952,0.358908832,0.424999952,0.336141318,0.43749994,0.336141437,0.43749994,0.35890913,0.424999952,0.336141318,0.424999952,0.3125,0.43749994,0.3125,0.43749994,0.336141437,0.5,-7.4505806e-08,0.5,0.0186454486,0.4577066,0.025344098,0.451716065,0.00764735043,0.5,0.0186454486,0.5,0.0374959931,0.463785827,0.043231871,0.4577066,0.025344098,0.43749994,0.35890913,0.43749994,0.336141437,0.449999928,0.336141318,0.449999928,0.358908832,0.43749994,0.336141437,0.43749994,0.3125,0.449999928,0.3125,0.449999928,0.336141318,0.451716065,0.00764735043,0.4577066,0.025344098,0.419553131,0.0447842292,0.408158511,0.0298410505,0.4577066,0.025344098,0.463785827,0.043231871,0.431116462,0.0598776378,0.419553131,0.0447842292,0.449999928,0.358908832,0.449999928,0.336141318,0.462499917,0.336141318,0.462499917,0.358908832,0.449999928,0.336141318,0.449999928,0.3125,0.462499917,0.3125,0.462499917,0.336141318,0.408158511,0.0298410505,0.419553131,0.0447842292,0.389274448,0.0750629753,0.373591065,0.0644085258,0.419553131,0.0447842292,0.431116462,0.0598776378,0.405190051,0.085804157,0.389274448,0.0750629753,0.462499917,0.358908832,0.462499917,0.336141318,0.474999905,0.336141437,0.474999905,0.35890913,0.462499917,0.336141318,0.462499917,0.3125,0.474999905,0.3125,0.474999905,0.336141437,0.373591065,0.0644085258,0.389274448,0.0750629753,0.369834334,0.113216415,0.351397395,0.10796608,0.389274448,0.0750629753,0.405190051,0.085804157,0.388544261,0.118473455,0.369834334,0.113216415,0.474999905,0.35890913,0.474999905,0.336141437,0.487499893,0.336141318,0.487499893,0.358908832,0.474999905,0.336141437,0.474999905,0.3125,0.487499893,0.3125,0.487499893,0.336141318,0.351397395,0.10796608,0.369834334,0.113216415,0.363135666,0.15550983,0.34374997,0.15625,0.369834334,0.113216415,0.388544261,0.118473455,0.382808387,0.154687673,0.363135666,0.15550983,0.487499893,0.358908832,0.487499893,0.336141318,0.499999881,0.336141318,0.499999881,0.358908832,0.487499893,0.336141318,0.487499893,0.3125,0.499999881,0.3125,0.499999881,0.336141318,0.34374997,0.15625,0.363135666,0.15550983,0.369834304,0.197803214,0.351397395,0.20453392,0.363135666,0.15550983,0.382808387,0.154687673,0.388544232,0.190901801,0.369834304,0.197803214,0.499999881,0.358908832,0.499999881,0.336141318,0.512499869,0.336141318,0.512499869,0.358908832,0.499999881,0.336141318,0.499999881,0.3125,0.512499869,0.3125,0.512499869,0.336141318,0.351397395,0.20453392,0.369834304,0.197803214,0.389274418,0.235956654,0.373591065,0.248091459,0.369834304,0.197803214,0.388544232,0.190901801,0.405189961,0.223571151,0.389274418,0.235956654,0.512499869,0.358908832,0.512499869,0.336141318,0.524999857,0.336141318,0.524999857,0.358908832,0.512499869,0.336141318,0.512499869,0.3125,0.524999857,0.3125,0.524999857,0.336141318,0.373591065,0.248091459,0.389274418,0.235956654,0.41955319,0.266235381,0.408158541,0.282658935,0.389274418,0.235956654,0.405189961,0.223571151,0.431116551,0.249497622,0.41955319,0.266235381,0.524999857,0.358908832,0.524999857,0.336141318,0.537499845,0.336141467,0.537499845,0.35890916,0.524999857,0.336141318,0.524999857,0.3125,0.537499845,0.3125,0.537499845,0.336141467,0.408158541,0.282658935,0.41955319,0.266235381,0.4577066,0.285675526,0.451716095,0.304852605,0.41955319,0.266235381,0.431116551,0.249497622,0.463785797,0.266143471,0.4577066,0.285675526,0.537499845,0.35890916,0.537499845,0.336141467,0.549999833,0.336141467,0.549999833,0.35890916,0.537499845,0.336141467,0.537499845,0.3125,0.549999833,0.3125,0.549999833,0.336141467,0.451716095,0.304852605,0.4577066,0.285675526,0.5,0.292374164,0.5,0.3125,0.4577066,0.285675526,0.463785797,0.266143471,0.5,0.271879345,0.5,0.292374164,0.549999833,0.35890916,0.549999833,0.336141467,0.562499821,0.336141318,0.562499821,0.358908832,0.549999833,0.336141467,0.549999833,0.3125,0.562499821,0.3125,0.562499821,0.336141318,0.5,0.3125,0.5,0.292374164,0.54229337,0.285675496,0.548283875,0.304852605,0.5,0.292374164,0.5,0.271879345,0.536214113,0.266143382,0.54229337,0.285675496,0.562499821,0.358908832,0.562499821,0.336141318,0.574999809,0.336141318,0.574999809,0.358908832,0.562499821,0.336141318,0.562499821,0.3125,0.574999809,0.3125,0.574999809,0.336141318,0.548283875,0.304852605,0.54229337,0.285675496,0.580446839,0.266235411,0.591841459,0.282658935,0.54229337,0.285675496,0.536214113,0.266143382,0.568883479,0.249497667,0.580446839,0.266235411,0.574999809,0.358908832,0.574999809,0.336141318,0.587499797,0.336141288,0.587499797,0.358908832,0.574999809,0.336141318,0.574999809,0.3125,0.587499797,0.3125,0.587499797,0.336141288,0.591841459,0.282658935,0.580446839,0.266235411,0.610725582,0.235956654,0.626408935,0.248091459,0.580446839,0.266235411,0.568883479,0.249497667,0.594810009,0.223571151,0.610725582,0.235956654,0.587499797,0.358908832,0.587499797,0.336141288,0.599999785,0.336140782,0.599999785,0.35890916,0.587499797,0.336141288,0.587499797,0.3125,0.599999785,0.3125,0.599999785,0.336140782,0.626408935,0.248091459,0.610725582,0.235956654,0.630165756,0.197803229,0.648602605,0.204533905,0.610725582,0.235956654,0.594810009,0.223571151,0.611455917,0.190901875,0.630165756,0.197803229,0.599999785,0.35890916,0.599999785,0.336140782,0.612499774,0.336124867,0.612499774,0.35890913,0.599999785,0.336140782,0.599999785,0.3125,0.612499774,0.3125,0.612499774,0.336124867,0.648602605,0.204533905,0.630165756,0.197803229,0.636864305,0.155509815,0.65625,0.15625,0.630165756,0.197803229,0.611455917,0.190901875,0.617191613,0.154687628,0.636864305,0.155509815]
166 
167  npolys=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
168  nvertices=[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]
169  PolyVerts=[6,11,1,11,16,1,16,21,1,21,26,1,26,31,1,31,36,1,36,41,1,41,46,1,46,51,1,51,56,1,56,61,1,61,66,1,66,71,1,71,76,1,76,81,1,81,86,1,86,91,1,91,96,1,96,101,1,101,6,1,5,6,101,100,4,5,100,99,2,3,98,97,3,4,99,98,6,5,10,11,5,4,9,10,4,3,8,9,3,2,7,8,11,10,15,16,10,9,14,15,9,8,13,14,8,7,12,13,16,15,20,21,15,14,19,20,14,13,18,19,13,12,17,18,21,20,25,26,20,19,24,25,19,18,23,24,18,17,22,23,26,25,30,31,25,24,29,30,24,23,28,29,23,22,27,28,31,30,35,36,30,29,34,35,29,28,33,34,28,27,32,33,36,35,40,41,35,34,39,40,34,33,38,39,33,32,37,38,41,40,45,46,40,39,44,45,39,38,43,44,38,37,42,43,46,45,50,51,45,44,49,50,44,43,48,49,43,42,47,48,51,50,55,56,50,49,54,55,49,48,53,54,48,47,52,53,56,55,60,61,55,54,59,60,54,53,58,59,53,52,57,58,61,60,65,66,60,59,64,65,59,58,63,64,58,57,62,63,66,65,70,71,65,64,69,70,64,63,68,69,63,62,67,68,71,70,75,76,70,69,74,75,69,68,73,74,68,67,72,73,76,75,80,81,75,74,79,80,74,73,78,79,73,72,77,78,81,80,85,86,80,79,84,85,79,78,83,84,78,77,82,83,86,85,90,91,85,84,89,90,84,83,88,89,83,82,87,88,91,90,95,96,90,89,94,95,89,88,93,94,88,87,92,93,96,95,100,101,95,94,99,100,94,93,98,99,93,92,97,98,107,102,0,112,107,0,117,112,0,122,117,0,127,122,0,132,127,0,137,132,0,142,137,0,147,142,0,152,147,0,157,152,0,162,157,0,167,162,0,172,167,0,177,172,0,182,177,0,187,182,0,192,187,0,197,192,0,102,197,0,106,111,7,2,111,116,12,7,116,121,17,12,121,126,22,17,126,131,27,22,131,136,32,27,136,141,37,32,141,146,42,37,146,151,47,42,151,156,52,47,156,161,57,52,161,166,62,57,166,171,67,62,171,176,72,67,176,181,77,72,181,186,82,77,186,191,87,82,191,196,92,87,196,201,97,92,201,106,2,97,105,106,201,200,104,105,200,199,102,103,198,197,103,104,199,198,106,105,110,111,105,104,109,110,104,103,108,109,103,102,107,108,111,110,115,116,110,109,114,115,109,108,113,114,108,107,112,113,116,115,120,121,115,114,119,120,114,113,118,119,113,112,117,118,121,120,125,126,120,119,124,125,119,118,123,124,118,117,122,123,126,125,130,131,125,124,129,130,124,123,128,129,123,122,127,128,131,130,135,136,130,129,134,135,129,128,133,134,128,127,132,133,136,135,140,141,135,134,139,140,134,133,138,139,133,132,137,138,141,140,145,146,140,139,144,145,139,138,143,144,138,137,142,143,146,145,150,151,145,144,149,150,144,143,148,149,143,142,147,148,151,150,155,156,150,149,154,155,149,148,153,154,148,147,152,153,156,155,160,161,155,154,159,160,154,153,158,159,153,152,157,158,161,160,165,166,160,159,164,165,159,158,163,164,158,157,162,163,166,165,170,171,165,164,169,170,164,163,168,169,163,162,167,168,171,170,175,176,170,169,174,175,169,168,173,174,168,167,172,173,176,175,180,181,175,174,179,180,174,173,178,179,173,172,177,178,181,180,185,186,180,179,184,185,179,178,183,184,178,177,182,183,186,185,190,191,185,184,189,190,184,183,188,189,183,182,187,188,191,190,195,196,190,189,194,195,189,188,193,194,188,187,192,193,196,195,200,201,195,194,199,200,194,193,198,199,193,192,197,198]
170 
171  ri.PointsGeneralPolygons(npolys,nvertices,PolyVerts,{ri.P:points, 'facevarying normal N':normals, 'facevarying float[2] st':stValues})
172 
173  ri.ArchiveRecord(ri.COMMENT, 'end of head generated by head defintion')
174 
175 
179 def chest(xScale,yScale,zScale) :
180  ri.ArchiveRecord(ri.COMMENT, 'chest generated by chest defintion')
181  # scale the head
182  ri.Scale(xScale,yScale,zScale)
183 
184  points=[-1.50693631,-1.34235322,0.535227001,1.50693619,-1.34235322,0.535227001,-1.50693631,-1.34235322,-0.535227001,1.50693619,-1.34235322,-0.535227001,-1.02666998,1.21431255,0.535227001,-1.00228548,1.27928245,0.528702855,-0.951177478,1.32552707,0.510601759,-0.885817707,1.34235334,0.485369802,0.885817587,1.34235334,0.485369802,0.951177359,1.32552707,0.510601759,1.00228536,1.27928245,0.528702855,1.02666998,1.21431255,0.535227001,-0.885817707,1.34235334,-0.485369802,-0.951177478,1.32552707,-0.510601759,-1.00228548,1.27928245,-0.528702855,-1.02666998,1.21431255,-0.535227001,0.877876997,1.34235334,-0.48220396,0.947254717,1.32552671,-0.509037793,1.0012567,1.27931523,-0.528294683,1.02666998,1.21431255,-0.535227001]
185 
186  normals=[0,-1,0,0,-1,0,0,-1,0,0,-1,0,-0.0109805139,0.999535501,0.0284289643,-0.481978804,0.874137342,0.0598357245,0.472844392,0.879280031,0.0573117808,0.0110370684,0.99953413,0.0284596607,0,0.364492774,0.931206226,0,0.364492774,0.931206226,0,0.364492774,0.931206226,0,0.364492774,0.931206226,0,0.0999155641,0.994995952,0,0.00139212341,0.999999046,0,0.00139212154,0.999999046,0,0.0999155641,0.994995952,0,0,0.99999994,0,0,0.99999994,0,0.00139212154,0.999999046,0,0.00139212341,0.999999046,-0.0109805139,0.999535501,0.0284289643,0.0110370684,0.99953413,0.0284596607,0.0108671337,0.999542594,-0.0282204282,-0.0109417848,0.999538302,-0.0283474773,1.38337305e-06,0.00143531803,-0.999998927,1.36833978e-06,0.00141972036,-0.999998927,0,0,-0.99999994,0,0,-0.99999994,0.98281008,0.184619546,0,0.98281008,0.184619546,0,0.981996238,0.188900456,-1.08439772e-05,0.981993437,0.188915402,-1.08818158e-05,-0.982809961,0.184619561,0,-0.982809961,0.184619561,0,-0.982026398,0.188743278,0,-0.982026398,0.188743278,0,0.838490307,0.544915497,-0.000961016805,0.981993437,0.188915402,-1.08818158e-05,0.981996238,0.188900456,-1.08439772e-05,0.838983774,0.544155538,-0.000958874181,0.0110370684,0.99953413,0.0284596607,0.472844392,0.879280031,0.0573117808,0.472038925,0.879597902,-0.0590492263,0.0108671337,0.999542594,-0.0282204282,0.472844392,0.879280031,0.0573117808,0.838490307,0.544915497,-0.000961016805,0.838983774,0.544155538,-0.000958874181,0.472038925,0.879597902,-0.0590492263,-0.982026398,0.188743278,0,-0.844581783,0.535426438,0,-0.844581783,0.535426438,0,-0.982026398,0.188743278,0,-0.844581783,0.535426438,0,-0.481978804,0.874137342,0.0598357245,-0.480913162,0.874751985,-0.0594265945,-0.844581783,0.535426438,0,-0.481978804,0.874137342,0.0598357245,-0.0109805139,0.999535501,0.0284289643,-0.0109417848,0.999538302,-0.0283474773,-0.480913162,0.874751985,-0.0594265945,1.38337305e-06,0.00143531803,-0.999998927,9.92565037e-05,0.102983542,-0.994682968,9.9256511e-05,0.102983549,-0.994683087,1.36833978e-06,0.00141972036,-0.999998927,0.000465480494,0.374646455,-0.927167654,0.000465480465,0.374646425,-0.927167535,0.000465480465,0.374646455,-0.927167594,0.000465480553,0.374646455,-0.927167594,-0.480913162,0.874751985,-0.0594265945,-0.0109417848,0.999538302,-0.0283474773,0.0108671337,0.999542594,-0.0282204282,0.472038925,0.879597902,-0.0590492263]
187 
188  stValues=[0.375,0.75,0.625,0.75,0.625,1,0.375,1,0.390462369,0.261643976,0.382411331,0.255351633,0.617588222,0.255351096,0.609537601,0.261643946,0.382411331,0.255351633,0.375,0.25,0.625,0.25,0.617588222,0.255351096,0.375,0.25,0.375,0.238076881,0.625,0.238076881,0.625,0.25,0.375,0,0.625,0,0.625,0.238076881,0.375,0.238076881,0.390462369,0.261643976,0.609537601,0.261643946,0.608555734,0.487616658,0.390462399,0.488356054,0.375,0.511923134,0.625,0.511923075,0.625,0.75,0.375,0.75,0.625,0,0.875,0,0.87499994,0.238076881,0.625,0.238076881,0.125,0,0.375,0,0.375,0.238076881,0.125,0.238076881,0.625,0.25,0.625,0.238076881,0.87499994,0.238076881,0.875,0.25,0.609537601,0.261643946,0.617588222,0.255351096,0.617188931,0.494352758,0.608555734,0.487616658,0.617588222,0.255351096,0.625,0.25,0.625,0.5,0.617188931,0.494352758,0.375,0.238076881,0.375,0.25,0.125,0.25,0.125,0.238076881,0.375,0.25,0.382411331,0.255351633,0.382410377,0.494647801,0.375,0.5,0.382411331,0.255351633,0.390462369,0.261643976,0.390462399,0.488356054,0.382410377,0.494647801,0.375,0.511923134,0.375,0.5,0.625,0.5,0.625,0.511923075,0.375,0.5,0.382410377,0.494647801,0.617188931,0.494352758,0.625,0.5,0.382410377,0.494647801,0.390462399,0.488356054,0.608555734,0.487616658,0.617188931,0.494352758]
189 
190  npolys=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
191  nvertices=[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]
192  PolyVerts=[2,3,1,0,7,6,9,8,6,5,10,9,5,4,11,10,0,1,11,4,7,8,16,12,15,19,3,2,1,3,19,11,2,0,4,15,10,11,19,18,8,9,17,16,9,10,18,17,4,5,14,15,5,6,13,14,6,7,12,13,15,14,18,19,14,13,17,18,13,12,16,17]
193 
194  ri.PointsGeneralPolygons(npolys,nvertices,PolyVerts,{ri.P:points, 'facevarying normal N':normals, 'facevarying float[2] st':stValues})
195 
196  ri.ArchiveRecord(ri.COMMENT, 'end of chest generated by chest defintion')
197 
198 
199 
203 def loadColourCmd(cmdNum, cmdNumType, defaultColour):
204 
205  outColour = defaultColour
206 
207 
208  loadedNumsTxt = cmdNum.split(",")
209 
210 
211  try:
212  loadedNum = [float(loadedNumsTxt[0]),float(loadedNumsTxt[1]),float(loadedNumsTxt[2])]
213  except:
214  loadedNum = defaultColour
215  cmdNumType = "-1"
216  print "Invalid number passed in, using default colour"
217 
218 
219  if cmdNumType == "-255":
220  outColour = [convertColourValue(loadedNum[0]),convertColourValue(loadedNum[1]),convertColourValue(loadedNum[2])]
221  print "Using 255,255,255 as number type, loaded number is '" + str(loadedNum[0]) + "," + str(loadedNum[1]) + "," + str(loadedNum[2]) + "' converted number is '" + str(outColour[0]) + "," + str(outColour[1]) + "," + str(outColour[2]) +"'"
222  elif cmdNumType == "-1":
223  outColour = loadedNum
224  print "Using 1.0,1.0,1.0 as number type, loaded number is '" + str(loadedNum[0]) + "," + str(loadedNum[1]) + "," + str(loadedNum[2]) + "'"
225  else:
226  print "Invalid number type passed in, using default colour"
227 
228  return outColour
229 
230 
239 def drawScene(ri,chestType, chestBaseColour, chestDetailColour, headColour, legsColour, dirtValue, damage) :
240  #'''''''''''''''''''''''''''''LEGO FIGURE BEGIN''''''''''''''''''''''''''''''
241  ri.ArchiveRecord(ri.COMMENT, 'lego figure group')
242  ri.TransformBegin()
243  ri.Translate(0,0,-1)
244  ri.Rotate(25, 0, 1, 0)
245 
246  #********************************HEAD BEGIN**********************************
247  ri.ArchiveRecord(ri.COMMENT, 'head')
248 
249  ri.AttributeBegin()
250  headShader(headColour, dirtValue)
251  ri.Attribute( 'identifier',{ 'name' :'head'})
252  ri.TransformBegin()
253  ri.Translate(-0.13,0.2,0.1)
254  ri.TransformBegin()
255  ri.Rotate(326,0,1,0)
256  head(0.17,0.15,0.17)
257  ri.TransformEnd()
258  ri.Translate(0,-0.2,0)
259  ri.Rotate(90,1,0,0)
260  ri.Cylinder(0.1,-0.125,0.125,360)
261  ri.Translate(0,0,-0.28)
262  ri.Cylinder(0.08,-0.125,0.125,360)
263  ri.TransformEnd()
264  ri.AttributeEnd()
265  #*********************************HEAD END***********************************
266 
267  #*******************************CHEST BEGIN**********************************
268  ri.ArchiveRecord(ri.COMMENT, 'chest')
269 
270  ri.AttributeBegin()
271  chestShader(chestType, chestBaseColour, chestDetailColour, dirtValue, damage)
272  ri.Attribute( 'identifier',{ 'name' :'chest'})
273  ri.TransformBegin()
274  ri.Translate(-0.12,-0.23,0.1)
275  chest(0.15,0.17,0.29)
276  ri.TransformEnd()
277  ri.AttributeEnd()
278  #********************************CHEST END**********************************
279 
280  #********************************LEGS BEGIN**********************************
281  ri.ArchiveRecord(ri.COMMENT, 'legs group')
282 
283  ri.AttributeBegin()
284  legsShader(legsColour, dirtValue, damage)
285  ri.TransformBegin()
286 
287  #-------------------------------WAIST BEGIN----------------------------------
288  ri.ArchiveRecord(ri.COMMENT, 'waist')
289  ri.AttributeBegin()
290  ri.Attribute( 'identifier',{ 'name' :'waistLeg'})
291  ri.TransformBegin()
292  ri.Translate(-0.12,-0.5,0.1)
293  Cube(0.43,0.1,0.3)
294  ri.Translate(-0.003,-0.145,0)
295  ri.Rotate(90,0,1,0)
296  ri.Cylinder(0.14,-0.02,0.02,360)
297  ri.Translate(0,0,0.02)
298  ri.Disk(0,0.14,360)
299  ri.TransformEnd()
300  ri.AttributeEnd()
301  #--------------------------------WAIST END-----------------------------------
302 
303  #------------------------------LEFT LEG BEGIN--------------------------------
304  ri.ArchiveRecord(ri.COMMENT, 'left leg')
305  ri.AttributeBegin()
306  ri.Attribute( 'identifier',{ 'name' :'leftLeg'})
307  ri.TransformBegin()
308  ri.Translate(0,-1.0,0)
309  Cube(0.2,0.1,0.1)
310  ri.Translate(0,0.15,0.15)
311  Cube(0.2,0.4,0.2)
312  ri.Translate(0,0.2,-0.04)
313  ri.Rotate(90,0,1,0)
314  ri.Cylinder(0.14,-0.1,0.1,360)
315  ri.Translate(0,0,0.1)
316  ri.Disk(0,0.14,360)
317  ri.TransformEnd()
318  ri.AttributeEnd()
319  #-------------------------------LEFT LEG END---------------------------------
320 
321  #-----------------------------RIGHT LEG BEGIN--------------------------------
322  ri.ArchiveRecord(ri.COMMENT, 'right leg')
323  ri.AttributeBegin()
324  ri.Attribute( 'identifier',{ 'name' :'rightLeg'})
325  ri.TransformBegin()
326  ri.Translate(-0.25,-1.0,0)
327  Cube(0.2,0.1,0.1)
328  ri.Translate(0,0.15,0.15)
329  Cube(0.2,0.4,0.2)
330  ri.Translate(0,0.2,-0.04)
331  ri.Rotate(90,0,1,0)
332  ri.Cylinder(0.14,-0.1,0.1,360)
333  ri.Translate(0,0,0.1)
334  ri.Disk(0,0.14,360)
335  ri.TransformEnd()
336  ri.AttributeEnd()
337  #------------------------------RIGHT LEG END---------------------------------
338 
339  ri.TransformEnd()
340  ri.AttributeEnd()
341  #*********************************LEGS END***********************************
342 
343  ri.TransformEnd()
344  #''''''''''''''''''''''''''''''LEGO FIGURE END'''''''''''''''''''''''''''''''
345 
346  #''''''''''''''''''''''''''''''''TABLE BEGIN'''''''''''''''''''''''''''''''''
347  ri.ArchiveRecord(ri.COMMENT, 'table')
348 
349  ri.AttributeBegin()
350  tableShader()
351  ri.Attribute( 'identifier',{ 'name' :'table'})
352  ri.TransformBegin()
353  ri.Rotate(20,0,1,0)
354  ri.Translate(-3,-1.3,-1.5)
355 
356  width=8
357  height=0.5
358  depth=5
359 
360  w=width/2.0
361  h=height/2.0
362  d=depth/2.0
363 
364  plane=[w,h,d,w,h,-d,-w,h,d,-w,h,-d]
365  ri.Patch("bilinear",{'P':plane})
366 
367  plane=[w,-h,-d,w,h,-d,w,-h,d,w,h,d]
368  ri.Patch("bilinear",{'P':plane})
369  ri.TransformEnd()
370  ri.AttributeEnd()
371  #''''''''''''''''''''''''''''''''TABLE END'''''''''''''''''''''''''''''''''''
372 
373 
374 if __name__ == '__main__':
375 
376 
377  altAngle = False
378 
379  outputType = "it"
380 
381 
382  chestType = "blank"
383  chestBaseColour = [0.02,0.02,0.4]
384  chestDetailColour = [1,1,1]
386  legsColour = [0.6,0,0]
387  dirtValue = 0.3
388  customFileName = False
389  damage = 3
390 
391 
392  if len(sys.argv) < 2:
393  print("No argument passed in, using default values")
394  else:
395 
396  for i in range(0, len(sys.argv)):
397  if string.lower(sys.argv[i]) == "-ct" or string.lower(sys.argv[i]) == "--chest-type":
398 
399  if sys.argv[i+1] == "blank" or sys.argv[i+1] == "check" or sys.argv[i+1] == "perlin" or sys.argv[i+1] == "camo":
400  chestType = sys.argv[i+1]
401  print "Using '" + chestType + "' as chest type"
402  else:
403  print "Invalid chest type passed in, using default type"
404 
405 
406  for i in range(0, len(sys.argv)):
407  if string.lower(sys.argv[i]) == "-cbc" or string.lower(sys.argv[i]) == "--chest-base-colour":
408 
409  chestBaseColour = loadColourCmd(sys.argv[i+1], sys.argv[i+2], chestBaseColour)
410 
411 
412  for i in range(0, len(sys.argv)):
413  if string.lower(sys.argv[i]) == "-cdc" or string.lower(sys.argv[i]) == "--chest-detail-colour":
414 
415  chestDetailColour = loadColourCmd(sys.argv[i+1], sys.argv[i+2], chestDetailColour)
416 
417 
418  for i in range(0, len(sys.argv)):
419  if string.lower(sys.argv[i]) == "-lc" or string.lower(sys.argv[i]) == "--legs-colour":
420 
421  legsColour = loadColourCmd(sys.argv[i+1], sys.argv[i+2], legsColour)
422 
423 
424  for i in range(0, len(sys.argv)):
425  if string.lower(sys.argv[i]) == "-hc" or string.lower(sys.argv[i]) == "--head-colour":
426 
427  headColour = loadColourCmd(sys.argv[i+1], sys.argv[i+2], headColour)
428 
429 
430  for i in range(0, len(sys.argv)):
431  if string.lower(sys.argv[i]) == "-alt" or string.lower(sys.argv[i]) == "--alternate-angle":
432 
433  altAngle = True
434 
435 
436  for i in range(0, len(sys.argv)):
437  if string.lower(sys.argv[i]) == "-o" or string.lower(sys.argv[i]) == "--output":
438 
439  if sys.argv[i+1] == "it" or sys.argv[i+1] == "rib" or sys.argv[i+1] == "exr":
440  outputType = sys.argv[i+1]
441  print "Using '" + outputType + "' as output type"
442  else:
443  print "Invalid output type passed in, using default type"
444 
445 
446  for i in range(0, len(sys.argv)):
447  if string.lower(sys.argv[i]) == "-dv" or string.lower(sys.argv[i]) == "--dirt-value":
448 
449 
450  try:
451  loadedNum = float(sys.argv[i+1])
452  if loadedNum >= 0 and loadedNum <= 1:
453  dirtValue = loadedNum
454  print "Dirt value set to " + str(loadedNum)
455  else:
456  print "Invalid number passed in, using default dirt value"
457  except:
458  print "Invalid number passed in, using default dirt value"
459 
460 
461  for i in range(0, len(sys.argv)):
462  if string.lower(sys.argv[i]) == "-fn" or string.lower(sys.argv[i]) == "--file-name":
463 
464  customFileName = True
465  outputFilename = sys.argv[i+1]
466 
467 
468  for i in range(0, len(sys.argv)):
469  if string.lower(sys.argv[i]) == "-d" or string.lower(sys.argv[i]) == "--damage":
470 
471 
472  try:
473  loadedNum = int(sys.argv[i+1])
474  if loadedNum >= 0:
475  damage = loadedNum
476  print "Damage value set to " + str(loadedNum)
477  else:
478  print "Invalid number passed in, using default damage value"
479  except:
480  print "Invalid number passed in, using default damage value"
481 
482  ri = prman.Ri()
483  ri.Option("rib", {"string asciistyle": "indented"})
484 
485 
486  if not altAngle and not customFileName:
487  outputFilename = "assignment"
488  elif not customFileName:
489  outputFilename = "assignment-alt"
490 
491  filename = outputFilename + ".rib"
492  ri.ArchiveRecord(ri.COMMENT, outputFilename + '.rib')
493 
494 
495  if outputType == "it" or outputType == "exr" :
496  ri.Begin("__render")
497  else :
498  ri.Begin(filename)
499 
500 
501  if outputType == "it" or outputType =="rib" :
502  ri.Display(outputFilename + ".exr", "it", "rgba")
503  else :
504  ri.Display(outputFilename + ".exr", "openexr", "rgba")
505 
506 
507  ri.Format(1920,1080,1)
508 
509  ri.Projection(ri.PERSPECTIVE,{ri.FOV:50})
510 
511 
512  if not altAngle:
513  ri.DepthOfField(1,0.1,3)
514  else:
515  ri.DepthOfField(1,0.05,3)
516 
517 
518  ri.Hider('raytrace', {'int incremental' :[1]})
519  ri.Integrator('PxrPathTracer', 'integrator')
520 
521 
522  checkAndCompileShader('legsShader')
523  checkAndCompileShader('headShader')
524  checkAndCompileShader('chestShader')
525  checkAndCompileShader('tableShader')
526 
527  #Start the world.
528  ri.WorldBegin()
529  ri.TransformBegin()
530 
531 
532  if altAngle:
533  ri.Rotate(25,0,1,0)
534 
535  #''''''''''''''''''''''''''''''''''LIGHT BEGIN'''''''''''''''''''''''''''''''''''
536 
537  ri.TransformBegin()
538  ri.Rotate(80,1,0,0)
539  ri.Rotate(180,0,1,0)
540  ri.Rotate(160,0,0,1)
541  ri.Light("PxrDomeLight","hdrLight", {"float exposure" : [0], "string lightColorMap" : ["../img/hdr_4k.tx"]})
542  ri.TransformEnd()
543  #'''''''''''''''''''''''''''''''''''LIGHT END''''''''''''''''''''''''''''''''''''
544 
545  ri.ArchiveRecord(ri.COMMENT, 'Move everything back')
546  ri.Translate(0,0,4)
547 
548  drawScene(ri,chestType, chestBaseColour, chestDetailColour, headColour, legsColour, dirtValue, damage)
549 
550  ri.TransformEnd()
551 
552  ri.WorldEnd()
553  ri.End()
def chestShader(chestType, chestBaseColour, chestDetailColour, dirtValue, damage)
A function for the definiton of the shader to use on the chest.
Definition: assignment.py:109
def headShader(headColour, dirtValue)
A function for the definiton of the shader to use on the head.
Definition: assignment.py:87
def convertColourValue(colourValue)
A funciton to convert a value of 0-255 to a value of 0-1.
Definition: assignment.py:50
def loadColourCmd(cmdNum, cmdNumType, defaultColour)
A function for loading in a colour from the command line.
Definition: assignment.py:203
def head(xScale, yScale, zScale)
A function for the definiton of the main head geometry (points generated in external modeling program...
Definition: assignment.py:156
def chest(xScale, yScale, zScale)
A function for the definiton of the chest gemoetry (points generated in external modeling program)...
Definition: assignment.py:179
def drawScene(ri, chestType, chestBaseColour, chestDetailColour, headColour, legsColour, dirtValue, damage)
A function for the definiton of the scene to generate.
Definition: assignment.py:239
def tableShader()
A function for the definiton of the shader to use on the table.
Definition: assignment.py:139
def legsShader(legsColour, dirtValue, damage)
A function for the definiton of the shader to use on the legs.
Definition: assignment.py:57
def Cube(width=1.0, height=1.0, depth=1.0)
Cube definition from Cube.py by Jon Macey (https://github.com/NCCA/Renderman/blob/master/Lecture1Intr...
Definition: assignment.py:13
def checkAndCompileShader(shader)
Load OSL shader definition is from scene.py by Jon Macey (https://github.com/NCCA/Renderman/blob/mast...
Definition: assignment.py:40