Pairs of Packable Scutoids

Pairs of Packable Scutoids

Pairs of Packable Scutoids 628 472 mathgrrl

There’s a new shape in town!

In a new article Scutoids are a geometrical solution to three-dimensional packing of epithelia in the journal Nature, a group of scientists just introduced a new shape that they have dubbed a “Scutoid”.

To learn more about scutoids and their shape, watch Matt Parker’s excellent explainer and construction video:

To make a 3D model of this new shape, we created a simple “polyloft” module in OpenSCAD that lofts from one polygon to another.  This enabled us to transition from a pentagon to a hexagon (with an extra point in the middle) to construct a scutoid shape. Here is the code for the polygonal lofter, since I’m sure we’ll need to use it for something else in the future!

module polyloft(A,B){

 /// DEFINE POINTS //////////////////////////////////////////////

 // points at kth level
 function points(k) = [ for(i=[0:len(A)-1]) go(A[i],B[i],k/steps) ];
 
 // recursively list all points up to level n
 function allpoints(n) = (n==0 ? points(0) : concat(allpoints(n-1),points(n)));
 
 // all points
 // listed ccz starting with bottom slice and going up
 allpoints = allpoints(steps+1);
 
 /// DEFINE FACES ///////////////////////////////////////////////

 // quads at kth level
 function quads(k) = [ 
     for(i=[0:len(A)-1]) 
         [ i+(k-1)*len(A),(i+1)%len(A)+(k-1)*len(A),
           (i+1)%len(A)+len(A)+(k-1)*len(A),
           i+len(A)+(k-1)*len(A) ] 
];
 
 // recursively list all quads up to level n
 function allquads(n) = (n==0 ? [] : concat(allquads(n-1),quads(n)));
 
 // all quads
 // listed ccz starting with bottom slice and going up
 allquads = allquads(steps);
 
 // top and bottom faces 
 top = [ for(i=[0:len(B)-1]) i+len(A)+(len(A))*(steps-1) ]; 
 bottom = [ for(i=[0:len(A)-1]) (len(A)-1)-i ];
 
 // all faces
 allfaces = concat([bottom],allquads,[top]);
 
 /// DEFINE POLYHEDRON //////////////////////////////////////////
 
 polyhedron(
 points = allpoints,
 faces = allfaces
 );
 
}

Once the polylofter was in place, it was just a matter of defining the vertices at the top, bottom, and middle of the scutoid. A little math helped us create two identical scutoids that next together perfectly:

You can see the full code, customize the code to create your own unique scutoid shapes, and download free scutoid models for 3D printing at our Thingiverse page:

Screen Shot 2018-11-15 at 5.51.20 PM

Don’t have a printer, or want something fancy? You can order solid or hollow pairs of these scutoids at affordable 50% scale from our Shapeways shop:

scutoids_SWad

——————

As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)


Leave a Reply

Back to top