algorithmic modeling for Rhino

I decided to kick things off with a basic script- that I used in a seminar I taught- it helped beginners learn the idea of functions parametrics and its relationship to math/logic.

How do you make a sine wave?

Make a sine (cos, tan, etc.) curve who’s length, amplitude and frequency are controlled by sliders. 

Views: 13833

Replies to This Discussion

Here's mine using only Native Grasshopper Components


Also a Script version.

I was trying to achieve it with a "For Each item in t" approach but failed miserably so I'm looking forward to any submissions along those lines.  


What sine wave really is...


Should have applied earlier, so my version wouldn't look like a ripoff of yours :D

Considering Rhino accepts 4 CPs for a circle to be a valid approximation, a sample every pi/2 should be enough. My version doesn't have phase control and length is guantized to quarter wavelenghts.... and start and end tangency needs fixing.


Beside - who will tell is drawing an exact sine wave is even possible with b-spline (low amount of control point is a must - 4-12)

Great Responses. 

Danny- you win for most elegant from a scripting component

Mateusz- You definitely have the most creative interpretation. 

The “solution” I had presented was most like Danny’s. However the formula i used is: F=(sin(x*y*pi)).


There are three versions of the same script. As you look below you will notice how the script goes from using a small kit of nodes used repetitively to simply to using a more streamlined logic.

To some fun I decided to have.



Nice. Any suggestions for making compounded sin waves, like an oscilloscope records when multiple piano keys are pressed?

Here's a file of the Variable Sine Curve described above, Benjamin.

Sorry its a bit late, I just figured it could be used in the future by someone searching for a similar technique..


...and how do you make a non- sinusoidal periodic waveform ? ( Square, Triangle, Sawtooth )






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service