我在Matlab中有一个代表赛道的补丁对象。有没有办法确定某个x-y坐标是否位于此补丁内?我希望能够检测到赛车何时离开赛道。
答案 0 :(得分:0)
虽然没有Matlab实现你所知道的我所知道的事情,但要做到这一点并不困难。
如果你跟踪的是一个凸包,那么你可以使用matlab函数convhull()来生成轨道的凸包。此函数返回索引列表和凸包的区域。
即。 [k_track,a_track] = convhull(x_track,y_track)。
然后将其与该组跟踪点的凸包和车辆点进行比较。
x_new = [x_track x_car]
y_new = [y_track y_car]
[k_new,a_new] = convhull(x_new,y_new)
如果汽车在赛道内,凸包(以及区域)将是相同的。
如果a_track~ = a_new
汽车在赛道外
否则
车内轨道端
请注意,这取决于轨道是凸包。如果不是,您可以将其分成若干段并重复该过程。