
Wed, 06/30/2010 - 22:30
Dear forum members,
I tried curve interpolation with and without setting the end derivatives (vector is generated with the first/last point and its neighbor point). The blue curve without derivatives looks fine, in case of derivative prescription a self-intersection happens at the end due to the "high velocity" of the curve. Any ideas what the reasons are and how to handle this?
I used the following code:
Handle_Geom_BSplineCurve
SplineFunc::curveInterpolation(TColgp_HSequenceOfPnt * arrayIn)
{
int i;
TColgp_HArray1OfPnt *array = new TColgp_HArray1OfPnt(1, arrayIn->Length()); // sizing harray
for (i=1; iLength(); i++)
array->SetValue(i , arrayIn->Value(i));
GeomAPI_Interpolate anInterpolation(array, /* Periodicity */Standard_False, /* Precision */ Precision::Approximation());
gp_Vec vecStart(array->Value(1), array->Value(2));
gp_Vec vecEnd(array->Value(arrayIn->Length()-1), array->Value(arrayIn->Length()));
// Start and End derivatives
anInterpolation.Load(vecStart, vecEnd, 1);
anInterpolation.Perform();
return anInterpolation.Curve();
}
Mon, 07/05/2010 - 23:51
Dear forum members,
is there any possibility to set tangency as well as curvature at the begin and end of an interpolating curve?
I am thinking about two applications:
- Better results with the tangency constraint by a better adjustment of the vector magnitude (the attached figure explains the problem)
- Connecting different curves with C2-continuity - is there any method available in OCC which already provides this functionality?
Thanks for any help!