HyperFun Gallery:
Infinity
my_model(x[3], a[1]){
-- HyperFun "Infinity" model by Hidekazu Yoshida
array center[3], p[3], vertex[3];
center = [0, 0, 0];
-- scaling up by 10
p[1]=x[1]/10; p[2] = x[2]/10; p[3] = x[3]/10;
-- model inside [-1,1] cube
dX = p[1]^2;
dY = p[2]^2;
dZ = p[3]^2;
-- cylinder with z axis
cylz = hfCylinderZ(p,center,0.548);
-- cylinder with x axis
cylx = hfCylinderX(p,center,0.316);
cyl = cylz | cylx;
spcyl = hfSphere(p,center,0.894) | cyl;
-- cylinder with y axis
hole = hfCylinderY(p,center,0.316);
inside = spcyl \ hole;
-- rounded cube
cube = 0.9-dX*dX-dY*dY-dZ*dZ;
-- blend of rounded cube and inside
blend = hfBlendInt(cube,inside,0.8,0.2,0.3);
my_model = blend;
-- Note that the object goes out of the bounding box
-- in x and y directions
-- and the polygonized surface will be not closed
}
Back to HyperFun Gallery