如何构建智能贝塞尔曲线?

时间:2014-04-18 14:23:00

标签: bezier

演示图片:http://i.picpar.com/bzH.png

我想建立一个像这样的智能贝塞尔曲线。地图中有100个目标(网格)。我知道源点(Rocket)和目标点(Grid)。如何计算两个控制点来构建一条不能穿越蓝色地图的漂亮的贝塞尔曲线?

1 个答案:

答案 0 :(得分:0)

找到曲线bounding box,然后检查它是否包含在蓝色地图矩形中。如果它分别在移动控制点之外。

假设您首次尝试使用三次贝塞尔曲线(4个控制点)您可以设置曲线控制点的一些默认坐标:

P1(p0.x-10,p0.y + 10)

P2(p3.x-10,p3.y + 10)

我不知道您正在使用哪种语言/库,但它可能具有Rectangle.Contains(Bezier.BoundingBox)函数,这可能会使事情变得更容易。