vecbas
C VECBAS SOURCE CHAT 05/01/13 04:04:42 5004 c--------------------------------------------------------------------- c c c===================================================================== c = c This routine calculates an orthonormal base from v1. = c = c Input : v1 (3) initial vector = c = c Output: v1 (3) unit vector = c v2 (3), v3 (3) unit vectors normal to v1 = c v1=v2xv3 ; v2=v3xv1 ; v3=v1xv2 = c = c===================================================================== IMPLICIT INTEGER(I-N) real*8 v1 (3), v2 (3), v3 (3) c real*8 toler, xn parameter (toler = 1.0 d-25) c c xn = v1 (1) **2 + v1 (2) **2 if (xn .gt. toler) then xn = 1.0 d0 / SQRT (xn) c v2 (1) = -v1 (2) * xn v2 (2) = v1 (1) * xn v2 (3) = 0.0 d0 v3 (1) = -v1 (3) * v2 (2) v3 (2) = v1 (3) * v2 (1) v3 (3) = v1 (1) * v2 (2) - v1 (2) * v2(1) else v2 (1) = 1.0 d0 v2 (2) = 0.0 d0 v2 (3) = 0.0 d0 v3 (1) = 0.0 d0 v3 (2) = 1.0 d0 v3 (3) = 0.0 d0 v1 (1) = 0.0 d0 v1 (2) = 0.0 d0 v1 (3) = 1.0 d0 end if c return end
© Cast3M 2003 - Tous droits réservés.
Mentions légales