Vector3f DDUtil::catmullRom(Vector3f P0, Vector3f P1, Vector3f P2, Vector3f P3, float t)
{
float factor = 0.5;
Vector3f c0 = P1;
Vector3f c1 = (P2 - P0) * factor;
Vector3f c2 = (P2 - P1) * 3.f - (P3 - P1) * factor - (P2 - P0)* 2.f * factor ;
Vector3f c3 = (P2 - P1) * -2.f + (P3 - P1) * factor + (P2 - P0) * factor;
Vector3f curvePoint = c3 * t * t * t + c2 * t * t + c1 * t + c0;
return curvePoint;
}
CatmullRom插值算法
最新推荐文章于 2025-07-08 16:56:26 发布
