-- Bar: shaker, Tatsushi Someya, graduate school, Hosei University, 2004 shaker(x[3], a[1]) { array center01[3]; array center02[3]; array vertex01[3]; array xt01[3]; xt01[1]=x[1]; xt01[2]=x[2]; xt01[3]=x[3]; pi = 3.14159; degree_to_radian = pi / 180.0; tmp = hfTwistY(xt01, 4.6, 6.6, 0, 720* degree_to_radian); center01 = [0,0,0]; obj01 = hfEllipsoid(x, center01, 3.5, 12, 3.5); vertex01 = [-4, -9, -4]; obj02 = hfBlock(x, vertex01, 8, 9, 8); obj03 = hfEllipsoid(x, center01, 3.7, 12, 3.7); vertex01 = [-4, 0, -4]; obj04 = hfBlock(x, vertex01, 8, 2, 8); center02 = [0,0,0]; center02[2] = center01[2]+2; obj05 = hfEllipsoid(x, center02, 3.5, 3.0, 3.5); vertex01 = [-4, 2, -4]; obj06 = hfBlock(x, vertex01, 8, 2.8, 8); obj07 = hfEllCylY(xt01,center01,1.5,1.7); vertex01 = [-4, 4.6, -4]; obj08 = hfBlock(x, vertex01, 8, 1.5, 8); obj09 = hfEllCylY(x,center01,1.5,1.5); vertex01 = [-4, 5.6, -4]; obj10 = hfBlock(x, vertex01, 8, 1.5, 8); obj11 = obj07&obj08; obj12 = obj09&obj10; obj13 = hfBlendUni(obj11,obj12,0.4,0.4,0.4); shaker = (obj01&obj02)|(obj03&obj04)|(obj05&obj06)|obj13; }