34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
45
47 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*),
48 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*),
49 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*),
50 . rx(*) ,ry(*) ,rz(*) ,sx(*) ,sy(*) ,sz(*) ,tx(*) ,ty(*) ,tz(*),
51 . e1x(*),e1y(*),e1z(*),e2x(*),e2y(*),e2z(*),e3x(*),e3y(*),e3z(*)
52
53
54
55#include "vect01_c.inc"
56
57
58
59 INTEGER I
60
62 . x14(mvsiz) ,y14(mvsiz) , z14(mvsiz) ,
63 . det,c1,c2
64
65 DO 10 i=lft,llt
66 x14(i)=x1(i)+x4(i)
67 y14(i)=y1(i)+y4(i)
68 z14(i)=z1(i)+z4(i)
69 10 CONTINUE
70 DO 20 i=lft,llt
71 tx(i)=x2(i)+x5(i)-x14(i)
72 ty(i)=y2(i)+y5(i)-y14(i)
73 tz(i)=z2(i)+z5(i)-z14(i)
74 20 CONTINUE
75 DO 30 i=lft,llt
76 rx(i)=x3(i)+x6(i)-x14(i)
77 ry(i)=y3(i)+y6(i)-y14(i)
78 rz(i)=z3(i)+z6(i)-z14(i)
79 30 CONTINUE
80 DO i=lft,llt
81 sx(i)= (x4(i)+x5(i)+x6(i)-x1(i)-x2(i)-x3(i))*third
82 sy(i)= (y4(i)+y5(i)+y6(i)-y1(i)-y2(i)-y3(i))*third
83 sz(i)= (z4(i)+z5(i)+z6(i)-z1(i)-z2(i)-z3(i))*third
84 ENDDO
85
86 DO 100 i=lft,llt
87
88 e3x(i) = ty(i) * rz(i) - tz(i) * ry(i)
89 e3y(i) = tz(i) * rx(i) - tx(i) * rz(i)
90 e3z(i) = tx(i) * ry(i) - ty(i) * rx(i)
91
92 det = sqrt(e3x(i)*e3x(i) + e3y(i)*e3y(i) + e3z(i)*e3z(i))
93 IF ( det/=zero) det = one / det
94 e3x(i) = e3x(i) * det
95 e3y(i) = e3y(i) * det
96 e3z(i) = e3z(i) * det
97
98 c1=sqrt(tx(i)*tx(i)+ty(i)*ty(i)+tz(i)*tz(i))
99 c2=sqrt(rx(i)*rx(i)+ry(i)*ry(i)+rz(i)*rz(i))
100 e1x(i)=tx(i)*c2 +(ry(i) * e3z(i) - rz(i) * e3y(i))*c1
101 e1y(i)=ty(i)*c2 +(rz(i) * e3x(i) - rx(i) * e3z(i))*c1
102 e1z(i)=tz(i)*c2 +(rx(i) * e3y(i) - ry(i) * e3x(i))*c1
103 det = sqrt(e1x(i)*e1x(i) + e1y(i)*e1y(i) + e1z(i)*e1z(i))
104 IF ( det/=zero) det = one / det
105 e1x(i) = e1x(i)*det
106 e1y(i) = e1y(i)*det
107 e1z(i) = e1z(i)*det
108
109 e2x(i) = e3y(i) * e1z(i) - e3z(i) * e1y(i)
110 e2y(i) = e3z(i) * e1x(i) - e3x(i) * e1z(i)
111 e2z(i) = e3x(i) * e1y(i) - e3y(i) * e1x(i)
112 100 CONTINUE
113
114 RETURN