Bonjour,

Je possède deux matrices, l'une qui représente des coordonnées de points, matrice notée M la seconde me permettant de définir mes triangles avec des indices de mes points, matrice T

M=[8,5,10;8,5,0;5,5,0;5,5,0;5,5,10]
T=[1,2,3;3,5,1]
ps:j'ai bien noté que j'avais deux fois le même point, ce n'est pas une erreur.
Je définis les arrête de mes triangles comme ceci :

% A premier sommet, B deuxième sommet
AB=[M(T(:,2),1)-M(T(:,1),1) M(T(:,2),2)-M(T(:,1),2) M(T(:,2),3)-M(T(:,1),3)];
% C troisème sommet
AC=[M(T(:,3),1)-M(T(:,1),1) M(T(:,3),2)-M(T(:,1),2) M(T(:,3),3)-M(T(:,1),3)];
Je définis le vecteur normal de chaque plan à l'aide de la fonction cross.
Je penser procéder comme suit:
Trois points A,B,C
-> 1 plan : ABxAC=N
->n1Xa + n2Ya + n3Za = d
Intersection du plan précédent avec plan z=h où h est une valeur que j'incrémente.
-> droite (D)
-> Intersection de la droite avec AB, on obtient le point D, je vérifie si D appartient au segment [AB], si oui je récupère le point.
-> Intersection de la droite avec AC, on obtient le point F, je vérifie si F appartient au segment [AC], si oui je récupère le point.
Ensuite je trace l'intersection en utilisant la fonction line. avec D mon points de départ et F mon point d'arriver, stockés dans une matrice n lignes 2 colonnes.

Donc j'aimerais récupérer les points D et F pour chaque triangles, mathématiquement avec une feuille et un crayon je sais le faire, sur matlab ça devient beaucoup plus difficiles.
Est ce que mon raisonnement est correct ?

Je vous remercie pour votre aide.

Cordialement