具有Bezier曲线的简单二维平面轨迹

时间:2012-01-09 12:15:54

标签: math bezier

你好,新年快乐!

让我从严格的事实开始,而不是在这里写下整个场景。

enter image description here

这就是我的

  • 2D空间(X,Y)中的平面
  • 此平面必须在2D空间(X,Y)中飞行的目的地
  • 贝塞尔曲线类,从4个点(A,B,C,D)生成贝塞尔曲索

这就是我需要做的事情

  • 当用户点击X'中的空格时,我需要生成贝塞尔曲线 这架飞机飞到那里。

这些是一些假设

  • 众所周知,飞机不能在一个地方旋转,必须做一些小转弯
  • 众所周知,当目的地位于飞机前方时,它不会转弯

  • Bezier曲线必须从4个点计算

  • A点=实际飞机位置
  • 点B =实际平面位置+实际平面方向* 2(因此它向前移动了一点?)
  • 点C =需要计算
  • 点D =飞机目的地

以下是几种情景:

enter image description here

enter image description here

enter image description here

问题

  • 我如何计算这个贝塞尔曲线,我已经有了点A,D但是我需要那些B,C来使这个转弯正确。

  • 我怎样才能描述这个bezier,以便让我们说planeA的转弯比planeB小?

我几乎拥有它,但在这种情况下几乎没有任何意义,所以我最好在你的帮助下重写它。

感谢您对此提供任何帮助,我对此感到头疼,并发现我想的并不是那么容易......或者?

1 个答案:

答案 0 :(得分:0)

您描述的B点(“实际平面位置+实际平面方向”)可以很好地工作。当飞机开始转弯时,沿着飞机方向走多远就会调整。

对于C点,将其设置为与D点(目的地)相同将非常有效。

至于转弯率,我不确定你是否会使用(立方)贝塞尔曲线得到很多控制。它们都是关于位置和方向的,没有任何东西可以调整二阶曲率。调整B点可能是一个很好的折衷方案,但它更多地调整反应时间和路径,而不是转向率。