F-Spline Grasshopper

I made my thesis in a parametric design software dedicated to ships and I want to try to make the same model but in Grasshopper.

For that, I was wondering if there is any way to build a planar F-Spline curve…


@sanches.filipa What is an F-Spline? Are there any online references about F-Splines?

It is a type of spline used in FRIENDSHIP (CAESES), where it is possible to define the start and ending point, the tangents on that point and the area below the curve (as the integral for a function)

Do you know of any references which discuss the mathematics of the F-Spline? I looked at the FRIENDSHIP/CAESES website and could not find additional information.

The F-Spline sounds like a method to determine the coefficients/control points of a planar Bezier curve / single span B-Spline. However to uniquely determine such a curve would need an additional constraint/condition.

I think that it is someting specific from the software.

There is any way of doing a curve with two points and their specific tangents that could be used?

I try bi-arc and it was a mess

Yes. A single span degree 3 NURBS curve has four control points. For open B-splines the end points are the same as the first and last control points, and the tangent direction at the ends are the same as the directions from the first to second control point and from the last to next to last control point. The distance between the first and second control points, and between the next to last and last control points controls how full the curve is at the ends.

A good resource for learning about NURBS and how geometry works in Rhino is Essential Mathematics for Computational Design by Rajaa Issa which is availble for free at https://developer.rhino3d.com/guides/general/essential-mathematics/

Another which may be helpful and can be downloaded for free include:

1 Like

Thanks for the references :wink:

I already know this from my thesis, but still, I am going to have a look. My doubt is more what “function”/“command” it is best to use in Grashopper to build a planar curve knowing only the start and end point and the tangent angle on those points…

bezier-span.gh (11.6 KB)

I followed this thread since the start and still I don’t understand what you want…

1 Like

Thanks Ricardo, very useful

Imagine that we want that Bezier inside a rectangle, or like a second-degree curve… There is any way to do it?

(sorry, I am a beginner with GH and I am still figuring out what is possible to do…)

Please be more specific.
“inside a rectangle” we can fit any bezier curve…

Ok, you are beginner with GH, but you can use something else to explain yourself.
Make a sketch on a piece of paper.

What is the context? Why you need it “inside a rectangle”?

Maybe you mean this , which used in Sketchup? if yes; this is a term from the developer.


Since there is still no sketch, here is my interpretation of what @sanches.filipa meant, using galapagos for now, as figuring out the math on an undefined problem is cumbersome:

I only know the points A and B, and the angle A’ and B’, and the area below the curve…


Use Nurbs or play with other spline components available

bezier-area.gh (29.4 KB)

At first I thought about galapagos, but…

Probably knowing better the properties and construction of NURBS would have made possible a direct math method instead of this.


Hi Ricardo,

It is exactly that that I need!

I am going to read more about nurbs and commands on GH that could made that easier

Hi Ricardo, what are the add ons the you used on that model?

Eh… I didn’t want to use any.
Can you post a screenshot about how it is on your pc when you open it?