1 : C PROJ SOURCE CHAT 05/01/13 02:32:14 5004 2 : C SOURCE MARTINEZ 3 : SUBROUTINE PROJ (P0,M0,M1,M2,M3,DIM2) 4 : C 5 : C Projection de M0 sur le plan M1,M2,M3 -> P0 6 : C 7 : C 8 : IMPLICIT INTEGER(I-N) 9 : IMPLICIT REAL*8 (A-H,O-Z) 10 : REAL*8 P0(3),M0(3),M1(3),M2(3),M3(3) 11 : REAL*8 AP(3,3),YP(3),XP(3) 12 : LOGICAL DIM2,DETNUL 13 : C 14 : A1=M2(1)-M1(1) 15 : A2=M2(2)-M1(2) 16 : A3=M2(3)-M1(3) 17 : B1=M3(1)-M1(1) 18 : B2=M3(2)-M1(2) 19 : B3=M3(3)-M1(3) 20 : C1=A2*B3-A3*B2 21 : C2=A3*B1-A1*B3 22 : C3=A1*B2-A2*B1 23 : C 24 : AP(1,1)=A1 25 : AP(1,2)=A2 26 : AP(1,3)=A3 27 : AP(2,1)=B1 28 : AP(2,2)=B2 29 : AP(2,3)=B3 30 : AP(3,1)=C1 31 : AP(3,2)=C2 32 : AP(3,3)=C3 33 : C 34 : YP(1)=A1*M0(1)+A2*M0(2)+A3*M0(3) 35 : YP(2)=B1*M0(1)+B2*M0(2)+B3*M0(3) 36 : YP(3)=C1*M0(1)+C2*M0(2)+C3*M0(3) 37 : C 38 : C 39 : C > 1ERE EQUATION : M1M2.M0P0 = 0 40 : C > 2EME EQUATION : M1M3.M0P0 = 0 41 : C > 3EME EQUATION : DET(M1M2,M1M3,M1P0) = 0 42 : C 43 : C 43 : CALL EQPAR3(XP,AP,YP,DETNUL) 44 : C 45 : IF (DETNUL.EQV..FALSE.) THEN 46 : P0(1)=XP(1) 47 : P0(2)=XP(2) 48 : P0(3)=XP(3) 49 : DIM2=.TRUE. 50 : ELSE 51 : P0(1)=0.D0 52 : P0(1)=0.D0 53 : P0(1)=0.D0 54 : DIM2=.FALSE. 55 : ENDIF 56 : C 57 : C P0(1)=M0(1) 58 : C P0(2)=M0(2) 59 : C P0(3)=M0(3) 60 : RETURN 61 : END 62 : 63 :
© Cast3M 2003 - All rights reserved.
Disclaimer