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
| load croisement.txt;
for n=1:212;
V = [croisement(1:n-1,:);croisement(n+1:212,:)];% je crée une sous matrice
x = V(:,3:4);
y = V(:,1:2);
[x Mx mx]=scale(x);
[y My my]=scale(y);
a = y(:,1);
b = y(:,2);
TD = delaunay(a, b);
T = TD.';
uv = zeros(numel(T),2);
uv(:,1) = a(T(:));
uv(:,2) = b(T(:));
c = x(:,1);
d = x(:,2);
uv(:,3) = c(T(:));
uv(:,4) = d(T(:));
e = uv(:,1);
f = uv(:,2);
g = uv(:,3);
h = uv(:,4);
one=ones(length(uv),1);
K = [g h one]; % voici ma nouvelle matrice de transformation (comportes les coordonnées x et y pour l'ensemble des sommets de chaque triangle)
H = [e f];% vecteur a multiplier par K pour obtenir mes coefficients
for i=1:3:length(K)
P = (K(i,: )'*K(i,: ))\(K(i,: )'*H(i,:));
temp = K(i,: )*P; % c'est la que dois multiplier P par la ligne retirée auparavant dans "croisement" pour avoir les x1 et y1 (dc je dois retrouver dans quel triangle il se trouve)
yp = descale(temp, My, my);
end
rmse =sqrt(mean(sum((temp-croisement(n,3:4)).^2,2)));% et là je dois calculer la rmse entre le points prédit et sa coordonnée correspondante
RMS = mean(rmse);
end |