-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalculPointCollisionFaceFace.m
More file actions
41 lines (31 loc) · 1.15 KB
/
calculPointCollisionFaceFace.m
File metadata and controls
41 lines (31 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function [pointCollision, n] = calculPointCollisionFaceFace(matricePositionAutoA, matricePositionAutoB)
%
% Pour deux vehicules parallele, on cherche le plan en commun.
%
% En terme mathematique, nous allons calculer les droites des deux autos
% pour chaque face et verifier quelles deux droites sont confondues.
% De plus cette droite confondu doit avoir un point d<intersection avec
% la droite reliant les deux centre de masse qui soit compris entre
% ces deux centre.
% Alors, il s agira du plan de collision.
%
% long surface 1
% 1--------------2
% larg | |
% surface 4 | | surface 2
% | |
% 4--------------3
% surface 3
nbSurfaces = 4;
epsilon = 0.0001;
for i=1:nbSurfaces %Pour tous les coins de A
% equation d une droite y = mx + b
p1A = matricePositionAutoA(i,:);
p2A = matricePositionAutoA(mod(i+1,4),:);
mA = (p1A(2) - p2A(2)) ...
/ (p1A(1) - p2A(1));
bA = p1A(2) - mA*(p1A(1));
for j=1:nbSurfaces %Pour tous les coins de B
end
end
end