PROGRAM VECTOR C FINDS THE DOT PRODUCT OF TWO 2-D VECTORS C ORIGINALLY WRITTEN WHILE A STUDENT AT UW-RF, 1992 C COPYRIGHT (C) 1992, 2007 JIM HALL, JHALL@FREEDOS.ORG C Permission is hereby granted, free of charge, to any person obtaining a copy C of this software and associated documentation files (the "Software"), to deal C in the Software without restriction, including without limitation the rights C to use, copy, modify, merge, publish, distribute, sublicense, and/or sell C copies of the Software, and to permit persons to whom the Software is C furnished to do so, subject to the following conditions: C C The above copyright notice and this permission notice shall be included in C all copies or substantial portions of the Software. C C THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR C IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE C AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER C LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, C OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN C THE SOFTWARE. PRINT *, 'VECTOR - FINDS THE DOT PRODUCT OF TWO VECTORS' 10 PRINT *, 'ENTER AX, AY:' READ (*,*,IOSTAT=IE) AX, AY IF (IE.NE.0) THEN PRINT *, 'OOPS!' GOTO 10 ENDIF 20 PRINT *, 'ENTER BX, BY:' READ (*,*,IOSTAT=IE) BX, BY IF (IE.NE.0) THEN PRINT *, 'WHAT?' GOTO 20 ENDIF C COMPUTE THE DOT PRODUCT THA = ATAN2(AY, AX) THB = ATAN2(BY, BX) THETA = ABS(THA - THB) ABDOT = SQRT(AX**2 + AY**2) * SQRT(BX**2 + BY**2) * COS(THETA) DOT = AX * BX + AY * BY PRINT *, 'IF I COMPUTE THE ANGLE, THEN THE DOT..', ABDOT PRINT *, 'OR, BY COMPONENTS.. ', DOT END