camera {location <0, 0, -650> look_at <0, 0, 0>} light_source {<0, 50, -310> rgb 1} background {rgb 1} #include "spline.mcr" #include"textures.inc" // change this value to increase the z-offset at the crossings #declare oset=1; #declare component0 = create_spline ( array[181] { <-33.9341,-97.1749, -10 *oset>, <-41.1812,-90.678, -10 *oset>, <-46.5786,-81.7861, -3.80029 *oset>, <-44.7228,-72.3732, 0 *oset>, <-43.1452,-64.3711, 3.23068 *oset>, <-36.6626,-58.7255, 10 *oset>, <-30.3323,-53.5806, 10*oset>, <-24.483,-48.8266, 10*oset>, <-18.3737,-43.6823, 3.70067 *oset>, <-17.064,-36.2635, 0 *oset>, <-15.9186,-29.7755, -3.23633 *oset>, <-18.8537,-23.518, -10 *oset>, <-22.3737,-17.9355, -10 *oset>, <-25.862,-12.4031, -10 *oset>, <-29.9281,-7.26832, -3.02667 *oset>, <-34.1314,-2.25922, 0 *oset>, <-39.3226,3.9273, 3.7381 *oset>, <-44.7962,10.0453, 10 *oset>, <-47.7917,17.5621, 10*oset>, <-52.4208,29.1783, 10*oset>, <-50.4752,41.959, 3.4925 *oset>, <-49.2568,54.3644, 0 *oset>, <-48.0785,66.3624, -3.37781 *oset>, <-47.9708,79.1279, -10 *oset>, <-55.6173,88.394, -10 *oset>, <-62.5094,96.7459, -10 *oset>, <-73.7274,99.7217, -3.28451 *oset>, <-84.5007,98.0295, 0 *oset>, <-96.7403,96.107, 3.73158 *oset>, <-107.063,88.6804, 10 *oset>, <-116.862,81.1387, 10*oset>, <-127.58,72.8901, 10*oset>, <-138.863,64.1483, 3.23034 *oset>, <-152.4,64.2311, 0 *oset>, <-168.476,64.3296, -3.83619 *oset>, <-181.348,76.3082, -10 *oset>, <-188.233,91.1438, -10 *oset>, <-207.082,131.756, -10 *oset>, <-185.93,178.385, -3.48787 *oset>, <-147.448,204.405, 0 *oset>, <-99.9908,236.495, 4.30132 *oset>, <-36.3275,233.931, 10 *oset>, <1.08804,192.163, 10*oset>, <14.7123,176.953, 10*oset>, <22.5987,157.817, 3.44532 *oset>, <31.0261,139.26, 0 *oset>, <38.9925,121.718, -3.25684 *oset>, <47.6422,104.388, -10 *oset>, <59.4482,89.1476, -10 *oset>, <67.3374,78.9632, -10 *oset>, <77.3143,69.608, -3.64499 *oset>, <90.0951,69.1372, 0 *oset>, <101.686,68.7102, 3.30568 *oset>, <111.571,75.9177, 10 *oset>, <120.89,82.8133, 10*oset>, <130.769,90.1244, 10*oset>, <141.013,97.3569, 3.24252 *oset>, <153.024,100.072, 0 *oset>, <166.306,103.075, -3.58571 *oset>, <180.07,100.231, -10 *oset>, <192.153,93.9375, -10 *oset>, <232.686,72.8244, -10 *oset>, <247.5,23.5225, -3.53113 *oset>, <235.333,-21.7198, 0 *oset>, <221.566,-72.9087, 3.99526 *oset>, <177.586,-110.671, 10 *oset>, <124.898,-113.176, 10*oset>, <109.421,-113.912, 10*oset>, <94.0636,-111.293, 3.61559 *oset>, <78.7657,-108.915, 0 *oset>, <65.4442,-106.844, -3.14849 *oset>, <51.6845,-104.76, -10 *oset>, <40.9179,-96.5921, -10 *oset>, <34.0322,-91.3682, -10 *oset>, <28.9562,-83.8544, -3.56758 *oset>, <28.626,-75.2491, 0 *oset>, <28.3157,-67.1619, 3.35278 *oset>, <32.3073,-59.7911, 10 *oset>, <36.6998,-53.002, 10*oset>, <40.8634,-46.5667, 10*oset>, <45.4668,-39.6806, 3.52588 *oset>, <43.7127,-32.2487, 0 *oset>, <41.989,-24.9456, -3.46473 *oset>, <35.0046,-20.7784, -10 *oset>, <28.1672,-17.521, -10 *oset>, <20.1557,-13.7043, -10 *oset>, <11.7564,-10.3253, -3.37759 *oset>, <2.86855,-10.3911, 0 *oset>, <-6.04092,-10.4571, 3.38582 *oset>, <-14.4073,-13.9765, 10 *oset>, <-22.3737,-17.9355, 10*oset>, <-29.1622,-21.3091, 10*oset>, <-36.0795,-25.5999, 3.46585 *oset>, <-37.6805,-32.9376, 0 *oset>, <-39.3086,-40.3992, -3.52435 *oset>, <-34.5939,-47.2094, -10 *oset>, <-30.3323,-53.5806, -10 *oset>, <-25.8419,-60.2938, -10 *oset>, <-21.7487,-67.5979, -3.35202 *oset>, <-21.9446,-75.679, 0 *oset>, <-22.1532,-84.2828, 3.56883 *oset>, <-27.1249,-91.86, 10 *oset>, <-33.9341,-97.1749, 10*oset>, <-44.5953,-105.497, 10*oset>, <-58.3357,-107.769, 3.14824 *oset>, <-71.6354,-110.035, 0 *oset>, <-86.9098,-112.637, -3.61566 *oset>, <-102.238,-115.496, -10 *oset>, <-117.737,-115, -10 *oset>, <-170.514,-113.312, -10 *oset>, <-215.124,-76.1955, -3.99739 *oset>, <-229.664,-25.1649, 0 *oset>, <-242.5,19.8842, 3.52884 *oset>, <-228.426,69.3895, 10 *oset>, <-188.233,91.1438, 10*oset>, <-176.258,97.6252, 10*oset>, <-162.549,100.693, 3.58618 *oset>, <-149.228,97.8998, 0 *oset>, <-137.185,95.3744, -3.24238 *oset>, <-126.84,88.3005, -10 *oset>, <-116.862,81.1387, -10 *oset>, <-107.453,74.3854, -10 *oset>, <-97.4732,67.325, -3.30662 *oset>, <-85.9004,67.9293, 0 *oset>, <-73.1457,68.5954, 3.64435 *oset>, <-63.3336,78.0993, 10 *oset>, <-55.6173,88.394, 10*oset>, <-44.0685,103.802, 10*oset>, <-35.694,121.239, 3.25696 *oset>, <-28.0027,138.879, 0 *oset>, <-19.8673,157.537, -3.44504 *oset>, <-12.2792,176.763, -10 *oset>, <1.08804,192.163, -10 *oset>, <37.8866,234.557, -10 *oset>, <101.579,238.101, -4.30122 *oset>, <149.572,206.7, 0 *oset>, <188.484,181.241, 3.48734 *oset>, <210.368,134.896, 10 *oset>, <192.153,93.9375, 10*oset>, <185.5,78.9771, 10*oset>, <172.813,66.7749, 3.83572 *oset>, <156.724,66.4242, 0 *oset>, <143.172,66.1288, -3.23098 *oset>, <131.744,74.7155, -10 *oset>, <120.89,82.8133, -10 *oset>, <110.965,90.217, -10 *oset>, <100.518,97.4942, -3.7304 *oset>, <88.2351,99.2413, 0 *oset>, <77.4133,100.781, 3.28677 *oset>, <66.2102,97.6351, 10 *oset>, <59.4482,89.1476, 10*oset>, <51.9758,79.7685, 10*oset>, <52.3119,67.0285, 3.37803 *oset>, <53.7049,55.0752, 0 *oset>, <55.1453,42.7151, -3.49297 *oset>, <57.319,29.9917, -10 *oset>, <52.8951,18.3186, -10 *oset>, <50.0324,10.7648, -10 *oset>, <44.6668,4.56937, -3.74269 *oset>, <39.5943,-1.69718, 0 *oset>, <35.4963,-6.75975, 3.02361 *oset>, <31.5435,-11.9497, 10 *oset>, <28.1672,-17.521, 10*oset>, <24.7544,-23.1524, 10*oset>, <21.9312,-29.4429, 3.23345 *oset>, <23.1744,-35.8983, 0 *oset>, <24.5984,-43.2922, -3.7036 *oset>, <30.7813,-48.3406, -10 *oset>, <36.6998,-53.002, -10 *oset>, <43.1151,-58.0548, -10 *oset>, <49.6922,-63.6061, -3.22924 *oset>, <51.3882,-71.5927, 0 *oset>, <53.3855,-80.9978, 3.80276 *oset>, <48.0907,-89.9805, 10 *oset>, <40.9179,-96.5921, 10*oset>, <30.7469,-105.967, 10*oset>, <17.4206,-111.146, 3.45044 *oset>, <3.58754,-111.256, 0 *oset>, <-10.2378,-111.366, -3.44851 *oset>, <-23.6403,-106.403, -10 *oset>, <-33.9341,-97.1749, -10.0001 *oset> }, create_bezier_spline) // change the value after spline_radius to change the radius of the tubes union { pipe_spline (component0, spline_radius (11) + spline_step_size(1)) // colour is specified by a triple of floating point values // for each of red, green and blue. Change these to alter the colour of this component texture{Silver2 finish {ambient .05 diffuse .6 phong 1 phong_size 40} } } #declare component1 = create_spline ( array[25] { <-47.7917,17.5621, -10 *oset>, <-69.8297,5.27898, -10 *oset>, <-87.6521,-13.2113, -3.23756 *oset>, <-100.345,-35.011, 0 *oset>, <-114.478,-59.2854, 3.6051 *oset>, <-121.914,-87.2295, 10 *oset>, <-117.737,-115, 10*oset>, <-108.925,-173.597, 10*oset>, <-55.7251,-214.304, 3.82493 *oset>, <4.35014,-213.841, 0 *oset>, <64.4055,-213.377, -3.82366 *oset>, <116.958,-171.881, -10 *oset>, <124.898,-113.176, -10 *oset>, <128.664,-85.3362, -10 *oset>, <120.812,-57.4933, -3.60524 *oset>, <106.295,-33.4336, 0 *oset>, <93.2583,-11.8272, 3.23763 *oset>, <75.1291,6.3748, 10 *oset>, <52.8951,18.3186, 10*oset>, <37.3336,26.678, 10*oset>, <20.1047,31.7154, 3.38766 *oset>, <2.43501,31.5823, 0 *oset>, <-15.2259,31.4492, -3.38597 *oset>, <-32.3695,26.1578, -10 *oset>, <-47.7917,17.5621, -10.0001 *oset> }, create_bezier_spline) // change the value after spline_radius to change the radius of the tubes union { pipe_spline (component1, spline_radius (17) + spline_step_size(1)) // colour is specified by a triple of floating point values // for each of red, green and blue. Change these to alter the colour of this component pigment {Tan_Wood scale 4} finish {ambient .1 diffuse .9 phong 1} }