• 0

# Cubic spline control points

## Question

Do you have a tech note describing the method used to plot a Cubic Spline curve when adjacent points on a Polyline are of type Cubic Vertex? If not, can you point me to any published article that describes the model you use? I have Bezier Vertices figured out, and Cubic Vertices figured out when adjacent points are Corner Vertices, but not a succession of Cubic Vertices.

I am trying to figure what implied control points are being used for the cubic formulae.

I guess, while I am asking, I'd also like the model used when Cubic Vertices are flanked by Bezier Vertices.

Thank you,

Raymond

## Recommended Posts

• 0

Raymond,

I've talked to a few people here and none of us quite understand your question.

Can you explain what you are trying to do in a more basic question?

##### Link to post
• 0

Hi Katie,

I am trying to emulate the curves that are generated on screen using the data points that compose a polyline. The points are the ones returned with GetPolylineVertex().

I can replicate Polyline curve segments when the Polyline points are Corner Vertices, Bezier Vertices, Arc Vertices, and Cubic Vertices (if the preceding and following points are Corner points). I am having trouble figuring out how you implement a Polyline curve when it is constructed of a series of Cubic Vertices. Any technical notes you have on its mathematical implementation would be appreciated.

Thank you,

Raymond

##### Link to post
• 0

Raymond, I would suggest doing some searches on "cubic splines" which are a series of of third-order polynomials where each point is a cubic vertex. Your particular problem is going to be developing boundary conditions on either sides of adjacent cubic verticies. Most of the mathematical developments of cubic splines develop "natural" splines by setting their boundary conditions to zero (very general description), you'll have to have non-zero boundary conditions when combining verticies of different types. Try this as a real general start:

Click on the first search result, it discusses the math behind cubic splines and should get you going in the right direction

And maybe take a look as this technical paper in PDF

You can also use the terms "numerical methods" to help you in your online search.

[ 06-07-2004, 05:53 PM: Message edited by: tom kyler ]

##### Link to post
• 0

Hi Tom,

Thanks for your response. I have been GOOGLE-ing a lot and reading everything I can find on cubic splines. Yes, finding the boundary conditions is a good part of the problem I am trying to solve.

In the case where the Polyline points are of types Bezier, Arc or Corner, all the end points and control points for a given Bezier segment of the curve can be ascertained by knowing three points; the Polyline point in question, the Polyline point preceding it and the Polyline point following it.

In the case where those three points are all of type Cubic Vertex, none of the control or end points are obvious, they are all virtual, meaning they must be calculated from the data at hand. I am hoping that NNA will provide a short paper on how they determine the end & control points used to implement the parametric equations for a Bezier (Cubic Spline) curve segment. How many polyline points before and after a cubic vertex are used to calculate the control points for each segment?

When Cubic polyline points are adjusted with the 2D reshape tool, virtual points appear on screen with associated tangent lines. These are the points I am trying to calculate. From my rough drafting, it appears that the virtual point would be equivalent to a Bezier Vertex point and the midpoints between this virtual point and preceding and following ones would correspond to the end points P0 & P3 in the Bezier curve segment model. These three points would be enough for me to calculate the curve between them.

I just need a little more help in seeing what I am missing.

Raymond

##### Link to post
• 0

Raymond, I see your point about VW showing "virtual" points when re-shaping the curve. It's been a real long time since I've developed curves by hand and I'm not 100% sure the purpose behind those virtual points. I suspect those are probably the non-zero boundary points that you need to calcualte. I might be wrong, so I'll look into it a bit and maybe two heads will come up with something.

Tom K

[ 06-08-2004, 07:58 AM: Message edited by: tom kyler ]

## 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.

×   Pasted as rich text.   Restore formatting

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

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

×

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×

• KBASE
• #### MARIONETTE

×
• Create New...