如何画一小火车在平面上跑?轨迹是不定的,先假设是一段直线加一1/4圆,大家有没有好的思路?
火车要自己画,我先用的长方体代替的,可是再从直线往圆上拐弯时,就不好画了。大家有没有自己做过类似的,问一下大家是怎么画的?我是把长方体分成N小块,从尾擦除一小块补到头上。可是到了拐弯处应该怎么算?
火车要自己画,我先用的长方体代替的,可是再从直线往圆上拐弯时,就不好画了。大家有没有自己做过类似的,问一下大家是怎么画的?我是把长方体分成N小块,从尾擦除一小块补到头上。可是到了拐弯处应该怎么算?
不考虑现实的问题,只考虑模型。地图上有一条线,就想做个小火车在线上跑,有点类似一条小蛇在地上跑一样。关键是做的思路是什么?
我现在的思路是:地图上的线是由点保存的,直线只存两端的点,曲线存两端点,圆心,弧度(没有做过地图不知道这样存数据,是否可行),做一个ActiveX控件(就是小火车),一开始就把线的所有点付给小火车(如果点有成千上万,可以考虑一部分一部分读取),小火车就可以沿着线运动了。
注:小火车是三维的,(因为想做成可以随机冒烟的小火车),在转弯时小火车的车体要有转弯的样子。 请教大家,都有什么思路?
把轨迹表达成,根据时间或者距离提取位置的方式就可以了
比如,直线很简单: 返回点 = 开始点 + 方向 × 距离
圆弧也可以,根据圆心,半径和起始点,终结点计算出弧长和角度之间的对应关系,然后定位圆弧上的位置
当前角度 = 弧长 / 半径 + 起始角度
返回点 = 圆心点 + 半径 * ( cos ( 当前角度), sin(当前角度))