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

Tar*_*run 3 c++ opengl 3d

我有一组点,我想绘制一条应该近似于原始曲线的曲线.
比方说,在鹰眼系统(用于板球)中,我在球的整个飞行过程中都有一套球的坐标,现在我怎样才能画出这样一条穿过球的空间坐标并且看起来与原始曲线不同的曲线
一种方法,我认为它得到大量的点,使每两个点
彼此非常接近,然后在它们之间画一个直的光

Jam*_*mes 5

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

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

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

  3. 重复细分 Bézier曲线:控制点倾向于近似曲线.

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

如果你直奔Bézier曲线,这可能是最简单的,那么有一些非常简单而优雅的细分方法.