-- Erina Ito (University of Aizu) -- subject : spirit of human my_model(x[3], a[1]) { array block1_vertex[3],block2_vertex[3],cylinder_center[3], sphere1_center[3],sphere2_center[3],sphere3_center[3], sphere4_center[3],sphere5_center[3], torus1_vertex[3],torus2_vertex[3], torus3_vertex[3],torus4_vertex[3]; xt = x[1]; yt = x[2]; zt = x[3]; block1_vertex = [-7,-7,-7]; block1 = hfBlock(x, block1_vertex, 14,14,14); block2_vertex = [-10,-10,-10]; block2 = hfBlock(x, block2_vertex, 20,20,20); cylinder_center = [0,0,0]; cyl1 = hfCylinderX(x, cylinder_center, 5); cyl2 = hfCylinderY(x, cylinder_center, 5); cyl3 = hfCylinderZ(x, cylinder_center, 5); cylinder = cyl1 | cyl2 | cyl3; sphere1_center = [0,0,0]; sphere1 = hfSphere(x, sphere1_center, 4); sphere2_center = [6.5,0,0]; sphere2 = hfSphere(x, sphere2_center, 2); sphere3_center = [9.5,0,0]; sphere3 = hfSphere(x, sphere3_center, 1); sphere4_center = [-6.5,0,0]; sphere4 = hfSphere(x, sphere4_center, 2); sphere5_center = [-9.5,0,0]; sphere5 = hfSphere(x, sphere5_center, 1); sphere = sphere1 | sphere2 | sphere3 | sphere4 | sphere5; torus1_vertex = [0,5,5]; torus1 = hfTorusX(x, torus1_vertex, 4, 1); torus2_vertex = [0,-5,-5]; torus2 = hfTorusX(x, torus2_vertex, 4, 1); torus3_vertex = [0,-5,5]; torus3 = hfTorusX(x, torus3_vertex, 4, 1); torus4_vertex = [0,5,-5]; torus4 = hfTorusX(x, torus4_vertex, 4, 1); torus = torus1 | torus2 | torus3 | torus4; hole = block1 \ cylinder & block2; other = sphere | torus; a0 = 0.5; a1 = 100; a2 = 100; blending = hole + other + sqrt(hole^2 + other^2) + (a0/(1+(hole/a1)^2 + (other/a2)^2)); my_model = blending; }