*On 21/11/2009 at 02:31, xxxxxxxx wrote:*

User Information:

Cinema 4D Version:

Platform:

Language(s) : C++ ;

---------

Hi,

I need to get sth done but im not sure about tzhe best approach, as i dont have so much experience with splines actually.

Here's the problem:

Imagine you have some arbitrary spline and you want everything beyond a certain X-value to be flat, just like you booled it with an rectangle, that came in from the side.

My first idea was to use the built-in GetPosition(t) and GetTangent(t) function which would give me a vector position and a tangent for that position on the spline, in regards to its length (t: 0->1.0).

The problem is though i dont have that 't' value. all i have is an x-value like, everything beyond x=20.0 should be flat.

What i need is all points on the spline, that have x=20.0 *and* the tangents of those points.

Any ideas how to do that ?

Maybe the SplineHelp class can help there, but it looks like all important functions work on the length of the spline exclusively.

thanks,

Daniel

*On 25/11/2009 at 04:02, xxxxxxxx wrote:*

Hi,

i narrowed it down a little, by finding the indices of the SplineObject points[] , between which the point lies that i need.

I can probbaly compute the t-value of those indices that are before and after the point i need, by computing splineLength, length up to the index, and using uniformToNatural.

But where to go from there.. ?

I'll probably just try some recursive approximation with an epsilon for biggest error, if i cant figure out anything better.

I wonder how the spline intersection points of the Mograph SplineBoole get computed, as this is more or less the same problem..

]]>