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 39
|
debut procedure en entree le X le Y et l ANGLE DE ROTATION en sortie XPRIME et YPRIME
-- Il faut faire une rotation depuis le CENTRE de l image
-- si non l image va hors du cadre...
-- Il faut changer les coordonees
-- Centre de la Matrice
XCentre = (Dim-(Dim-(Dim-1))+2)/2;
YCentre : (Dim-(Dim-(Dim-1))+2)/2;
XRot = X - XCentre;
YRot = Y - YCentre;
-- Pour signaler si un point est HORS de la matrice
ToutEstOk = True;
-- La formule pour trouve les coordonne de la rotation.
-- Ici on fait la matrice inverse (=> inverse de l angle alpha)
-- Pour eviter les petits points blancs!!!!!
XPrime = cos(Radian) * XRot - sin(Radian) * YRot + XCentre;
YPrime = Sin(Radian) * XRot + Cos(Radian) * YRot + YCentre;
je Test si le point appartien a l image Si oui j en vois les resulat si non rien..
fin Procedure
et j'appele cette procedure comme ceci
pour I de 1 a Dim faire
Pour J de 1 a DIm faire
AppeleProcRotation(I,J,-30,XPRIME,YPRIME);
TabResultat(I,J) = Image(XPRIME,YPRIME);
fin
fin |
Partager