-- Masaki Ikegami -- pet bottle -- boundig box [-12,12] my_model(x[3], a[1]) { -- -- & intersection -- \ subtraction(difference) array p[3],center[3],xt[3]; center = [0,0,0]; -- with z-axis Radius = 4.5 cyli1 = hfCylinderZ(x,center,4.5); cyli2 = hfCylinderZ(x,center,1.7); -- z-coordinate +3,-10. minus = direction? cap1 = -(x[3]-2); cap2 = x[3]+10; cap3 = -(x[3]-11.5); cap4 = x[3]-9; pole1 = cyli1 & cap1 & cap2; pole2 = cyli2 & cap3 & cap4; -- Torus center[3] = 3; tr1 = hfTorusZ(x,center,5,0.7); center[3] = 10.1; tr2 = hfTorusZ(x,center,1.7,0.2); -- center[3] = 5; ellip1 = hfEllipsoid(x,center,4.5,4.5,5); -- hekomi xt[1]=x[1]; xt[2]=x[2]; xt[3]=x[3]; center = [5.1,0,-3.5]; hekomi1 = hfEllipsoid(xt,center,1,2,4); -- Rotate (360-degree = 2PI) tmp = hfRotate3DZ(xt,1.04); hekomi2 = hfEllipsoid(xt,center,1,2,4); tmp = hfRotate3DZ(xt,1.04); hekomi3 = hfEllipsoid(xt,center,1,2,4); tmp = hfRotate3DZ(xt,1.04); hekomi4 = hfEllipsoid(xt,center,1,2,4); tmp = hfRotate3DZ(xt,1.04); hekomi5 = hfEllipsoid(xt,center,1,2,4); tmp = hfRotate3DZ(xt,1.04); hekomi6 = hfEllipsoid(xt,center,1,2,4); -- Sphere center = [0,0,-13.5]; sphe1 = hfSphere(x,center,4); -- create! blend1 = hfBlendUni(pole1,ellip1,1,5,5); my_model = (pole1|pole2|blend1)\tr1\tr2\hekomi1\hekomi2\hekomi3\hekomi4\hekomi5\hekomi6\sphe1; }