Hyperellipse functions in board design

I would like to share a fun little project that I have been working on lately.

The thing that has bugs me about all of the major board design applications out there is the fact that they all use splines to define the curves of a board. Splines are great for defining any shape under the Sun, but they are just too complicated IMO. You always have to start out from some predefined template, and modify it from there. If you want to change something you can’t really quantify the change. You just click and drag until you think it looks right.

I have been mulling over an idea of a way to create a set of templet’s for a HWS style board. I’m going to apply this technique to my next project. I’m currently in the process of designing the ribs for the internal skeleton, and was thinking about how to do it. At first I was thinking about using parabolas, and posted a question on PysicsForums.com. Here is a link to my post: http://www.physicsforums.com/showthread.php?t=243453. Someone gave me a suggestion to try the hyperellipse function instead. This simplified the problem a lot, and I got to work writing a Perl script to automatically generate cross section templates using hyperellipses.

The hyperellipse is a type of superellipse. You can read more about it here: http://en.wikipedia.org/wiki/Superellipse

Here is a graph that shows you the general concept.

The blue curve on the top is one half of a hyperellipse that defines the deck of the board. The orange curve on the bottom is half of another hypereillipse of the same width.

Here are the parameters that I used to defined the above shape.

  1. Width of the cross section: 20 inches

  2. Thickness of the cross section: 3 inches

  3. % of total thickness from deck: 70%

  4. Curvature constant for the deck: 3.5

  5. Curvature constant for the hull: 5

That’s it! Five parameters is all it takes to define the shape of a cross section. I think that the shapes produced by this function are very well suited for rail, deck, and hull design. The area where it isn’t so good is if you want to add V to the bottom or concaves. I don’t really see that as a drawback, though. You can always hand shape those features into the board. I don’t think this will ever replace spines in any of the major board design applications for machine shaping purposes. I am just interested in creating templates, and this is plenty useful for that.

Attached is a sample PDF template that I created with the Perl script that I wrote.

p.s., I have already finished my rocker and board profile temples based upon another Perl script that I wrote a while ago. This post is meant to cover the cross section design. I’ll provide details for that other stuff later.

Here is a link to a cool applet that lets you explore the different shapes available from a superellipse.

http://www.activeart.de/dim-shops/training/SuperEllipse/

Quote:

Here is a link to a cool applet that lets you explore the different shapes available from a superellipse.

http://www.activeart.de/…aining/SuperEllipse/

What I find interesting is how you can approximate the superellipse for n from 1 to ~10 with a bezier curve by adjusting the length of the tangent. Even the range 0-1 can be approximated by flipping the tangents. A bit of a surprise as the bezier is a 3rd order function while the super ellipse is an 12th order function if wikipedia is right.

This Applet reminds me of the old DatDesigner98… The cross-sections were designed in a similar way… With ScrollBars as well…

Quote:

What I find interesting is how you can approximate the superellipse for n from 1 to ~10 with a bezier curve by adjusting the length of the tangent. Even the range 0-1 can be approximated by flipping the tangents.

That is kind of my point. Bezier curves are a lot more versatile than super/hyper ellipses, however you need to do things like adjust the the lengths and angles of tangent lines. It is hard to comprehend the significance of such changes. You need to move the mouse around until you find a combination that looks right. It isn’t really quantifiable from a practical perspective.

The parameters that go into defining a hyperellipse are pretty state forward, and easily understood by the non mathemetitian.

Here is the equation for the Superellipse. There are three parameters that need to be defined: a, b, and n

abs(x/a)^n + abs(y/b)^n = 1

a = The width

b = The thickness

n = The amount of curvature

  n = 2 (thin rails and lots of crown) 

  n = 10 (Boxy triple cheeseburger rails) 

I realize that you loose a lot of freedom by using hyperellipses vs. Bezier curves. In my case that is okay. I’m just messing around, and this seems to be an elegant solution.