To "tween" means to generate curves that interpolate between given input curves. Often the problem is that the resulting curves overlap. Tweener solves that problem. This Grasshopper and Rhino plugin generates curves that interpolate between:
- either any number of closed planar curves, one of which is the outer one and emcompasses all others (This part of Tweener is called the "planar Tweener" even though there are also functions for extruding the curves to 3D), or between:
- any two arbitrary, not necessarily closed input curves, on any constraint surface given by an input surface brep or surface mesh.
See "mathiasfuchs.com/TweenerExamples" for official examples, and "mathiasfuchs.com/tweenerhelp.html" for the command reference. The resulting output curves are guaranteed not to cross each other or the input curves, no matter how complex your input is. Moreover, they are guaranteed to be smooth and parametrization-independent. The output is either the curves, or a mesh textured according to the tween gradient. Tweener curves are manipulated by their input curves, just the way usual curves are manipulated by their control points. Thus, Tweener can be thought of as introducing another modeling paradigm for curves.
Both the in-built Rhino and Grasshopper tweeners as well as a certain popular Grasshopper plugin don't leave the control-point paradigm for generating tween curves. As a result, the tween curves start to overlap quickly, as soon as the input becomes somewhat complex. In contrast, this package provides a tweening functionality whose emphasis on the mere curves' shapes is entirely independent on how the curve is controlled or parametrized. Since the tween curves don't cut each other or the input curves, Tweener lends itself specifically to applications such as general illustration, typography, 3d printing, layer design, CNC, landscape architecture etc - typically in landscapes, you don't want overhanging cliffs; likewise, a concrete printer usually has difficulties with excessive overhangs. There is a TweenerTopo component that allows to extrude planar tween curves to 3D in order to generate quality landscape isolines, allowing the user to provide an additional "shape" parameter that controls the convexity/concavity of the landscape.
Apart from landscape design, the planar Tweener lends itself for interior design where smooth guard curves steer people along the design language of your given interior - think Ikea, or think of the space between facade and core of a high-rise building.
Tweener is not limited to planar curves or simple extrusions of planar curves: it can tween between any two arbitrary, not necessarily closed curves, if there is a constraint surface as additional input. Tweener pulls the input curves back to the constraint surface and then generates curves between them, on the surface. Again, overlaps are guaranteed not to occur.
Moreover, there is a powerful interactive TweenCurve editing environment that can be reached from the Rhino command line, including a "Fish Eye effect", and a way to drag the curves without disrupting the aesthetic and visual quality! Please watch the "monkey face" video on food4rhino to see what it does, and type "TweenStartExample" command to start an example editing environment.
This is a preview version. After your preview period expires, you can either prolong it, or purchase a Pro Tweener which offers: API access, output to NURBS curve, ability to be called from within scripts, and a high quality remeshing option.
Tweener is part of a series of geometrical finite element applications, aiming at enabling both tech-savvy and novice users to quickly prototype, and web-deploy parametric finite element applications to general geometric problems. Further examples of such applications include heat transfer, image registration, medial axis extraction, Poisson interpolation, and optimal transfer type problems, see "https://mathiasfuchs.com/Tweeners" for more info and examples.
By installing Tweener, you accept the privacy terms in "mathiasfuchs.com/TweenerPrivacy.html". The download version is only for Rhino 7.15 and above on Windows 10 or 11 - but it might also work with prior versions of Rhino, at your own risk. If you experience issue, please try to install the latest version of the .NET Framework 4.8 Runtime (not 4.8.1) from dotnet.microsoft.com/en-us/download/dotnet-framework/net48. If you are on a Mac and need Tweener write me an email, I have a test version available on request.