为了账号安全,请及时绑定邮箱和手机立即绑定

将 alpha 添加到 Catmull-Rom

将 alpha 添加到 Catmull-Rom

C#
红颜莎娜 2021-07-08 14:01:41
我正在尝试从 Unity 中的点列表生成 Catmull-Rom 曲线。因为我不想在曲线的点之间存储点,所以我选择使用一种可以根据时间计算 Catmull-Rom 曲线中位置的解决方案。这里和这里有一些这样的例子,但是,它们都没有展示如何实现 alpha。我想要实现 alpha 的原因是我可以有能力在向心、弦和均匀的 Catmull-Rom 曲线之间切换。private Vector3 GetCatmullRomPosition(float t, Vector3 p0, Vector3 p1,                                      Vector3 p2, Vector3 p3, float alpha){    Vector3 a = 2f * p1;    Vector3 b = p2 - p0;    Vector3 c = 2f * p0 - 5f * p1 + 4f * p2 - p3;    Vector3 d = -p0 + 3f * p1 - 3f * p2 + p3;    return 0.5f * (a + (b * t) + (c * t * t) + (d * t * t * t));}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信