// Rounded spyro-clouds - pg-20060627 // // ToDo: // - Folded clouds, like pre-columbian or chinese illustrations. Start with a static curve (spatch) done with Inkscape, then generate it with some rule. // - Test with Inkscape (could be better) global_settings { assumed_gamma 1.5 } camera { location <0.0, 1.0, -2.0> direction 1.5*z right x*image_width/image_height look_at <0, 0, 0> } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.8,0.8,1>] } } } light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-0, 1500, -1000> } #declare h_spire_orig=0.06; #declare path1307_MIN_X = 2.1189397; #declare path1307_CENTER_X = 34.256775; #declare path1307_MAX_X = 66.394611; #declare path1307_WIDTH = 64.275671; #declare path1307_MIN_Y = 1032.2446; #declare path1307_CENTER_Y = 1038.7819; #declare path1307_MAX_Y = 1045.3193; #declare path1307_HEIGHT = 13.074693; #declare h_spire=h_spire_orig*path1307_WIDTH; #declare spire1307=object { sphere_sweep { cubic_spline 108, //nr points /* 0*/ <8.7173504,0, 1039.115>, h_spire <8.8585757,0, 1038.7593>, h_spire <9.2735245,0,1039.1271>, h_spire <9.3172042,0,1039.3463>, h_spire /* 1*/ <9.3172042,0, 1039.3463>, h_spire <9.4355764,0, 1039.9403>, h_spire <8.7705391,0,1040.3308>, h_spire <8.247896,0,1040.2973>, h_spire /* 2*/ <8.247896,0, 1040.2973>, h_spire <7.3130136,0, 1040.2375>, h_spire <6.7758095,0,1039.2671>, h_spire <6.9177843,0,1038.421>, h_spire /* 3*/ <6.9177843,0, 1038.421>, h_spire <7.1261361,0, 1037.1794>, h_spire <8.4670814,0,1036.4943>, h_spire <9.6562547,0,1036.7504>, h_spire /* 4*/ <9.6562547,0, 1036.7504>, h_spire <11.241237,0, 1037.0917>, h_spire <12.098367,0,1038.7755>, h_spire <11.716626,0,1040.2716>, h_spire /* 5*/ <11.716626,0, 1040.2716>, h_spire <11.236245,0, 1042.1543>, h_spire <9.1553481,0,1043.1602>, h_spire <7.3089917,0,1042.6619>, h_spire /* 6*/ <7.3089917,0, 1042.6619>, h_spire <5.072805,0, 1042.0585>, h_spire <3.8877739,0,1039.6384>, h_spire <4.5183612,0,1037.4958>, h_spire /* 7*/ <4.5183612,0, 1037.4958>, h_spire <5.2614898,0, 1034.9707>, h_spire <8.0934452,0,1033.6404>, h_spire <10.59516,0,1034.3858>, h_spire /* 8*/ <10.59516,0, 1034.3858>, h_spire <13.483491,0, 1035.2463>, h_spire <14.998543,0,1038.4088>, h_spire <14.116047,0,1041.1969>, h_spire /* 9*/ <14.116047,0, 1041.1969>, h_spire <13.1133,0, 1044.3649>, h_spire <9.5264429,0,1046.021>, h_spire <6.3700859,0,1045.0266>, h_spire /* 10*/ <6.3700859,0, 1045.0266>, h_spire <2.8291296,0, 1043.911>, h_spire <0.98314786,0,1040.0035>, h_spire <2.1189397,0,1036.5705>, h_spire /* 11*/ <2.1189397,0, 1036.5705>, h_spire <3.3798876,0, 1032.7592>, h_spire <7.5468479,0,1030.6278>, h_spire <13.19762,0,1032.2446>, h_spire /* 12*/ <13.19762,0, 1032.2446>, h_spire <18.848393,0, 1033.8614>, h_spire <27.198357,0,1036.7861>, h_spire <30.591082,0,1035.3981>, h_spire /* 13*/ <30.591082,0, 1035.3981>, h_spire <33.983807,0, 1034.0102>, h_spire <38.30182,0,1035.2439>, h_spire <42.465619,0,1035.5524>, h_spire /* 14*/ <42.465619,0, 1035.5524>, h_spire <45.709896,0, 1035.7927>, h_spire <49.609495,0,1035.018>, h_spire <55.573874,0,1033.0078>, h_spire /* 15*/ <55.573874,0, 1033.0078>, h_spire <61.538252,0, 1030.9977>, h_spire <65.15195,0,1033.0519>, h_spire <66.394611,0,1036.8632>, h_spire /* 16*/ <66.394611,0, 1036.8632>, h_spire <67.513933,0, 1040.2962>, h_spire <65.694721,0,1044.2037>, h_spire <62.205114,0,1045.3193>, h_spire /* 17*/ <62.205114,0, 1045.3193>, h_spire <59.094528,0, 1046.3137>, h_spire <55.559687,0,1044.6576>, h_spire <54.571481,0,1041.4896>, h_spire /* 18*/ <54.571481,0, 1041.4896>, h_spire <53.701782,0, 1038.7016>, h_spire <55.194865,0,1035.539>, h_spire <58.041309,0,1034.6785>, h_spire /* 19*/ <58.041309,0, 1034.6785>, h_spire <60.506745,0, 1033.9331>, h_spire <63.297633,0,1035.2634>, h_spire <64.029985,0,1037.7885>, h_spire /* 20*/ <64.029985,0, 1037.7885>, h_spire <64.651429,0, 1039.9311>, h_spire <63.483582,0,1042.3512>, h_spire <61.279823,0,1042.9547>, h_spire /* 21*/ <61.279823,0, 1042.9547>, h_spire <59.460242,0, 1043.4529>, h_spire <57.409521,0,1042.4471>, h_spire <56.936107,0,1040.5643>, h_spire /* 22*/ <56.936107,0, 1040.5643>, h_spire <56.559901,0, 1039.0682>, h_spire <57.404602,0,1037.3845>, h_spire <58.966599,0,1037.0431>, h_spire /* 23*/ <58.966599,0, 1037.0431>, h_spire <60.138528,0, 1036.787>, h_spire <61.460028,0,1037.4721>, h_spire <61.665359,0,1038.7138>, h_spire /* 24*/ <61.665359,0, 1038.7138>, h_spire <61.805273,0, 1039.5598>, h_spire <61.27586,0,1040.5302>, h_spire <60.354533,0,1040.59>, h_spire /* 25*/ <60.354533,0, 1040.59>, h_spire <59.839471,0, 1040.6235>, h_spire <59.184077,0,1040.233>, h_spire <59.300733,0,1039.639>, h_spire /* 26*/ <59.300733,0, 1039.639>, h_spire <59.34378,0, 1039.4199>, h_spire <59.752712,0,1039.052>, h_spire <59.891889,0,1039.4077>, h_spire } } #declare spire1339=object { sphere_sweep { cubic_spline 100, //nr points /* 0*/ <20.18719,0, 1043.7252>, h_spire <20.319499,0, 1043.3695>, h_spire <20.708249,0,1043.7373>, h_spire <20.749172,0,1043.9565>, h_spire /* 1*/ <20.749172,0, 1043.9565>, h_spire <20.860069,0, 1044.5505>, h_spire <20.23702,0,1044.941>, h_spire <19.747374,0,1044.9075>, h_spire /* 2*/ <19.747374,0, 1044.9075>, h_spire <18.871517,0, 1044.8477>, h_spire <18.36823,0,1043.8773>, h_spire <18.501242,0,1043.0312>, h_spire /* 3*/ <18.501242,0, 1043.0312>, h_spire <18.696439,0, 1041.7896>, h_spire <19.952722,0,1041.1045>, h_spire <21.066816,0,1041.3606>, h_spire /* 4*/ <21.066816,0, 1041.3606>, h_spire <22.551728,0, 1041.7019>, h_spire <23.354745,0,1043.3857>, h_spire <22.997103,0,1044.8818>, h_spire /* 5*/ <22.997103,0, 1044.8818>, h_spire <22.547052,0, 1046.7645>, h_spire <20.597534,0,1047.7704>, h_spire <18.867748,0,1047.2721>, h_spire /* 6*/ <18.867748,0, 1047.2721>, h_spire <16.772745,0, 1046.6687>, h_spire <15.662533,0,1044.2486>, h_spire <16.253308,0,1042.1059>, h_spire /* 7*/ <16.253308,0, 1042.1059>, h_spire <16.949517,0, 1039.5809>, h_spire <19.602676,0,1038.2506>, h_spire <21.946443,0,1038.996>, h_spire /* 8*/ <21.946443,0, 1038.996>, h_spire <24.652416,0, 1039.8565>, h_spire <26.071813,0,1043.019>, h_spire <25.245035,0,1045.8071>, h_spire /* 9*/ <25.245035,0, 1045.8071>, h_spire <24.305597,0, 1048.9751>, h_spire <20.9452,0,1050.6312>, h_spire <17.988123,0,1049.6368>, h_spire /* 10*/ <17.988123,0, 1049.6368>, h_spire <14.670727,0, 1048.5212>, h_spire <12.941293,0,1044.6137>, h_spire <14.005375,0,1041.1807>, h_spire /* 11*/ <14.005375,0, 1041.1807>, h_spire <15.186713,0, 1037.3694>, h_spire <19.090589,0,1035.238>, h_spire <24.384592,0,1036.8548>, h_spire /* 12*/ <24.384592,0, 1036.8548>, h_spire <29.6786,0, 1038.4715>, h_spire <38.704048,0,1040.7077>, h_spire <44.29186,0,1038.6975>, h_spire /* 13*/ <44.29186,0, 1038.6975>, h_spire <49.879672,0, 1036.6874>, h_spire <53.265215,0,1038.7416>, h_spire <54.429421,0,1042.5529>, h_spire /* 14*/ <54.429421,0, 1042.5529>, h_spire <55.478072,0, 1045.9859>, h_spire <53.773718,0,1049.8934>, h_spire <50.50443,0,1051.009>, h_spire /* 15*/ <50.50443,0, 1051.009>, h_spire <47.590233,0, 1052.0034>, h_spire <44.278568,0,1050.3473>, h_spire <43.352754,0,1047.1793>, h_spire /* 16*/ <43.352754,0, 1047.1793>, h_spire <42.537965,0, 1044.3913>, h_spire <43.936779,0,1041.2287>, h_spire <46.60351,0,1040.3682>, h_spire /* 17*/ <46.60351,0, 1040.3682>, h_spire <48.91329,0, 1039.6228>, h_spire <51.527972,0,1040.9531>, h_spire <52.214087,0,1043.4782>, h_spire /* 18*/ <52.214087,0, 1043.4782>, h_spire <52.796294,0, 1045.6208>, h_spire <51.702182,0,1048.0409>, h_spire <49.637559,0,1048.6444>, h_spire /* 19*/ <49.637559,0, 1048.6444>, h_spire <47.932858,0, 1049.1426>, h_spire <46.011612,0,1048.1368>, h_spire <45.568087,0,1046.254>, h_spire /* 20*/ <45.568087,0, 1046.254>, h_spire <45.215633,0, 1044.7579>, h_spire <46.007003,0,1043.0742>, h_spire <47.470382,0,1042.7328>, h_spire /* 21*/ <47.470382,0, 1042.7328>, h_spire <48.568319,0, 1042.4767>, h_spire <49.806388,0,1043.1618>, h_spire <49.998754,0,1044.4035>, h_spire /* 22*/ <49.998754,0, 1044.4035>, h_spire <50.129835,0, 1045.2495>, h_spire <49.633846,0,1046.2199>, h_spire <48.770689,0,1046.2797>, h_spire /* 23*/ <48.770689,0, 1046.2797>, h_spire <48.288145,0, 1046.3132>, h_spire <47.674129,0,1045.9227>, h_spire <47.78342,0,1045.3287>, h_spire /* 24*/ <47.78342,0, 1045.3287>, h_spire <47.82375,0, 1045.1096>, h_spire <48.206863,0,1044.7417>, h_spire <48.337253,0,1045.0974>, h_spire } } #declare spire1341=object { sphere_sweep { cubic_spline 96, //nr points /* 0*/ <30.196861,0, 1046.3136>, h_spire <30.336455,0, 1046.0327>, h_spire <30.569712,0,1046.4122>, h_spire <30.571668,0,1046.6061>, h_spire /* 1*/ <30.571668,0, 1046.6061>, h_spire <30.576976,0, 1047.1314>, h_spire <30.080439,0,1047.3588>, h_spire <29.732825,0,1047.2474>, h_spire /* 2*/ <29.732825,0, 1047.2474>, h_spire <29.111024,0, 1047.0481>, h_spire <28.870922,0,1046.1354>, h_spire <29.072427,0,1045.4364>, h_spire /* 3*/ <29.072427,0, 1045.4364>, h_spire <29.368138,0, 1044.4106>, h_spire <30.356535,0,1044.0391>, h_spire <31.124924,0,1044.4461>, h_spire /* 4*/ <31.124924,0, 1044.4461>, h_spire <32.149067,0, 1044.9887>, h_spire <32.515199,0,1046.5604>, h_spire <32.070913,0,1047.7757>, h_spire /* 5*/ <32.070913,0, 1047.7757>, h_spire <31.511829,0, 1049.305>, h_spire <29.985192,0,1049.8327>, h_spire <28.804758,0,1049.1149>, h_spire /* 6*/ <28.804758,0, 1049.1149>, h_spire <27.375096,0, 1048.2456>, h_spire <26.880446,0,1045.9939>, h_spire <27.57318,0,1044.2668>, h_spire /* 7*/ <27.57318,0, 1044.2668>, h_spire <28.389548,0, 1042.2314>, h_spire <30.46236,0,1041.5462>, h_spire <32.052991,0,1042.5786>, h_spire /* 8*/ <32.052991,0, 1042.5786>, h_spire <33.88944,0, 1043.7706>, h_spire <34.513272,0,1046.7078>, h_spire <33.570158,0,1048.9453>, h_spire /* 9*/ <33.570158,0, 1048.9453>, h_spire <32.49853,0, 1051.4878>, h_spire <29.876793,0,1052.331>, h_spire <27.876692,0,1050.9824>, h_spire /* 10*/ <27.876692,0, 1050.9824>, h_spire <25.632881,0, 1049.4694>, h_spire <24.879571,0,1045.8445>, h_spire <26.073938,0,1043.0971>, h_spire /* 11*/ <26.073938,0, 1043.0971>, h_spire <27.399911,0, 1040.0471>, h_spire <29.732182,0,1040.8208>, h_spire <34.836309,0,1040.9304>, h_spire /* 12*/ <34.836309,0, 1040.9304>, h_spire <39.855355,0, 1041.0382>, h_spire <42.750565,0,1042.6982>, h_spire <43.109819,0,1046.1454>, h_spire /* 13*/ <43.109819,0, 1046.1454>, h_spire <43.433416,0, 1049.2505>, h_spire <41.71961,0,1052.294>, h_spire <39.231011,0,1052.6918>, h_spire /* 14*/ <39.231011,0, 1052.6918>, h_spire <37.012708,0, 1053.0464>, h_spire <34.840692,0,1051.0734>, h_spire <34.572167,0,1048.2152>, h_spire /* 15*/ <34.572167,0, 1048.2152>, h_spire <34.335844,0, 1045.6997>, h_spire <35.736846,0,1043.2397>, h_spire <37.76059,0,1042.9574>, h_spire /* 16*/ <37.76059,0, 1042.9574>, h_spire <39.513444,0, 1042.7129>, h_spire <41.225481,0,1044.29>, h_spire <41.402288,0,1046.5594>, h_spire /* 17*/ <41.402288,0, 1046.5594>, h_spire <41.552319,0, 1048.4851>, h_spire <40.463202,0,1050.3636>, h_spire <38.90425,0,1050.5286>, h_spire /* 18*/ <38.90425,0, 1050.5286>, h_spire <37.617068,0, 1050.6649>, h_spire <36.36263,0,1049.4818>, h_spire <36.279696,0,1047.8012>, h_spire /* 19*/ <36.279696,0, 1047.8012>, h_spire <36.213794,0, 1046.4658>, h_spire <36.993199,0,1045.1639>, h_spire <38.087351,0,1045.1206>, h_spire /* 20*/ <38.087351,0, 1045.1206>, h_spire <38.908264,0, 1045.0881>, h_spire <39.712013,0,1045.8819>, h_spire <39.694758,0,1046.9733>, h_spire /* 21*/ <39.694758,0, 1046.9733>, h_spire <39.682999,0, 1047.717>, h_spire <39.205141,0,1048.4605>, h_spire <38.577489,0,1048.3654>, h_spire /* 22*/ <38.577489,0, 1048.3654>, h_spire <38.226605,0, 1048.3122>, h_spire <37.834331,0,1047.8753>, h_spire <37.987228,0,1047.3873>, h_spire /* 23*/ <37.987228,0, 1047.3873>, h_spire <38.043648,0, 1047.2072>, h_spire <38.364961,0,1046.9584>, h_spire <38.414109,0,1047.2838>, h_spire } } #declare spire=union { object {spire1307} object {spire1339} object {spire1341} } #declare spyro_cloud=object{ spire scale 1/path1307_WIDTH translate <-path1307_CENTER_X,0,-path1307_CENTER_Y>/path1307_WIDTH rotate <-90,0,0> //pigment { color rgb <1,0.8,0.8> } } #declare i=5; #while (i>=0) object{spyro_cloud translate <0,0,h_spire_orig*i/4> pigment { color rgb <1,0.8,0.8> }} #declare i=i-1; #end