左/右转后确定在一条线上行进的方向?

时间:2013-12-18 19:16:05

标签: c++

我正在创建一个2D游戏,汽车沿着交叉的道路行驶。给车辆一个转弯命令列表(例如:左,左,右,左)。当他们到达十字路口时,他们应该根据当前命令左转或右转,然后沿着那条路行驶,直到他们到达下一个十字路口。注意:道路可以以任何角度相交,而不仅仅是直角。

汽车有位置,速度,指挥,当前道路,下一条道路和方向(前进/后退)。

考虑到当前的道路,方向和左/右命令,我无法确定车辆在转弯后应该走向下一条道路的哪个方向。如何设置它的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

答案:

将当前道路上的方向标准化为0度。然后,如果汽车右转,新的道路线段将从0到180.如果是左侧,新的道路段将从180到360.

答案 1 :(得分:0)

你可以使用trig吗?例如,如果你要去北方,你可以说你的方向是90度,因此你的单位向量是(0,1)。

如果你右转

angle -= 90;

angle += 90;

然后你的方向向量就是

x_component = cos(angle);
y_component = sin(angle);
编辑:对不起,我刚刚阅读了关于交叉点处于任意,非正交角度的部分,让我想一下这一点。