Tapeworm script

"Tapeworm" is the working title for a little script I'm developing. It will produce a long thin developable surface that unrolls to a straight strip. The curvature (bending + twisting) is controlled by two lists of values.


Developable curved strips in Grasshopper

A script in Grasshopper that will produce rather complex surfaces that are perfectly developable and they will also unroll to straight strips. Thanks to Graph Mappers (one for bending and one for twisting) the shape is relatively easy and intuitive to adjust.
(The surface in the top left corner of the image is quite similar to this one.)
I'm very pleased with these results!


Scripted 3d Bending

Fueled by a question from Jesper Thøger Christensen, I've continued to work on scripted 3d bending, something I started a while ago. At the moment it will just produce a helix (constant bend + constant twist), but I'm hoping to get some more elasticity in there.



Guitar string + Grasshopper scripting

Trying to mimic the loop shape of a curved guitar string. The scripted curve has linear increasing/decreasing curvature (like a Clothoid or Cornu Spiral). Pretty good fit?! (Gray line is a shadow)
(Some people may recognize the photo from this post)


Bending curves inside two circles

This is a strange relationship that I discovered already in these tests. Aligned at the curve centre points, the endpoints of bending curves lay on two circles! Circle diameter = 4/5 of curve length.
UPDATE! 31 oct 2010: The link was wrong.Download corrrect .ghx file


Spline definition

This is something I found a while back:

SPLINE: “A curve that closely approximates the shape of a strip of material that is gently bent; originally a draftsman's tool for drawing curves that represented the shapes taken by wooden and metal members of a ship's hull structure bent over fixed points or frames and, later, representing similar shapes in auto bodies and aircraft structures. A spline is the shape taken by bending material objects, like beams, that minimizes the elastic energy (or internal strain energy) stored in the beam. Mathematically, it is the smoothest curve that passes through a set of fixed points. In 3D modeling it is a curve defined by control points, often supplemented by interactive methods to modify tangents to the curve at these points and to adjust a local weighting factor. Bézier, B-Spline, and NURBS are commonly used types of splines.”

(unknown source)


Analyzing the Drop shape

The characteristic Drop shape [that appears when the ends of the saw blade touch each other] turned out to look rather different in the elastica version and the cornu spiral version. The latter is closer to the saw blade. With the help of grasshopper I plotted the curvature of the three curves above. The curvature of the elastica curve and the cornu spiral curve look as expected, but the curvature of the saw blade is a bit ambiguous and noisy. I probably need to redo the measurements.


Cornu Spiral curves scripted in Grasshopper

I also tried scripting the Cornu Spiral curves (described earlier) in Grasshopper VB:

When superimposed with the saw blade curves it shows a much better fit, even though the overlap is not 100%:

(I remember that the last drop shape was a bit hard to orient correctly when drawing it, because it had both supports in one point.)
Please also note that my scripting skills are very basic, so I may very well have made errors when producing the elastica curves and cornu spiral curves.


Elastica curves scripted in Grasshopper

I tried some Grasshopper scripting to produce elastica curves.
(The script is really basic, it uses Loop to copy and rotate a line a bunch of times. The Sin values between 0 and 1 Radians are used to vary the amount of rotation. To get many curves at the same time a range of values are fed into the VB script component.)

Below are the curves that I drew manually along the saw blade:

To my surprise it's quite a bad fit as can be seen in the image below, showing both sets of curves superimposed:

The typical "drop shape" (that appears when the ends of the curve meet) seems too wide and low. Also curves seem to go in the wrong direction (see at left arrow).


Kangaroo Physics by Daniel Piker

The Kangaroo by Daniel Piker brings live 3D Physics into Rhino/Grasshopper (see some videos explaining what Kangaroo can do here). Kangaroo is installed like a subcomponent in Grasshopper for Rhino (a lot of animals...) Daniel kindly let me try an unofficial version which can simulate bending geometry (!) Below are images from Kangaroo in action and verification with a guitar string. Thanks Daniel!