Blob Farm

blob52

The blob in all its glory:

Twirl with your mouse

This is derived from two toruses next to each other.

Click on the snapshot to download the blob's stl file. ../snapshots/blob52.png
Octave Code:
  # name of the blob
  project = "blob52";  
   
   # function at origin must be <0, and >0 far enough away.  w=0 defines the surface
function w = f(x2,y2,z2,c,r)  # three lobed toroid with low profile bumps and flat top
   x = (x2-c(1))/r(1);
   y=(y2-c(2))/r(2);
   z=(z2-c(3))/r(3);
   w=(-0.18619E5)+(-0.228985E4).*x.^2+0.892569E3.*x.^4+(-0.5721E2).* ...
x.^6+x.^8+0.918261E3.*y.^2+(-0.558184E3).*x.^2.*y.^2+(-0.8971E2).* ...
  x.^4.*y.^2+0.4E1.*x.^6.*y.^2+0.226969E3.*y.^4+(-0.779E1).*x.^2.* ...
  y.^4+0.6E1.*x.^4.*y.^4+0.2471E2.*y.^6+0.4E1.*x.^2.*y.^6+y.^8+ ...
0.210743E4.*z.^2+0.11479E4.*x.^2.*z.^2+(-0.5771E2).*x.^4.*z.^2+ ...
0.4E1.*x.^6.*z.^2+0.849298E3.*y.^2.*z.^2+0.4842E2.*x.^2.*y.^2.* ...
z.^2+0.12E2.*x.^4.*y.^2.*z.^2+0.10613E3.*y.^4.*z.^2+0.12E2.*x.^2.* ...
  y.^4.*z.^2+0.4E1.*y.^6.*z.^2+0.878329E3.*z.^4+0.5621E2.*x.^2.* ...
 z.^4+(-0.355271E-14).*x.^3.*z.^4+0.6E1.*x.^4.*z.^4+0.13813E3.* ...
y.^2.*z.^4+(-0.355271E-14).*x.*y.^2.*z.^4+0.12E2.*x.^2.*y.^2.* ...
z.^4+0.6E1.*y.^4.*z.^4+0.5671E2.*z.^6+0.4E1.*x.^2.*z.^6+0.4E1.* ...
y.^2.*z.^6+z.^8;;
  endfunction;

  c_outer = [0,0,0];
  r_outer = [20,20,20];

   xmin = -120;
   xmax = 120;

  step = 4;  # grid pitch in mm  start with 4mm to see the shape quickly.  Once you have it just right, change to 2mm for printing

  source("../octave/func2stl_v01.m");  # do all the calculations
GNU Octave