What is the easiest way to create a wave pattern?


There are primitives to create helixes and spirals but I don’t see one for creating waves. How would one create a wave pattern like a sine wave for instance?

(David Cockey) #2

Create a one wavelength curve.
Use Array to repeat the curve as many times as desired, spacing is length of one wavelength curve
Join the curves into a polycurve. For a single curve use Match with merge option on adjacent curve ends.

Two methods for an “exact” sine wave cuve:

  1. Generate a set of x,y points in Excel or similar for the sine wave; save as a .csv or .txt file; import points into Rhino; create a curve through the points using CurveThroughPt

  2. Create a circle; use Divide to create set of equally spaced points on circle; move points so that they are at equal spacing along X-axis; create a curve through the points using CurveThroughPt

Edit: If points are generated for a single wave length curve, then Array can be used to create a set of points for as many wavelengths as desired. Follow with CurveThroughPt.

(Marc Gibeault) #3

With this plug-in:
You can create curves and surfaces from mathematical equations.

(Dale Fugier) #4

Here is a script that make a “sine wave” surface:

(Chris) #5

I create a helix and then project the helix to c plane. I don’t know if this yields a mathematically pure sine wave but it seems to work well enough for my purposes and does not require scripting or Grasshopper.

(David Cockey) #6

Good method. If the helix is not tapered, and the axis of the helix is parallel to the CPlane, than the projection of the helix onto the CPlane will be a “pure” sine wave, within deviation from an exact sine wave due to the NURBS approximation of the helix.