Jump to content

Easy NURB approximation of a cycloid


Joey Naeger
 Share

Recommended Posts

I recently went down a rabbit hole modeling a bass top in Rhino. This involved writing an algorithm to generate a series of points through which curtate cycloids could be drawn. While this method worked, it was complicated to figure out and I noticed that the curves generated through this method weren't actually that smooth. Here's an example

Cycloid1.jpg.fb7181d0a18ea701cc1762cd6c71ccbf.jpg

It's a nice looking curve until I turn on the curvature graph tool.

Cycloid2.jpg.3633c9968dbcd0013df8cd5267d86f53.jpg

It's not bad, but it could be smoother. Since I'm not actually attached to the Cycloid, I had the idea that maybe I could closely approximate it with a simpler, smoother curve. What I came up with is very simple. Layout your horizontal distance from the top and bottom of the curve. Divide the top one in half and the bottom in 4th's. Draw a 3 degree line between the endpoints.

Cycloid3.jpg.ed8a5e9007bb4b28b276d01bc2ac771d.jpg

Move the control points like so

Cycloid4.jpg.1682393d555e034c4ef1075be95600c7.jpg

It's not an exact match, but it's damn close. If we look at it through the curvature graph, it shows a much smoother curvature.

Cycloid5.jpg.e3cd9c60282f3ebd771ddc907502adb0.jpg

If the whole point of using Cycloids is to generate a smooth curve that's convex for most of its length and concave near the end, this seems to fit the bill as well. The software will also be a lot happier with surfaces generated from this type of curve than the strictly drawn cycloid. I wanted to use the simplest divisions possible to generate this example, but it would be more than possible to move the inflection point around by changing the ratios used to place the control points. I hope this is helpful!

Link to comment
Share on other sites

18 hours ago, Joey Naeger said:

If the whole point of using Cycloids is to generate a smooth curve that's convex for most of its length and concave near the end, this seems to fit the bill as well. 

You could also use 2-point splines, with horizontal constraints at the ends.  At least in Fusion360 CAD, they are very easy to use and push the inflection point around to suit, and they are by nature extremely smooth.

While extreme smoothness may be pleasing to some eyes, there is no assurance that the acoustics of a super-smooth arch will give the desired tonal result, particularly for the top, and particularly for the longitudinal arch.  I don't have any conclusive evidence one way or the other, just my own opinion from observations of good violin arches and my own results.

I have used 2-point splines for the crossarches and back long arch of a couple of violas and a violin (but not the long arch of the top), and I think the results are fine... but the shape isn't exactly what I want (too smooth) and will be using more complex, less-smooth arches in later designs.

Link to comment
Share on other sites

6 hours ago, Don Noon said:

While extreme smoothness may be pleasing to some eyes, there is no assurance that the acoustics of a super-smooth arch will give the desired tonal result, particularly for the top, and particularly for the longitudinal arch.  I don't have any conclusive evidence one way or the other, just my own opinion from observations of good violin arches and my own results.

And, there is what you set out to carve and what your hands and eyes actually do. As always, I appreciate your input Don

Link to comment
Share on other sites

 

Great to meet a fellow traveler in Rhino Land. 

I have spent the last 4 months transitioning to Rhino from several other Cad Aps that have become too expensive to maintain in retirement.

Judging from your website, I interpret that you also find that exploring violin geometry with cad can clarify complex issues.

In what language did you program your cycloid?

 

To show that Rhino can indeed draw a smooth cycloid, here's a screen shot of my implementation of a curtate cycloid in Rhino’s Grasshopper Language (red points). The program also draws an interpolated or through-points spline (green).

This is a somewhat back-handed procedure as first the small number of discreet points are calculated from a continuous function and then a nurbs curve is fit to those points by a separate hidden algorithm. 

The vertical red lines mark the high and low points of the cycloid as well as the inflection points which were calculated separately from the curvature graph function but show good agreement.

In this image, the cycloid rolls through the right-hand endpoint on its way to infinity. The starting point on the left has been constrained to horizontal.

 

My primary interest was to explore the behavior of the curtate cycloid and inflection points near the plate ends as the center arch varied from bulbous to slack.  One instance, a little bulbous, is shown in the second image. This program version takes widths from a traced outline of the Plowden and heights from a variable nurbs center arch curve—similar in conception to your cross sections. Just to show off, 100 cycloid sections are shown. Parameters are varied by numerical sliders.CurtateCycloidGrassHop.thumb.png.d0e3e35dced9fc3d5c08b4ca246b8e9b.png100curtateSectionSurf.thumb.png.f897689285e5536a8a955eea4720d179.png

Link to comment
Share on other sites

Great to see someone working things out in Rhino! There's probably been some overlap in our methods. I also wrote a Grasshopper script to draw my Cycloids. You input your long arch and recurve boundary and it generates all the points. I put in sliders so you could play around with point density. Probably my curve from the first post would have been smoother had I constructed it with more points. Now that I've discovered this easier hack, I will probably write another script based on that. 

received_805833414150731.thumb.jpg.3f8926dc795a7f7f4b7743ba189721c1.jpg

After much experimenting, I was able to model this fully solid bass top. It's been quite an enlightening exercise, and I was able to use the model to produce some contour templates to assist in my carving.

TopOutside.jpg.a9037e004626b07f10215a712378a324.jpg

Link to comment
Share on other sites

  • 2 months later...

Hello, Mr. Nigel. I'm a violin manufacturer. I'm very interested in you using the grasshopper script to draw cycloids. I hope I can get your detailed guidance. thank you!

received_805833414150731.jpg.da922b2ac74bea496c574f3403c89cc2.jpg

Edited by quyunyu
Language switching
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.


×
×
  • Create New...