private void FillCatmullRom(List <Vector3> srcPoints, List <Vector3> dstPoints, int slices, bool loop) { Assert.IsTrue(srcPoints.Count >= 4, "Not enough source points"); Assert.IsTrue(slices > 0, "Not enough slices"); var sliceTime = 1f / slices; for (int i = 1; i < srcPoints.Count - 2; i++) { for (int j = 0; j <= slices; j++) { var t = sliceTime * j; var p = VectorHelper.CatmullRom(t, srcPoints[i - 1], srcPoints[i], srcPoints[i + 1], srcPoints[i + 2]); dstPoints.Add(p); } } }