如何使用C++将曲线重新采样为等长段?我有一组表示2D曲线的点。在下面的示例中,我有一个带有x和y分量的点结构体和一个包含测试位置的点向量。每对点表示曲线上的一个段落。重新采样曲线的示例如下所示。红色圆圈是原始位置,绿色圆圈是重新采样后的目标位置。
struct Point
{
float x, y;
};
std::vector<Point> Points;
int numPoints = 5;
float positions[] = {
0.0350462, -0.0589667,
0.0688311, 0.240896,
0.067369, 0.557199,
-0.024258, 0.715255,
0.0533231, 0.948694,
};
// Add points
int offset = 2;
for (int i =0; i < numPoints; i++)
{
offset = i * 2;
Point pt;
pt.x = positions[offset];
pt.y = positions[offset+1];
Points.push_back(pt);
}