Download proj.eso

Back to the list

   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