cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
  • New JMP features coming to desktops everywhere this September. Sign up to learn more at jmp.com/launch.
Choose Language Hide Translation Bar
shampton82
Level VII

Fit a spline to a closed form (in this case an airfoil contour)

Hey everyone,

Is there a way to fit a spline to a shape in graph builder (or any other platform?)  I am trying to fit a spline to a set of X/Y data points that fall on the outside of an airfoil contour. 

 

So here is the data

shampton82_0-1744240425380.png

 

this is what the smoother function currently gives

shampton82_2-1744240584181.png

 

 

and this is what I would want  (the blue fitted line)

shampton82_1-1744240468140.png

If I turn on the contour plot and have a value to put into color then the boundary line of the contour plot gets pretty close but it appears to be a linear fit between each point, which works pretty well when there is good hit density, not so much for lower hit densities.  Also, it is very sensitive to the alpha value so is taking a lot of tweaking for each vane.

shampton82_3-1744240872121.png

shampton82_4-1744241201304.png

 

 

This can currently be done in Solidworks (a CAD program) but it is SO slow to do it with how you have to bring in the data.

 

I'm thinking this would have to be a wish list item but not sure if someone could come up with something creative!

 

Thanks for any ideas!

 

Steve

1 ACCEPTED SOLUTION

Accepted Solutions
shampton82
Level VII

Re: Fit a spline to a closed form (in this case an airfoil countour)

@Craige_Hales 

You ROCK!  This link

https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257852#M50666

had this buried in it and it works great!  I'm still going to try and learn the JSL way as well but this gets me what I need in the short term.  Thanks again!!

 

shampton82_0-1744255754469.png

 

Steve

 

View solution in original post

2 REPLIES 2
Craige_Hales
Super User

Re: Fit a spline to a closed form (in this case an airfoil countour)

Not sure if there is a platform, but you can do it in JSL. Make a table of the x and y values, and a t value that might be the row number, or maybe just a linear 0...1 over the range of the data. Then use SplineEval with x,t to generate a bunch of smoothed x and repeat with y,t to make the smoothed y values.

Integrate(), Interpolate(), and SplineEval() 

Understanding cubic splines 

HeatColor vs Spline vs Interpolate 

Bezier interpolation 

Generate points from Bezier path 

Bezier Tree using Path() 

https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257852#M50666

A 2D spline is a parametric curve using t as the parameter and a pair of formulas (spline eval) that produce the interpolated answer for between values of t.

JMP also has a path() function for graphic scripts that has an SVG-like bezier command.

Splines don't go through the points. Bezier path does go through the non-control points. I suspect you want a spline.

Craige
shampton82
Level VII

Re: Fit a spline to a closed form (in this case an airfoil countour)

@Craige_Hales 

You ROCK!  This link

https://community.jmp.com/t5/Discussions/Bezier-interpolation/m-p/257852#M50666

had this buried in it and it works great!  I'm still going to try and learn the JSL way as well but this gets me what I need in the short term.  Thanks again!!

 

shampton82_0-1744255754469.png

 

Steve

 

Recommended Articles