如何绘制近似于原始曲线的曲线

How to draw a curve approximated to original one

本文关键字:曲线 原始 于原始 何绘制 绘制      更新时间:2023-10-16

我有一组点,我想画一条曲线,它应该近似于原始曲线。
假设,在鹰眼系统(用于板球)中,我在整个球的飞行过程中都有一组球的坐标,现在我如何绘制这样一条穿过球的空间坐标并恰如其分地混合到原始曲线的曲线
我认为一种方法是获得大量积分,以便每两点
彼此非常接近,然后在它们之间画出一条直线光

曲线几乎总是分四个步骤呈现:

  1. 使用曲线或样条算法近似或插值一组点。选择可能包括:

    • 三次样条曲线,穿过所有数据点并产生平滑曲线
    • 贝塞尔曲线,它不穿过所有点,但位于围绕每个曲线部分的连续 4 个点组的包络内。
    • Hermite 曲线,由一组点和一组切向量定义:您需要以某种方式生成一组切向量才能使用这种曲线。
    • (可能还有更多我已经忘记了)
  2. 您选择的任何表示转换为贝塞尔曲线:这可以通过从其他曲线类型进行简单的矩阵变换来实现。

  3. 反复细分贝塞尔曲线:控制点趋向于近似曲线。

  4. 绘制由直线连接的细分曲线的控制点。

如果你直接进入贝塞尔曲线,这可能是最简单的,那么有一些非常简单和优雅的方法来细分它。

我强烈推荐Catmull-Rom样条用于此目的,它们基于Hermite曲线。 它不使用 2 个点和 2 个切线,而是使用四个相邻的数据点进行插值,使其更适合/更简单的运动路径上采样。