| Arc length reparameterization of a curve |
 |
| Tom Bobach |
2005/02/10 13:10 |
Hi everyone,
I am currently confronted with the task of splitting a curve in two parts of equal arc length. Is there any native OpenCascade functionality that can help me in this? I just found the topic http://www.opencascade.org/org/forum/thread_4351/ which shows me how to get the actual length of a curve, but I can see no way of finding the point that splits my curve in two like I said.
Thank you in advance for your help!
Regards, Tom |
 |
| |
 | | Roman Lygin |
2005/02/22 22:22 |
Hi Tom,
Consider use of GCPnts_AbscissaPoint, for example:
Adaptor3d_Curve AC = …;
GCPnts_AbscissaPoint anAP (AC, GCPnts_AbscissaPoint::Length(AC) / 2, AC.FirstParameter());
gp_Pnt aPnt = AC.Value (anAP.Parameter());
HTH.
Roman
|
 |
| |
 | | Mauro Mariotti |
2012/01/31 19:27 |
Hi Roman and all,
the title (not the body) of this topic is just what I need: given a Geom_Curve, creating a new one which is arc-length parameterized and approximates it with a given tolerance.
A solution would be to define an AdvApprox_EvaluatorFunction, which calls GCPnts_AbscissaPoint at every evaluation,
and pass it to AdvApprox_ApproxAFunction, but this would be extremely slow, I guess.
I wonder if there is something ready.
Regards.
Mauro
|
 |
| |
 | | Mauro Mariotti |
2012/02/01 15:36 |
Maybe I have found it:
Approx_CurvilinearParameter,
"approximation of a Curve to make its parameter be its curvilinear abscissa"
|
 |
| |
 | | jelle |
2012/02/01 15:57 |
| Iterating over the GCPnts_AbscissaPoint results would give you the parameters at the given curve length, just use those to make a number of Geom_TrimmedCurve's? |
 |
| | | |