*-- Author : R. Henderson 24/10/94 SUBROUTINE FPDCA(TODIG,VDIG,TOCLS,VCLS,DIST) C---- C------------------------------------------------------------ C----- FIND dca for the vectors a = todig + x*vdig C----- and the vectors b = tocls + x*vcls C------------------------------------------------------------ C---- DIMENSION UVWSOL(3) DOUBLE PRECISION ATRIX(3,3),BTRIX(3),WORK(100) DIMENSION TODIG(3),VDIG(3),TOCLS(3),VCLS(3),TCP(3) C---- CALL VUNIT(VCLS,VCLS,3) C---- TCP(1) = VCLS(2)*VDIG(3) 1 - VCLS(3)*VDIG(2) TCP(2) = VCLS(3)*VDIG(1) 1 - VCLS(1)*VDIG(3) TCP(3) = VCLS(1)*VDIG(2) 1 - VCLS(2)*VDIG(1) C--- CALL VUNIT(TCP,TCP,3) C--- ATRIX(1,1) = VCLS(1) ATRIX(1,2) = VCLS(2) ATRIX(1,3) = VCLS(3) ATRIX(2,1) = -VDIG(1) ATRIX(2,2) = -VDIG(2) ATRIX(2,3) = -VDIG(3) ATRIX(3,1) = TCP(1) ATRIX(3,2) = TCP(2) ATRIX(3,3) = TCP(3) C--- CALL DINV(3,ATRIX,3,WORK,IFAIL) C--- BTRIX(1) = TOCLS(1)-TODIG(1) BTRIX(2) = TOCLS(2)-TODIG(2) BTRIX(3) = TOCLS(3)-TODIG(3) C--- CALL VZERO(UVWSOL,3) DO 995 IC = 3,3 DO 996 IR = 1,3 UVWSOL(IC) = UVWSOL(IC) + ATRIX(IR,IC)*BTRIX(IR) 996 CONTINUE 995 CONTINUE C C--- Assign DIST to UVWSOL(3) C DIST = UVWSOL(3) C END *