我编写了算法来计算赛道,对我来说工作得很好。我对这辆车朝前有点问题。我使用函数来确定汽车的位置:
car_p = getSplinePoint()我得到了x和y线。
我也可以使用函数
car_g = getSplineSlope()以获得赛道的坡度。
我通过以下方式转换我的图像:
self.image = self.src_image
self.image = pygame.transform.rotate(self.src_image, ANGLE)我用0度启动我的车。我不知道如何计算汽车应该转向的角度,这样它才能朝向合适的方向。

你能告诉我该怎么计算吗?
发布于 2020-06-08 18:51:50
好的,我没有使用pygame,所以可能有一个更好的解决方案,但我想出了这个方法:跟踪一个向量(我们称之为v),并让它指向汽车面对的方向。然后,创建另一个向量(u),它将从汽车到下一个路点。然后使用这个公式来得到两个向量之间的角度的余弦:
cosθ = (v·u)/(||v||·||u||)
||v|| is the length of the vector v.在你得到余弦之后,你可以简单地通过计算结果的余弦来获得角度。它有点乱,但如果pygame没有任何命令自动完成这项工作,那么至少它可以完成这项工作。
https://stackoverflow.com/questions/62259829
复制相似问题