Math 具有贝塞尔曲线的简单二维平面轨迹
你好,新年快乐 让我从严格的事实开始,而不是在这里写整个场景 这就是我所拥有的:Math 具有贝塞尔曲线的简单二维平面轨迹,math,bezier,Math,Bezier,你好,新年快乐 让我从严格的事实开始,而不是在这里写整个场景 这就是我所拥有的: 二维空间中的平面(X,Y) 此飞机必须在二维空间(X,Y)中飞行到的目的地 从4个点(A、B、C、D)生成贝塞尔曲线的贝塞尔曲线类 这就是我需要做的: 当用户单击X',Y'中的空间时,我需要生成一条贝塞尔曲线 让这架飞机飞到那里 以下是一些假设: 众所周知,飞机不能在一个地方旋转,它必须做一些最小的转弯 众所周知,当目的地在飞机前面时,它不会转弯 贝塞尔曲线必须从4个点计算,其中 点A=实际平面位置 点
- 二维空间中的平面(X,Y)
- 此飞机必须在二维空间(X,Y)中飞行到的目的地
- 从4个点(A、B、C、D)生成贝塞尔曲线的贝塞尔曲线类
- 当用户单击X',Y'中的空间时,我需要生成一条贝塞尔曲线 让这架飞机飞到那里
- 众所周知,飞机不能在一个地方旋转,它必须做一些最小的转弯
- 众所周知,当目的地在飞机前面时,它不会转弯
- 贝塞尔曲线必须从4个点计算,其中
- 点A=实际平面位置
- 点B=实际平面位置+实际平面方向*2(所以它向前一点?)
- C点=需要计算
- 点D=平面目的地
- 如何计算这条贝塞尔曲线,我已经有了点A,D,但我需要这些B,C来使这条曲线正确
- 我如何描述这个贝塞尔曲线,让我们假设planeA的转弯比planeB小
谢谢你在这方面的任何帮助,我正在抓挠我的头,发现这不是我想的那么容易。。。还是 您描述的点B(“实际平面位置+实际平面方向”)将非常有效。当平面开始转弯时,将调整沿平面方向走多远 对于点C,将其设置为与点D(目的地)相同将非常有效
至于转弯速度,我不确定你是否能用(三次)贝塞尔曲线得到更多的控制。它们都是关于位置和方向的,没有任何东西可以调整二阶曲率。调整点B可能是一个很好的折衷方案,但它更多地是调整反应时间和路径,而不是调整转弯速度。是的,但如果我在飞机正后方单击,这仍然不起作用-它将在到达B后在一个位置转弯,然后继续转到C(即D)。古德,这是一门火箭科学吗?你是想用贝塞尔曲线做这件事的人。在我看来,这将变得非常棘手,难以应付所有的案件,也就是说,这可能会使事情变得更难,而不是更容易。也许你可以从飞机最佳转弯速度的圆圈开始,然后是一条直线,当你指向正确的方向时。好的,我会用另一种方法,只计算到目的地的角度,旋转我的飞机,直到它的角度+-等于目的地的角度,然后朝这个方向飞行。发现贝塞尔把这个简单的游戏复杂化了。。