我使用vc开发Mapx,想在一个图层上表现出飞机的航线,需要使航线从一个点到另一个点动态的表现出来,就好像模拟飞机飞过一样,请高手指点一二,如果有关键的代码附上更是感激涕零,小弟的邮箱为:[email protected],多谢各位高手啦。
------解决方案--------------------
在两个点之间做个插值,设定飞行时间,然后就是点的移动过程,做出一个轨迹线!插值点的计算就靠你自己了!我知道有些三维产品的飞行效果是这么个思路弄出来的!
------解决方案--------------------
分给的够高了,航线形成根据两点形成开角函数,因为移动中的X,Y需要根据两点计算.
你这是毕业设计吧
[email protected]
------解决方案--------------------
楼主想要实现的应该是航迹平滑吧 如果不需要平滑的话 那就直接用直线连接两点不就可以了么? 既然要有中间的过程那就需要有一定的规则来描述中间点到底应该怎么插入进入。
理论上应该是插值算法也可以使用B样条等平滑算法。 编程上去实现可以去参考一下GDI+里面的Curve曲线(好像是基本样条曲线)。 如果能找到直接的插值算法那当然好了
找不到就用GDI+试试。
------解决方案--------------------
gx(n) = gx(n-1)+v(n-1)*cos(d(n-1)
gy(n) = gy(n-1)+v(n-1)*sin(d(n-1)
gx(n),gy(n)表示预测点坐标
v(n-1)是根据上面的记录得到的瞬时速度
d(n-1)是指上一点的行进方向。
对于拐角处的奇异点可能会造成插值不正确:)