Thursday, December 15, 2016

Parametric Surfaces in Rhino via the Math Plug-In

The Math Plug-In is the excellent work of Jess Maertterer (here's his web site). The plug-in calculates smooth curves and surfaces based on parametric equations.

You can download it here: Math Plug-In. Note: When you install the plug-in you'll need to Unblock it first.

Commands

Once installed there are a few new Rhino commands you have available:
  • MathLibrary
  • MathCurve
  • MathSurface
  • MathEditObject
  • MathSaveObject

MathLibrary

This brings up a dialog to let you select from some pre-defined surfaces, or those you've added to the library with MathSaveObject (see below). You can choose from a curve or surface library.

When you click on an image it brings up an editor to let you see the functions, min and max u and v values, and the point counts in u and v.

When you press OK it creates that object. You can always edit the object using the MathEditObject command.

MathCurve

Brings up the interface to let you define a curve using functions.

MathSurface

Brings up the interface to let you define a surface using functions.

MathEditObject

Ask you to select a math object. Once you do you can edit its definition again. After you hit OK it is updated.

MathSaveObject

This lets you save an object so it appears in the curve or surface library.

Function Reference

The functions you can use are referenced here:

Pasta Surfaces!

I had some fun with this plug-in in conjunction with a book on the mathematics of various pasta shapes: Pasta by Design. The book gives the equations and limits for many forms of pasta. The formulas can be entered into the Math Plug-In. The only change you need to make is to substitute the variable name 'u' for 'i' and 'v' for 'j'. Also, make sure you use enough steps in U and V. The defaults are low and you'll likely need higher values.

Here's a spiral shaped pasta known as Buccoli:

Because it is a Rhino surface you can do all the things you can usually do - solidify, panelize, cytoskeleton, etc.

No comments:

Post a Comment