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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| clc
clear all
fprintf(' avec 1 plan\n ');
Plane1dans1=[0 0 0 1 0 0 0 1 0];
Plane2dans1 = [5 50 500 1 0 0 0 1 0];
Adans1=[3 8 2];
% Adans1=[5 50 500]
% Adans1=[0 0 0]
Tform1= createBasisTransform3d(Plane1dans1, Plane2dans1);
Adans2 = transformPoint3d(Adans1, Tform1);
% Coord de plane 1 dans plane 2
% Plane1dans2= -Plane2dans1 % ok ?
Plane1dans2= [-5 -50 -500 1 0 0 0 1 0];
Plane2dans2 = [0 0 0 1 0 0 0 1 0];
Tform2 = createBasisTransform3d(Plane2dans2, Plane1dans2);
Adans2dans1 = transformPoint3d(Adans2, Tform2);
fprintf(' le point Adans1 dans le repere 1 : \n'); disp(Adans1);
fprintf(' dans le repere 2 : \n'); disp(Adans2);
fprintf('et reprojete dans le repere 1 \n'); disp(Adans2dans1);
fprintf(' identique au départ : Adans1==Adans2dans1 ->>>>>>>>>> ');
disp(Adans1==Adans2dans1);
fprintf('-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*');
fprintf(' \n avec 3 plans\n ');
pS=[120.3934 140.9860 495.6667 0 0.1516 0.9884 -0.3200 -0.9365 0.1436];
pC=[ 120.3934 140.9860 495.6667 0 -0.2296 0.9733 -0.9543 0.2909 0.0686] ;
pT=[ 120.3934 140.9860 495.6667 0 -0.9809 -0.1943 -0.9934 0.0222 -0.1122];
Plane2dans1=[pS;pT;pC];
Tform1= createBasisTransform3d('global',Plane2dans1);
Adans21 = transformPoint3d(Adans1, Tform1(:,:,1));
Adans22 = transformPoint3d(Adans1, Tform1(:,:,2));
Adans23 = transformPoint3d(Adans1, Tform1(:,:,2));
Adans2=[Adans21(1),Adans21(2),Adans23(3)];
pS2=[pS(1:3)*-1,pS(4:9)];
pC2=[pC(1:3)*-1,pC(4:9)];
pT2=[pT(1:3)*-1,pT(4:9)];
Plane2dans1=[pS2;pT2;pC2];
Tform2 = createBasisTransform3d('global', Plane2dans1);
Adans211 = transformPoint3d(Adans2, Tform2(:,:,1));
Adans212 = transformPoint3d(Adans2, Tform2(:,:,2));
Adans213 = transformPoint3d(Adans2, Tform2(:,:,2));
Adans2dans1=[Adans211(1),Adans212(2),Adans213(3)];
fprintf(' le point Adans1 dans le repere 1 : \n'); disp(Adans1);
fprintf(' dans le repere 2 : \n'); disp(Adans2);
fprintf('et reprojete dans le repere 1 \n'); disp(Adans2dans1);
fprintf(' Identique au départ ??? : Adans1==Adans2dans1 ->>>>>>>>>>');
disp(Adans1==Adans2dans1); |
Partager