2014-05-19 2 views
0

J'ai un objet patch dans Matlab qui représente une piste de course. Y at-il un moyen de déterminer si une certaine coordonnée x-y se trouve à l'intérieur de ce patch? Je veux être capable de détecter quand une voiture de course quitte la piste.Coordonnées de l'objet patch Matlab

Répondre

0

Bien qu'il n'y ait pas de mise en œuvre Matlab de ce que vous me demandez, ce ne serait pas trop difficile à faire vous-même.

Si votre piste est une coque convexe, vous pouvez utiliser la fonction matlab convhull() pour générer la coque convexe de la piste. Cette fonction renvoie une liste d'indices et la zone de la coque convexe.

, c'est-à-dire [k_track, a_track] = convhull (x_track, y_track). Puis comparez cela à la coque convexe de l'ensemble des points de la piste et le point du véhicule.

x_new = [x_track x_car]

y_new = [y_track y_car]

[k_new, a_new] = convhull (x_new, y_new)

Si la voiture est à l'intérieur de la piste, convexe les coques (et donc les zones) seront les mêmes.

si A_TRACK ~ = a_new

voiture à l'extérieur de la piste

autre

voiture à l'intérieur piste

fin

RemarqueCet repose sur la bonne voie étant une coque convexe. Si ce n'est pas le cas, vous pourriez être en mesure de le diviser en segments qui sont et itérer la procédure.

Questions connexes