-- Air Twist my_model(x[3], a[1]) { array p[3], center[3], m[3]; center = [0, 0, 0]; p[1] = x[1]/6; p[2] = x[2]/6; p[3] = x[3]/6; futa = 64 - (x[3])^2; hontai = hfEllipsoid(p,center,1.5,0.6,0.7); center = [-0.1, 0, -0.2]; hane = hfEllipsoid(p,center,0.6,1.7,0.2); futa2 = 81 - (x[1])^2; center = [0,0,0]; prop1 = hfEllCylX(p,center,0.1,0.1); x1 = x[1]+9.0; z1 = -10; z2 = 10; s1 = 1; s2 = 1; t = (p[3]-z1)/(z2-z1); theta1 = 1; theta2 = 120; theta = (1-t)*theta1 + t*theta2; x2 =x1*cos(theta)+x[2]*sin(theta); y2 =-x1*sin(theta)+x[2]*cos(theta); ellispsoid2 = 1-((x2-0.4)/0.8)^(2/0.5)-(y2/0.5)^(2/0.5)-(p[3]/5)^(2/0.5); center = [1.6,0.6,0]; en1 = hfSphere(p,center,0.25); center = [1.6,-0.6,0]; en2 = hfSphere(p,center,0.25); f1=en1; f2=en2; a0=0.6; a1=0.3; a2=0.3; blend =f1+f2 +sqrt(f1^2 + f2^2)+a0/(1+(f1/a1)^2+(f2/a2)^2); center = [-0.1,0.0,0.0]; torus = hfTorusZ(x,center,5.5,0.6); center = [-1.4,0,0]; prop2 = hfEllipsoid(p,center,0.1,1.6,0.1); center = [-0.8,0.3,0.4]; en3 = hfSphere(p,center,0.2); center = [-0.8,-0.3,0.4]; en4 = hfSphere(p,center,0.2); my_model = (hontai\en3\en4)|hane|(prop1&futa2)|(ellispsoid2&futa)|blend|torus|prop2; }