Blob Farm

blob20

The blob in all its glory:

Twirl with your mouse

start of a two handled case.

1. 0.16 x 2 + y 12 244140625 + z 2 + 0.2 - 1. ( 0.1975 x 4 + ( y + 3 ) 4 ) 4 + z 2 + 0.1 - 1. ( 0.1975 x 4 + ( y - 3 ) 4 ) 4 + z 2 + 0.2 1.

Click on the snapshot to download the blob's stl file. ../snapshots/blob20.png
Octave Code:
 clf;
 xmin = -10;
 xmax = 10;
 ymin = -10;
 ymax = 10;
 zmin = -2;
 zmax =  2;
 xn = 150;
 yn = 150;
 zn = 50;

 [x,y,z] = meshgrid (xmin:(xmax-xmin)/(xn-1):xmax,
  ymin:(ymax-ymin)/(yn-1):ymax,
  zmin:(zmax-zmin)/(zn-1):zmax);
 p1x = 2; p1y = 3; p1z = 4;
 p2x = -1; p2y = 1;  p2z = -2;

 p3x = -2; p3y = -3; p3z = 4;
 p4x = -1; p4y = 1;  p4z = -2;

 fx=(x+y)/50;
 fy=(x-y)/50;
 fz=z/25;

 # r = (fx.^2.*(1 - fx.^2) - fy.^2).^2 + 0.5*fz.^2 - 0.025*(1 - 0.1*(fx.^2 + fy.^2 + fz.^2));

 k2 = 4 ;
 r = 1.0./(0.2 + (x/2.5).^2 + (y/5).^12 + (z/1).^2) - 1./(0.2 + ((x/1.5).^4 + ((y - 3)/01).^4).^4 + z.^2) - 1./(0.1 + ((x/1.5).^k2 + ((y + 3)/01).^k2).^4 + z.^2);
  
 [f3,v3]=isosurface (x, y, z, r,1.0);
 clf;
 axis equal;

 hold on;

 patch("Faces",f3,"Vertices",v3,"facecolor","y");

 #  from http://iso2mesh.sourceforge.net

 savestl(v3,f3,["blob20_1.stl"]);
GNU Octave