首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将车辆定位在赛道上行驶的方向

将车辆定位在赛道上行驶的方向
EN

Stack Overflow用户
提问于 2020-06-08 18:17:32
回答 1查看 89关注 0票数 1

我编写了算法来计算赛道,对我来说工作得很好。我对这辆车朝前有点问题。我使用函数来确定汽车的位置:

代码语言:javascript
复制
car_p = getSplinePoint()

我得到了x和y线。

我也可以使用函数

代码语言:javascript
复制
car_g = getSplineSlope()

以获得赛道的坡度。

我通过以下方式转换我的图像:

代码语言:javascript
复制
self.image = self.src_image
self.image = pygame.transform.rotate(self.src_image, ANGLE)

我用0度启动我的车。我不知道如何计算汽车应该转向的角度,这样它才能朝向合适的方向。

你能告诉我该怎么计算吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 18:51:50

好的,我没有使用pygame,所以可能有一个更好的解决方案,但我想出了这个方法:跟踪一个向量(我们称之为v),并让它指向汽车面对的方向。然后,创建另一个向量(u),它将从汽车到下一个路点。然后使用这个公式来得到两个向量之间的角度的余弦:

代码语言:javascript
复制
cosθ = (v·u)/(||v||·||u||)
||v|| is the length of the vector v.

在你得到余弦之后,你可以简单地通过计算结果的余弦来获得角度。它有点乱,但如果pygame没有任何命令自动完成这项工作,那么至少它可以完成这项工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62259829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档