more Grasshopper Widgets
Written originally to facilitate a forum discussion, this tool evolved to become a general purpose "well formed curve" widget. It creates a curve tangent to two intersectings lines, shown by connecting two pair of output points. Its shape is affected by 'Deadrise' and 'Flare' angles and two sliders, 'Deadrise_L' and 'Flare_L', that determine the "strength" (length) of each tangent. Finally, 'Degree' may be changed from '1' for hard chine, '2' for "sharp corner" and '3' for smooth curves (the default).
Cross-section shape, 'Area' and 'Skin Girth' are created from outputs of the code cluster and, while critical for its original purpose, may be discarded (the purple group on the left). The widget has been used in other contexts, without the cross-section, just to draw curves by simply copying and pasting as many copies as needed of the code cluster and controls. Sometimes it's necessary to set an 'Expression' on inputs such as "-x" to invert Beam/Draft, or "x/2" to get half of 'Beam' (the "width" of the un-mirrored curve).
This obviously isn't all possible shapes but it's a good range of curves defined by:
The main difference between V1 and V2 is the method used to shape the curve. One effect of this difference is that V1 allows concave curves in the cross-section (Fig. 3) while V2 does not.