/* NestProx.inc 2011 Samuel Benge Here's yet another proximity pattern. Unlike others, this version uses nested pigment_maps, a technique which is faster to render than using averaged pigment instances, and one which is more flexible and quicker to parse than taking numerous inside() tests. It isn't quite as precise or as smooth as other methods, although in many cases its lack of quality won't be noticible after texturing. There are only five levels of quality, as each case needed to be addressed separately due to the unpredictable (to me) nature of using nested pigment_maps. It uses a shared set of 512 samples, all randomly precomputed and ad- justed to maximize area-to-coverage efficiency. The Macro Nest_Prox(Obj, Size, Res) * Obj = (object) the object to use * Size = (float) the size of the effect, closely based on real-world space * Res = (int, 1-5) the resolution of the effect, this equates to the number of samples taken "Res" must be an integer, either 1, 2, 3, 4 or 5. Higher values will produce smoother results, but will take longer to render. This macro returns a pigment_pattern that can be used everywhere. Usage: #declare MyObj = box{<-1,-1,-1>, <1,1,1>} object{ MyObj pigment{ NestProx(MyObj, 0.1, 3) } } */ // nest a pigment #macro PushPgmt(Source, Modified, Value) pigment{ pigment_pattern{ Source } pigment_map{ [0 pigment_pattern{Modified} color_map{[0 rgb 0][1 rgb 1-1/1.008/1.01]} ] [1 rgb Value] } } #end // the main macro #macro Nest_Prox(Obj, Size, Res) #local Pgmt = pigment{object{Obj rgb 1, rgb 0}} #local PgmtNew = Pgmt; #local Res = max(1,min(5,Res)); /* contract the object pigment in six directions to avoid coincident surfaces errors */ #local Offs = 0.01; #local PgmtNew = pigment{ pigment_pattern{ Pgmt translate -x*Offs } pigment_map{ [0 rgb 0] [1 pigment_pattern{ Pgmt translate x*Offs } pigment_map{ [0 rgb 0] [1 pigment_pattern{ Pgmt translate -z*Offs } pigment_map{ [0 rgb 0] [1 pigment_pattern{ Pgmt translate z*Offs } pigment_map{ [0 rgb 0] [1 pigment_pattern{ Pgmt translate -y*Offs } pigment_map{ [0 rgb 0] [1 Pgmt translate y*Offs ] } ] } ] } ] } ] } } // contraction // set up various level parameters #switch(Res) #case(1) #local Value = 1.05; #local Samples = 32; #debug concat("\nUsing 32 proximity samples.\n\n") #break #case(2) #local Value = 1.014; #local Samples = 64; #debug concat("\nUsing 64 proximity samples.\n\n") #break #case(3) #local Value = 1.0025; #local Samples = 128; #debug concat("\nUsing 128 proximity samples.\n\n") #break #case(4) #local Value = 1.00025; #local Samples = 256; #debug concat("\nUsing 256 proximity samples.\n\n") #break #case(5) #local Value = 1.000005; #local Samples = 512; #debug concat("\nUsing the maximum of 512 proximity samples.\n\n") #break #end // combine multiple instances of the object pigment #for(V,0,Samples-1) //#debug concat(str(V,0,0), "\n") #declare ThisPt = Vectors[V]*Size; #declare PgmtNew = PushPgmt( pigment{ PgmtNew }, pigment{ Pgmt translate ThisPt }, Value ) #end // different poly_waves for different levels pigment_pattern{ pigment_pattern{PgmtNew} #switch(Res) #case(1) poly_wave 2 #break #case(2) poly_wave 3 #break #case(3) poly_wave 4 #break #case(4) poly_wave 12 #break #case(5) poly_wave 96 #break #end } #end /* a point sample set, calculated from successive passes over vector data using voro++, to keep all points spaced evenly */ #declare Vectors = array[512]; #declare Vectors[6] = <0.19146,-0.477859,-0.863874>; #declare Vectors[46] = <0.0180714,-0.338105,-0.946426>; #declare Vectors[263] = <-0.428336,-0.274518,-0.867927>; #declare Vectors[271] = <-0.406974,0.013521,-0.920067>; #declare Vectors[18] = <-0.200534,-0.287405,-0.940084>; #declare Vectors[53] = <-0.262738,0.171737,-0.955843>; #declare Vectors[114] = <0.233999,-0.231427,-0.925736>; #declare Vectors[123] = <0.193521,-0.0137887,-0.985416>; #declare Vectors[192] = <-0.0597193,0.248395,-0.971765>; #declare Vectors[425] = <-0.204821,-0.0549775,-0.97956>; #declare Vectors[434] = <-0.0200496,0.055397,-0.863715>; #declare Vectors[441] = <0.00571665,-0.122773,-0.997222>; #declare Vectors[109] = <0.29599,0.169175,-0.946788>; #declare Vectors[287] = <0.409977,-0.0191305,-0.917573>; #declare Vectors[217] = <-0.0875931,0.451341,-0.879963>; #declare Vectors[411] = <0.114766,0.370277,-0.928569>; #declare Vectors[265] = <0.274507,-0.880815,-0.401433>; #declare Vectors[331] = <-0.082816,-0.90184,-0.356254>; #declare Vectors[471] = <-0.918238,-0.289692,-0.288936>; #declare Vectors[62] = <-0.295429,-0.310825,-0.687535>; #declare Vectors[92] = <-0.650582,-0.562541,-0.518566>; #declare Vectors[102] = <-0.467475,-0.432692,-0.519977>; #declare Vectors[216] = <-0.313133,-0.59145,-0.446012>; #declare Vectors[278] = <-0.699269,-0.370855,-0.616208>; #declare Vectors[284] = <-0.464632,-0.642879,-0.607371>; #declare Vectors[294] = <-0.298716,-0.810898,-0.512375>; #declare Vectors[323] = <-0.702037,-0.328252,-0.318738>; #declare Vectors[336] = <-0.625794,-0.687441,-0.339371>; #declare Vectors[339] = <-0.453145,-0.823075,-0.350981>; #declare Vectors[401] = <-0.786923,-0.529369,-0.336214>; #declare Vectors[426] = <-0.450783,-0.462734,-0.742439>; #declare Vectors[474] = <-0.451603,-0.314736,-0.32553>; #declare Vectors[36] = <-0.0551645,-0.710324,-0.710354>; #declare Vectors[39] = <0.0302035,-0.526823,-0.609799>; #declare Vectors[43] = <0.190924,-0.403181,-0.50286>; #declare Vectors[88] = <0.155991,-0.675447,-0.729311>; #declare Vectors[110] = <-0.265412,-0.67644,-0.694177>; #declare Vectors[128] = <-0.0227956,-0.532359,-0.841655>; #declare Vectors[154] = <0.0655275,-0.290384,-0.303302>; #declare Vectors[210] = <-0.0687774,-0.442992,-0.411386>; #declare Vectors[280] = <-0.242921,-0.495598,-0.827233>; #declare Vectors[316] = <0.121301,-0.538767,-0.323662>; #declare Vectors[329] = <0.164106,-0.676146,-0.500639>; #declare Vectors[330] = <0.0976668,-0.77605,-0.311745>; #declare Vectors[355] = <0.0290141,-0.853801,-0.531691>; #declare Vectors[440] = <-0.18903,-0.489421,-0.60122>; #declare Vectors[451] = <-0.054996,-0.349025,-0.713026>; #declare Vectors[469] = <-0.11298,-0.681256,-0.496008>; #declare Vectors[488] = <0.189631,-0.321004,-0.712383>; #declare Vectors[85] = <0.719917,-0.431515,-0.539036>; #declare Vectors[183] = <0.397307,-0.414192,-0.825108>; #declare Vectors[193] = <0.580442,-0.353241,-0.381845>; #declare Vectors[293] = <0.296818,-0.523011,-0.654514>; #declare Vectors[300] = <0.584221,-0.402488,-0.713476>; #declare Vectors[303] = <0.365192,-0.427599,-0.34666>; #declare Vectors[353] = <0.315484,-0.68002,-0.322329>; #declare Vectors[357] = <0.442062,-0.367333,-0.555355>; #declare Vectors[427] = <0.703333,-0.60203,-0.394119>; #declare Vectors[448] = <0.370734,-0.748414,-0.551494>; #declare Vectors[454] = <0.502147,-0.593288,-0.63895>; #declare Vectors[464] = <0.835617,-0.439706,-0.338041>; #declare Vectors[478] = <0.48589,-0.596385,-0.423989>; #declare Vectors[26] = <-0.875518,-0.0119225,-0.495988>; #declare Vectors[32] = <-0.290739,0.253359,-0.701667>; #declare Vectors[65] = <-0.575907,-0.0860789,-0.819738>; #declare Vectors[89] = <-0.790963,-0.103829,-0.314095>; #declare Vectors[94] = <-0.460613,0.113955,-0.731485>; #declare Vectors[100] = <-0.775554,0.120683,-0.313209>; #declare Vectors[107] = <-0.831282,0.247536,-0.507498>; #declare Vectors[125] = <-0.364776,-0.110171,-0.738737>; #declare Vectors[141] = <-0.360245,0.0696464,-0.498665>; #declare Vectors[142] = <-0.617442,-0.185985,-0.467165>; #declare Vectors[143] = <-0.453884,0.231165,-0.295442>; #declare Vectors[146] = <-0.524451,-0.0484862,-0.602016>; #declare Vectors[199] = <-0.522087,0.229373,-0.507477>; #declare Vectors[221] = <-0.511686,-0.261955,-0.66222>; #declare Vectors[244] = <-0.351599,-0.156683,-0.499143>; #declare Vectors[273] = <-0.686902,0.0900372,-0.729694>; #declare Vectors[321] = <-0.582052,-0.0144369,-0.320009>; #declare Vectors[402] = <-0.833678,-0.22611,-0.515572>; #declare Vectors[415] = <-0.731799,-0.117564,-0.669491>; #declare Vectors[450] = <-0.673787,0.0752823,-0.508003>; #declare Vectors[9] = <-0.136019,0.0517897,-0.419936>; #declare Vectors[31] = <-0.253444,0.274366,-0.496984>; #declare Vectors[40] = <-0.138898,-0.253735,-0.523296>; #declare Vectors[97] = <-0.149441,-0.15279,-0.769914>; #declare Vectors[159] = <0.0878724,0.17767,-0.50471>; #declare Vectors[165] = <0.064694,-0.15481,-0.51789>; #declare Vectors[299] = <-0.222251,0.0577287,-0.767264>; #declare Vectors[337] = <0.218376,0.0381722,-0.373598>; #declare Vectors[381] = <-0.0780795,0.243968,-0.752174>; #declare Vectors[389] = <0.068903,-0.167989,-0.787692>; #declare Vectors[461] = <-0.0443059,0.0304972,-0.627498>; #declare Vectors[466] = <0.137657,0.211884,-0.770472>; #declare Vectors[508] = <0.180638,-0.00896553,-0.807368>; #declare Vectors[76] = <0.569166,0.191403,-0.805197>; #declare Vectors[83] = <0.606322,0.0775324,-0.513166>; #declare Vectors[106] = <0.402114,-0.194646,-0.777417>; #declare Vectors[117] = <0.647421,-0.219893,-0.615368>; #declare Vectors[121] = <0.498344,0.254621,-0.579199>; #declare Vectors[135] = <0.817062,-0.0882577,-0.579857>; #declare Vectors[163] = <0.343515,0.235512,-0.737409>; #declare Vectors[194] = <0.714876,0.0590135,-0.704429>; #declare Vectors[227] = <0.482308,0.272884,-0.33634>; #declare Vectors[260] = <0.601205,-0.0927044,-0.801397>; #declare Vectors[302] = <0.726767,-0.049835,-0.37975>; #declare Vectors[311] = <0.43284,0.0378114,-0.705405>; #declare Vectors[356] = <0.771268,0.232745,-0.600926>; #declare Vectors[369] = <0.29473,0.242126,-0.468548>; #declare Vectors[410] = <0.298369,-0.192299,-0.496913>; #declare Vectors[473] = <0.489865,-0.0935265,-0.539527>; #declare Vectors[476] = <0.708191,0.187721,-0.345751>; #declare Vectors[484] = <0.452192,-0.168367,-0.315132>; #declare Vectors[491] = <0.288227,0.0304997,-0.621027>; #declare Vectors[93] = <0.862377,-0.25049,-0.443514>; #declare Vectors[164] = <0.884489,0.0976481,-0.466284>; #declare Vectors[205] = <0.943677,-0.0710314,-0.333358>; #declare Vectors[208] = <-0.911999,0.297503,-0.300794>; #declare Vectors[66] = <-0.687783,0.333336,-0.654241>; #declare Vectors[112] = <-0.660011,0.685306,-0.305412>; #declare Vectors[161] = <-0.692262,0.331979,-0.352376>; #declare Vectors[177] = <-0.319705,0.849393,-0.433246>; #declare Vectors[178] = <-0.545436,0.678136,-0.503941>; #declare Vectors[188] = <-0.689999,0.50697,-0.51085>; #declare Vectors[233] = <-0.292546,0.525523,-0.495164>; #declare Vectors[252] = <-0.428744,0.594955,-0.675907>; #declare Vectors[335] = <-0.487569,0.828616,-0.292333>; #declare Vectors[359] = <-0.462996,0.292982,-0.844003>; #declare Vectors[456] = <-0.415208,0.612447,-0.334721>; #declare Vectors[462] = <-0.47074,0.387871,-0.645068>; #declare Vectors[479] = <-0.492361,0.433119,-0.414992>; #declare Vectors[505] = <-0.30858,0.443102,-0.834637>; #declare Vectors[0] = <0.181565,0.434392,-0.424614>; #declare Vectors[17] = <0.0231119,0.645877,-0.771132>; #declare Vectors[22] = <-0.170458,0.430061,-0.651789>; #declare Vectors[27] = <-0.178562,0.684219,-0.37634>; #declare Vectors[44] = <-0.194718,0.614422,-0.772167>; #declare Vectors[50] = <-0.0865282,0.643491,-0.575618>; #declare Vectors[69] = <0.141557,0.614897,-0.573715>; #declare Vectors[200] = <0.0544054,0.819075,-0.581895>; #declare Vectors[212] = <-0.0417653,0.505186,-0.401834>; #declare Vectors[228] = <0.0588516,0.745907,-0.372082>; #declare Vectors[334] = <0.261325,0.827078,-0.507943>; #declare Vectors[340] = <-0.066955,0.287857,-0.337325>; #declare Vectors[377] = <0.274914,0.632253,-0.396497>; #declare Vectors[379] = <0.148439,0.472679,-0.743026>; #declare Vectors[382] = <0.0386227,0.373709,-0.574774>; #declare Vectors[397] = <-0.28368,0.74203,-0.616484>; #declare Vectors[404] = <-0.266293,0.392107,-0.293291>; #declare Vectors[91] = <0.31147,0.421045,-0.612406>; #declare Vectors[250] = <0.575866,0.396516,-0.723119>; #declare Vectors[264] = <0.659223,0.410246,-0.341202>; #declare Vectors[268] = <0.440093,0.709288,-0.558206>; #declare Vectors[295] = <0.347806,0.435189,-0.837535>; #declare Vectors[362] = <0.500819,0.484057,-0.530988>; #declare Vectors[383] = <0.656657,0.613049,-0.4533>; #declare Vectors[384] = <0.364545,0.4583,-0.290108>; #declare Vectors[392] = <0.717662,0.433203,-0.554904>; #declare Vectors[421] = <0.48485,0.651748,-0.33747>; #declare Vectors[433] = <0.312158,0.624796,-0.722112>; #declare Vectors[500] = <0.418037,0.855624,-0.324416>; #declare Vectors[140] = <0.872668,0.335925,-0.373042>; #declare Vectors[99] = <0.187619,0.931356,-0.325095>; #declare Vectors[309] = <-0.0567254,0.940836,-0.349871>; #declare Vectors[195] = <-0.482254,-0.879292,0.0673203>; #declare Vectors[308] = <-0.383832,-0.892406,-0.134373>; #declare Vectors[13] = <0.175894,-0.976436,0.167828>; #declare Vectors[152] = <0.0966739,-0.976779,-0.208126>; #declare Vectors[157] = <-0.00502503,-0.950868,0.285328>; #declare Vectors[168] = <0.0785659,-1.00293,0.0144489>; #declare Vectors[235] = <-0.154809,-0.976249,-0.165823>; #declare Vectors[396] = <-0.25386,-0.964218,0.0328171>; #declare Vectors[506] = <-0.221127,-0.939138,0.281586>; #declare Vectors[23] = <0.455856,-0.889684,0.110332>; #declare Vectors[325] = <0.347119,-0.915707,-0.197472>; #declare Vectors[162] = <-0.881794,-0.437946,0.203554>; #declare Vectors[170] = <-0.929142,-0.384152,-0.0100981>; #declare Vectors[3] = <-0.714441,-0.318523,0.0646102>; #declare Vectors[21] = <-0.574897,-0.495672,-0.245422>; #declare Vectors[104] = <-0.587854,-0.799971,-0.1518>; #declare Vectors[213] = <-0.687869,-0.731642,0.0436223>; #declare Vectors[219] = <-0.754554,-0.431152,-0.135322>; #declare Vectors[229] = <-0.751372,-0.650845,-0.154507>; #declare Vectors[272] = <-0.664543,-0.705889,0.268518>; #declare Vectors[310] = <-0.489977,-0.633333,0.158042>; #declare Vectors[314] = <-0.453024,-0.376441,0.127985>; #declare Vectors[322] = <-0.310855,-0.485072,-0.0252407>; #declare Vectors[352] = <-0.693483,-0.528273,0.14404>; #declare Vectors[358] = <-0.303409,-0.769306,0.14968>; #declare Vectors[378] = <-0.404769,-0.625528,-0.244778>; #declare Vectors[413] = <-0.554878,-0.527659,-0.033861>; #declare Vectors[417] = <-0.424553,-0.692429,-0.0323682>; #declare Vectors[463] = <-0.681243,-0.367732,0.280952>; #declare Vectors[15] = <-0.245154,-0.783273,-0.269685>; #declare Vectors[19] = <-0.208026,-0.727234,-0.057436>; #declare Vectors[38] = <0.121102,-0.383389,0.121956>; #declare Vectors[108] = <-0.134741,-0.563868,0.12982>; #declare Vectors[172] = <-0.00476565,-0.812178,-0.0943657>; #declare Vectors[230] = <-0.0930527,-0.836606,0.117099>; #declare Vectors[247] = <0.246224,-0.592039,0.185057>; #declare Vectors[256] = <-0.19266,-0.362789,0.176316>; #declare Vectors[267] = <0.0533475,-0.289033,-0.0621929>; #declare Vectors[344] = <0.187414,-0.668074,-0.139752>; #declare Vectors[346] = <-0.0842958,-0.628229,-0.278852>; #declare Vectors[375] = <0.0113404,-0.570633,-0.0195411>; #declare Vectors[398] = <-0.133817,-0.426083,-0.15414>; #declare Vectors[407] = <0.109879,-0.747347,0.113832>; #declare Vectors[428] = <0.245165,-0.443348,-0.14055>; #declare Vectors[510] = <0.266346,-0.852735,-0.00133097>; #declare Vectors[20] = <0.762898,-0.641073,-0.138681>; #declare Vectors[129] = <0.452484,-0.669177,0.139665>; #declare Vectors[134] = <0.578655,-0.741954,-0.276815>; #declare Vectors[155] = <0.766733,-0.616812,0.206982>; #declare Vectors[158] = <0.561631,-0.521686,-0.232098>; #declare Vectors[214] = <0.654089,-0.757606,0.072627>; #declare Vectors[226] = <0.675135,-0.36561,-0.100746>; #declare Vectors[239] = <0.599474,-0.555346,-0.00975109>; #declare Vectors[345] = <0.530918,-0.847879,-0.0914544>; #declare Vectors[403] = <0.412293,-0.656676,-0.0831577>; #declare Vectors[480] = <0.661193,-0.404378,0.132564>; #declare Vectors[503] = <0.383272,-0.461637,0.0445922>; #declare Vectors[504] = <0.555963,-0.529227,0.279257>; #declare Vectors[14] = <0.958305,-0.294322,-0.0142132>; #declare Vectors[136] = <0.876452,-0.459218,-0.123062>; #declare Vectors[253] = <0.884596,-0.466681,0.100695>; #declare Vectors[1] = <-0.968345,0.249148,0.106678>; #declare Vectors[4] = <-0.986938,-0.14902,-0.10905>; #declare Vectors[64] = <-0.971924,0.0257011,-0.258287>; #declare Vectors[147] = <-0.9684,0.181231,-0.105488>; #declare Vectors[167] = <-0.97135,0.0835092,0.247484>; #declare Vectors[245] = <-0.965224,-0.240524,0.150473>; #declare Vectors[400] = <-0.99995,0.0152835,0.0396083>; #declare Vectors[56] = <-0.560505,0.0725681,0.0920857>; #declare Vectors[79] = <-0.748952,0.083399,0.276002>; #declare Vectors[87] = <-0.30287,-0.172143,0.199498>; #declare Vectors[126] = <-0.32076,0.0662279,0.160546>; #declare Vectors[180] = <-0.751986,0.266339,-0.153468>; #declare Vectors[185] = <-0.574706,0.112716,-0.12757>; #declare Vectors[186] = <-0.765808,-0.211643,-0.123518>; #declare Vectors[206] = <-0.337589,-0.176521,-0.0339894>; #declare Vectors[220] = <-0.544291,-0.169568,0.0934144>; #declare Vectors[246] = <-0.350838,0.232601,-0.0716136>; #declare Vectors[276] = <-0.709356,-0.146554,0.247691>; #declare Vectors[301] = <-0.814613,-0.109446,0.0669977>; #declare Vectors[318] = <-0.35809,0.00424611,-0.280893>; #declare Vectors[395] = <-0.792904,0.0156116,-0.123075>; #declare Vectors[442] = <-0.465103,0.263882,0.170353>; #declare Vectors[444] = <-0.542467,-0.183636,-0.156478>; #declare Vectors[497] = <-0.79342,0.11902,0.060282>; #declare Vectors[5] = <-0.16497,-0.0131657,0.00263985>; #declare Vectors[47] = <0.0239028,-0.0488896,-0.215382>; #declare Vectors[96] = <-0.126658,0.231618,0.111034>; #declare Vectors[118] = <0.267779,-0.149415,0.0973046>; #declare Vectors[127] = <0.131301,0.120284,0.264969>; #declare Vectors[197] = <0.0800122,-0.17618,0.22795>; #declare Vectors[211] = <0.074138,0.00628264,0.0443706>; #declare Vectors[255] = <-0.2778,-0.206212,-0.278554>; #declare Vectors[290] = <0.202084,0.138033,-0.110602>; #declare Vectors[324] = <-0.0975075,0.0525334,0.267904>; #declare Vectors[374] = <0.257772,-0.179439,-0.199059>; #declare Vectors[468] = <-0.152403,0.160486,-0.163961>; #declare Vectors[34] = <0.643132,0.0731705,0.106297>; #declare Vectors[73] = <0.415585,0.281791,-0.108995>; #declare Vectors[113] = <0.677051,-0.211896,-0.237895>; #declare Vectors[144] = <0.546848,0.274478,0.0733298>; #declare Vectors[176] = <0.816146,-0.24693,0.144982>; #declare Vectors[209] = <0.457186,-0.235832,0.236313>; #declare Vectors[241] = <0.454682,0.174026,0.280704>; #declare Vectors[275] = <0.62116,0.1931,-0.133101>; #declare Vectors[313] = <0.393403,0.0550189,0.0567716>; #declare Vectors[320] = <0.841166,0.23854,-0.0868842>; #declare Vectors[343] = <0.597863,-0.185156,0.0666846>; #declare Vectors[349] = <0.78749,-0.151341,-0.0565003>; #declare Vectors[364] = <0.580011,-0.0517291,-0.107578>; #declare Vectors[437] = <0.431748,-0.269912,-0.0644889>; #declare Vectors[446] = <0.784436,0.0350799,-0.184484>; #declare Vectors[485] = <0.452077,0.0537786,-0.263689>; #declare Vectors[507] = <0.786597,-0.0435461,0.225515>; #declare Vectors[75] = <0.899793,-0.259352,-0.223601>; #declare Vectors[222] = <0.978189,0.213456,0.100684>; #declare Vectors[231] = <0.852186,0.0466494,0.0282252>; #declare Vectors[259] = <0.990751,-0.058978,-0.107328>; #declare Vectors[350] = <0.991272,-0.129676,0.114254>; #declare Vectors[366] = <0.960394,0.152541,-0.256722>; #declare Vectors[59] = <-0.925266,0.390889,-0.0589199>; #declare Vectors[139] = <-0.88384,0.388947,0.278091>; #declare Vectors[10] = <-0.589641,0.549679,0.036296>; #declare Vectors[95] = <-0.81215,0.516665,-0.276523>; #declare Vectors[122] = <-0.54883,0.835023,0.0183309>; #declare Vectors[148] = <-0.358386,0.715588,0.0195504>; #declare Vectors[234] = <-0.591805,0.485778,-0.222436>; #declare Vectors[261] = <-0.672576,0.733329,0.149558>; #declare Vectors[305] = <-0.708543,0.533365,0.233202>; #declare Vectors[354] = <-0.500865,0.667973,-0.140162>; #declare Vectors[360] = <-0.683533,0.302995,0.263485>; #declare Vectors[365] = <-0.38238,0.454461,0.133785>; #declare Vectors[376] = <-0.373325,0.482141,-0.101585>; #declare Vectors[393] = <-0.705919,0.711961,-0.0763368>; #declare Vectors[394] = <-0.471032,0.64919,0.200433>; #declare Vectors[447] = <-0.814707,0.557236,0.0387615>; #declare Vectors[465] = <-0.294176,0.726282,-0.189984>; #declare Vectors[481] = <-0.744537,0.340479,0.0614312>; #declare Vectors[499] = <-0.542769,0.338991,-0.0436363>; #declare Vectors[7] = <-0.00669306,0.337149,-0.0716309>; #declare Vectors[55] = <0.162495,0.793343,0.0593391>; #declare Vectors[133] = <-0.00352319,0.839548,0.206472>; #declare Vectors[138] = <0.202835,0.406108,0.064734>; #declare Vectors[196] = <-0.169509,0.51553,0.0594161>; #declare Vectors[203] = <-0.237544,0.758649,0.20098>; #declare Vectors[238] = <0.20726,0.339775,-0.190026>; #declare Vectors[243] = <-0.131964,0.731006,0.00913526>; #declare Vectors[258] = <0.136081,0.779699,-0.162678>; #declare Vectors[391] = <0.115323,0.555314,-0.24642>; #declare Vectors[412] = <0.00203364,0.616322,0.202907>; #declare Vectors[414] = <0.0693642,0.605194,-0.0224217>; #declare Vectors[431] = <-0.125538,0.557651,-0.196135>; #declare Vectors[467] = <-0.0822943,0.779437,-0.201713>; #declare Vectors[511] = <0.0489195,0.385981,0.225019>; #declare Vectors[11] = <0.625121,0.450638,0.218577>; #declare Vectors[98] = <0.781824,0.613863,0.149734>; #declare Vectors[111] = <0.332818,0.690265,-0.18567>; #declare Vectors[119] = <0.565789,0.622012,0.0651767>; #declare Vectors[181] = <0.829638,0.490907,-0.219315>; #declare Vectors[207] = <0.777661,0.313949,0.137145>; #declare Vectors[232] = <0.559337,0.524012,-0.176295>; #declare Vectors[286] = <0.383864,0.494683,-0.0362897>; #declare Vectors[288] = <0.74512,0.673408,-0.0607514>; #declare Vectors[386] = <0.283118,0.740768,0.23609>; #declare Vectors[387] = <0.432196,0.573571,0.239701>; #declare Vectors[399] = <0.364532,0.713043,0.0337146>; #declare Vectors[430] = <0.676514,0.445354,-0.0130648>; #declare Vectors[475] = <0.543147,0.740438,-0.133>; #declare Vectors[489] = <0.699719,0.671627,-0.264241>; #declare Vectors[490] = <0.495854,0.819876,0.277677>; #declare Vectors[492] = <0.546857,0.841805,0.0618156>; #declare Vectors[291] = <0.905028,0.439535,-0.0114643>; #declare Vectors[70] = <-0.390607,0.911273,0.157849>; #declare Vectors[74] = <-0.387128,0.925986,-0.0711247>; #declare Vectors[41] = <0.206216,0.9795,-0.103001>; #declare Vectors[48] = <-0.17581,0.973015,0.185924>; #declare Vectors[60] = <-0.00960902,0.996474,-0.136529>; #declare Vectors[307] = <-0.250426,0.940873,-0.242578>; #declare Vectors[409] = <0.085544,0.999493,0.0777229>; #declare Vectors[423] = <-0.184156,0.960185,-0.0274418>; #declare Vectors[12] = <0.351758,0.929749,0.144993>; #declare Vectors[327] = <0.409563,0.908933,-0.102458>; #declare Vectors[198] = <-0.112671,-0.871909,0.475107>; #declare Vectors[385] = <0.103862,-0.887832,0.462009>; #declare Vectors[470] = <-0.872605,-0.295817,0.403586>; #declare Vectors[24] = <-0.327162,-0.837267,0.450144>; #declare Vectors[130] = <-0.31854,-0.637641,0.546735>; #declare Vectors[153] = <-0.517036,-0.718086,0.477197>; #declare Vectors[190] = <-0.472742,-0.84016,0.285418>; #declare Vectors[202] = <-0.770165,-0.529592,0.372531>; #declare Vectors[218] = <-0.530522,-0.307195,0.60156>; #declare Vectors[223] = <-0.738731,-0.390345,0.551762>; #declare Vectors[257] = <-0.346832,-0.643193,0.331033>; #declare Vectors[277] = <-0.546294,-0.53276,0.352856>; #declare Vectors[328] = <-0.590581,-0.546685,0.60156>; #declare Vectors[342] = <-0.391642,-0.432799,0.484088>; #declare Vectors[422] = <-0.292763,-0.343279,0.664158>; #declare Vectors[453] = <-0.308483,-0.552958,0.746958>; #declare Vectors[472] = <-0.471382,-0.421972,0.78076>; #declare Vectors[35] = <0.116284,-0.465349,0.629653>; #declare Vectors[45] = <0.150601,-0.669517,0.486002>; #declare Vectors[54] = <0.217832,-0.789958,0.30216>; #declare Vectors[63] = <-0.192742,-0.479523,0.376172>; #declare Vectors[78] = <-0.144409,-0.727132,0.306342>; #declare Vectors[115] = <-0.0716051,-0.63434,0.488888>; #declare Vectors[132] = <-0.1101,-0.46916,0.629018>; #declare Vectors[179] = <0.0459284,-0.601846,0.296054>; #declare Vectors[184] = <0.0966001,-0.638278,0.770831>; #declare Vectors[367] = <-0.0859698,-0.551421,0.836107>; #declare Vectors[368] = <-0.183841,-0.710673,0.688071>; #declare Vectors[388] = <0.250097,-0.501664,0.835559>; #declare Vectors[487] = <0.274195,-0.491831,0.495979>; #declare Vectors[493] = <-0.0722981,-0.294421,0.751246>; #declare Vectors[494] = <0.010159,-0.381072,0.346359>; #declare Vectors[509] = <0.0177205,-0.781868,0.631164>; #declare Vectors[30] = <0.327108,-0.804532,0.507912>; #declare Vectors[72] = <0.462896,-0.693857,0.562961>; #declare Vectors[81] = <0.288477,-0.378807,0.29934>; #declare Vectors[82] = <0.49667,-0.501765,0.716454>; #declare Vectors[151] = <0.610609,-0.74417,0.290804>; #declare Vectors[166] = <0.805094,-0.330646,0.496823>; #declare Vectors[175] = <0.427009,-0.852661,0.32112>; #declare Vectors[182] = <0.296428,-0.660615,0.690787>; #declare Vectors[189] = <0.304791,-0.30979,0.849893>; #declare Vectors[204] = <0.382613,-0.638035,0.358607>; #declare Vectors[297] = <0.640462,-0.328485,0.346415>; #declare Vectors[408] = <0.738042,-0.54571,0.410855>; #declare Vectors[458] = <0.531826,-0.493422,0.495853>; #declare Vectors[483] = <0.348056,-0.357941,0.644949>; #declare Vectors[455] = <0.875463,-0.388431,0.307341>; #declare Vectors[71] = <-0.899967,0.0529946,0.446853>; #declare Vectors[390] = <-0.926853,-0.112773,0.315337>; #declare Vectors[57] = <-0.37214,0.157551,0.741114>; #declare Vectors[84] = <-0.85254,0.264737,0.458465>; #declare Vectors[191] = <-0.780107,0.123024,0.612714>; #declare Vectors[225] = <-0.450846,0.0277657,0.567676>; #declare Vectors[236] = <-0.643334,0.211405,0.439927>; #declare Vectors[240] = <-0.716362,-0.204949,0.676325>; #declare Vectors[296] = <-0.293272,0.0260297,0.390888>; #declare Vectors[315] = <-0.670447,0.00543575,0.750343>; #declare Vectors[338] = <-0.428779,-0.110703,0.702343>; #declare Vectors[348] = <-0.552095,-0.217525,0.812042>; #declare Vectors[351] = <-0.408334,0.234037,0.471713>; #declare Vectors[361] = <-0.64714,-0.21457,0.450352>; #declare Vectors[370] = <-0.464226,-0.285554,0.32865>; #declare Vectors[371] = <-0.332405,-0.179327,0.496056>; #declare Vectors[418] = <-0.588781,0.209213,0.769453>; #declare Vectors[439] = <-0.521421,-0.0225333,0.296343>; #declare Vectors[459] = <-0.842249,-0.126853,0.53088>; #declare Vectors[460] = <-0.652657,-0.011431,0.478905>; #declare Vectors[33] = <-0.16144,0.276141,0.791058>; #declare Vectors[105] = <0.0415261,0.164987,0.498093>; #declare Vectors[249] = <0.272228,0.187867,0.508605>; #declare Vectors[254] = <0.0512501,-0.0266249,0.680238>; #declare Vectors[262] = <-0.230188,-0.142254,0.743197>; #declare Vectors[274] = <-0.211016,0.149391,0.569563>; #declare Vectors[283] = <0.0310565,0.167692,0.76697>; #declare Vectors[306] = <0.24466,-0.0328399,0.567341>; #declare Vectors[317] = <0.122168,-0.262081,0.511733>; #declare Vectors[420] = <-0.111279,-0.274946,0.512327>; #declare Vectors[432] = <0.136252,-0.226145,0.730771>; #declare Vectors[477] = <-0.0876005,-0.047325,0.478953>; #declare Vectors[495] = <-0.164054,0.0681542,0.767209>; #declare Vectors[496] = <0.225591,-0.0356987,0.823249>; #declare Vectors[2] = <0.531361,-0.284251,0.789513>; #declare Vectors[29] = <0.550431,0.0200114,0.563965>; #declare Vectors[51] = <0.727499,-0.0263848,0.694661>; #declare Vectors[52] = <0.290761,-0.0438995,0.305094>; #declare Vectors[77] = <0.800727,-0.0928776,0.494651>; #declare Vectors[116] = <0.720738,-0.238066,0.660336>; #declare Vectors[150] = <0.521244,-0.0357523,0.354586>; #declare Vectors[187] = <0.54773,0.202914,0.814969>; #declare Vectors[266] = <0.714686,0.184612,0.672644>; #declare Vectors[281] = <0.539633,-0.276602,0.543364>; #declare Vectors[289] = <0.566688,-0.0347752,0.829312>; #declare Vectors[319] = <0.70808,0.0812423,0.383647>; #declare Vectors[332] = <0.358401,-0.215702,0.472898>; #declare Vectors[372] = <0.418588,-0.130642,0.670278>; #declare Vectors[406] = <0.384003,0.0894704,0.698355>; #declare Vectors[443] = <0.595275,0.238055,0.488815>; #declare Vectors[58] = <0.851596,0.181389,0.504458>; #declare Vectors[61] = <0.930331,-0.175498,0.332892>; #declare Vectors[169] = <0.939759,0.0452874,0.352636>; #declare Vectors[251] = <0.910062,0.260922,0.307978>; #declare Vectors[8] = <-0.586221,0.540401,0.608977>; #declare Vectors[80] = <-0.716892,0.328419,0.624724>; #declare Vectors[90] = <-0.624015,0.636688,0.410721>; #declare Vectors[124] = <-0.492348,0.356842,0.64485>; #declare Vectors[137] = <-0.399728,0.373662,0.844192>; #declare Vectors[145] = <-0.487152,0.80132,0.364669>; #declare Vectors[160] = <-0.429667,0.712711,0.562587>; #declare Vectors[215] = <-0.325006,0.647729,0.369682>; #declare Vectors[333] = <-0.388529,0.561608,0.721905>; #declare Vectors[341] = <-0.750594,0.459438,0.445145>; #declare Vectors[347] = <-0.37972,0.482492,0.489216>; #declare Vectors[445] = <-0.545483,0.432668,0.363157>; #declare Vectors[16] = <-0.174503,0.580326,0.650136>; #declare Vectors[25] = <-0.0993981,0.350452,0.514287>; #declare Vectors[101] = <0.238289,0.538515,0.347281>; #declare Vectors[103] = <-0.21438,0.492316,0.850323>; #declare Vectors[131] = <0.0593828,0.58228,0.817516>; #declare Vectors[174] = <-0.109619,0.701502,0.368455>; #declare Vectors[224] = <0.16114,0.586926,0.623408>; #declare Vectors[237] = <-0.0141371,0.554304,0.498065>; #declare Vectors[242] = <-0.277153,0.375285,0.648142>; #declare Vectors[282] = <-0.00982504,0.739844,0.674524>; #declare Vectors[292] = <0.115599,0.392462,0.489703>; #declare Vectors[312] = <0.230103,0.342891,0.693306>; #declare Vectors[363] = <0.144259,0.8314,0.547353>; #declare Vectors[380] = <-0.213454,0.786725,0.577039>; #declare Vectors[416] = <-0.162292,0.480315,0.293306>; #declare Vectors[438] = <0.107142,0.718874,0.377034>; #declare Vectors[452] = <0.280237,0.534762,0.803525>; #declare Vectors[457] = <0.0118244,0.393165,0.706523>; #declare Vectors[498] = <-0.22788,0.305248,0.30087>; #declare Vectors[49] = <0.624033,0.569009,0.546933>; #declare Vectors[67] = <0.762044,0.385428,0.49966>; #declare Vectors[156] = <0.634293,0.384841,0.679266>; #declare Vectors[248] = <0.292477,0.358131,0.354631>; #declare Vectors[279] = <0.327436,0.724424,0.615294>; #declare Vectors[298] = <0.337277,0.476886,0.53961>; #declare Vectors[304] = <0.832331,0.470008,0.309183>; #declare Vectors[326] = <0.51357,0.429792,0.409388>; #declare Vectors[405] = <0.437681,0.293364,0.631935>; #declare Vectors[429] = <0.329542,0.849425,0.424669>; #declare Vectors[435] = <0.651977,0.665779,0.325099>; #declare Vectors[436] = <0.475856,0.532956,0.707484>; #declare Vectors[449] = <0.457278,0.668471,0.439755>; #declare Vectors[68] = <-0.272921,0.885815,0.386175>; #declare Vectors[86] = <0.138628,0.931565,0.346414>; #declare Vectors[502] = <-0.0530736,0.892012,0.462033>; #declare Vectors[201] = <0.0631893,-0.394812,0.900923>; #declare Vectors[424] = <-0.231625,-0.400437,0.883913>; #declare Vectors[419] = <-0.463273,0.0130403,0.891941>; #declare Vectors[501] = <-0.362978,-0.233191,0.908111>; #declare Vectors[28] = <-0.0116471,0.272359,0.967813>; #declare Vectors[37] = <-0.0236766,-0.0777701,0.898489>; #declare Vectors[120] = <-0.0969156,-0.250469,0.96976>; #declare Vectors[149] = <0.162148,-0.194479,0.973157>; #declare Vectors[171] = <-0.255926,-0.0494603,0.939111>; #declare Vectors[173] = <0.118213,0.060971,0.997387>; #declare Vectors[270] = <0.228649,0.19332,0.860089>; #declare Vectors[482] = <-0.10516,0.0899914,0.99667>; #declare Vectors[486] = <-0.285298,0.204922,0.942511>; #declare Vectors[42] = <0.396674,0.0716373,0.921941>; #declare Vectors[373] = <0.402444,-0.145247,0.910606>; #declare Vectors[269] = <0.15065,0.395468,0.912888>; #declare Vectors[285] = <0.383048,0.344375,0.864196>;