-- Child and Toy my_model(x[3], a[1]) { xt = x[1]; yt = x[2]; zt = x[3]; x0 = 6; y0 = 0; z0 = -1; r0 = 1; R = 3; torus = r0^2-(xt-x0)^2-(yt-y0)^2-(zt-z0)^2-R^2+2*R*sqrt((zt-z0)^2+(yt-y0)^2); plane1 = (xt+4)*(-xt+4); plane2 = (yt+4)*(-yt+4); plane3 = (zt+4)*(-zt+4); cube = plane1 & plane2 & plane3; plane11 = (xt+2)*(-xt+2); plane12 = (yt+2)*(-yt+2); plane13 = (zt+2)*(-zt+2); plane110 = (xt+5)*(-xt+5); plane120 = (yt+5)*(-yt+5); plane130 = (zt+5)*(-zt+5); cube0 = plane11 & plane120 & plane13; cube00 = plane11 & plane12 & plane130; cube000 = plane110 & plane12 & plane13; cubeA = cube \ (cube0|cube00|cube000); xt1 = x[1]-4; yt1 = x[2]-4; zt1 = x[3]-4; plane4 = (xt1+4)*(-xt1+4); plane5 = (yt1+4)*(-yt1+4); plane6 = (zt1+4)*(-zt1+4); cube2 = plane4 & plane5 & plane6; plane14 = (xt1+3)*(-xt1+3); plane15 = (yt1+3)*(-yt1+3); plane16 = (zt1+3)*(-zt1+3); plane140 = (xt1+5)*(-xt1+5); plane150 = (yt1+5)*(-yt1+5); plane160 = (zt1+5)*(-zt1+5); cube1 = plane14 & plane150 & plane16; cube11 = plane14 & plane15 & plane160; cube111 = plane140 & plane15 & plane16; cubeB = cube2 \ (cube1|cube11|cube111); xt2 = x[1]+4; yt2 = x[2]+4; zt2 = x[3]+4; plane7 = (xt2+4)*(-xt2+4); plane8 = (yt2+4)*(-yt2+4); plane9 = (zt2+4)*(-zt2+4); cube3 = plane7 & plane8 & plane9; R = 3; cylinder = R^2 -xt2^2 -yt2^2; cylinder1 = R^2 -xt2^2 -zt2^2; cylinder2 = R^2 -yt2^2 -zt2^2; cubeC = cube3 \ (cylinder|cylinder1|cylinder2); tx = x[3]-7; ty = x[1]+6; tz = x[2]+4; sphere = 2^2-tx^2-ty^2-(tz-5)^2; z_max = 7; z_min = -7; s = (z_max - tz)/(z_max - z_min); r = 0.5 * (1 + s); tx2 = tx / r; ty2 = ty / r; tapering = 1 -(tx2/3)^2 -(ty2/3)^2 -(tz/3)^2; tx3 = (tx-1)/r; ty3 = (ty+1)/r; ty4 = (ty-1)/r; tz3 = tz+3.5; tapering2 = 1 -(tx3/3)^2 -(ty3)^2 -(tz3)^2; tapering3 = 1 -(tx3/3)^2 -(ty4)^2 -(tz3)^2; cylinder3 = (0.75)^2-tx^2-(tz-1)^2; f1 = (ty+5)*(-ty+5); hand = f1 & cylinder3; my_model = cubeA | cubeB | cubeC | torus | sphere | tapering | tapering2 | tapering3 | hand ; }