DECLARE SUB pager () REM GE Copeland REM Dept of Physics REM Old Dominion University REM Norfolk VA 23529 REM - Corrin Wilson 2/28/2001 REM 10 DIM v(2), R(2), W(2), G(2) 12 DIM XP(500), YP(500) 15 PRINT CHR$(12); 20 PRINT " T W O D I M E N S I O N A L F O O T B A L L" 30 PRINT 40 PRINT "TWO DIMENSIONAL AIR RESISTANCE PROBLEM WITH SPIN" 42 PRINT " AND WINDS!!!!" 60 PRINT 70 PRINT "A FOOTBALL IS THROWN DOWN A FIELD THAT LOOKS LIKE" 80 PRINT " THIS IN CROSS-SECTION." 90 PRINT "Y UP^" 100 PRINT "^" 110 FOR I = 1 TO 10 120 PRINT "|" 130 NEXT I 140 FOR I = 1 TO 30 150 PRINT "-"; 160 NEXT I 170 PRINT ">X" 190 CALL pager 210 PRINT "V=ball VELOCITY with repect to the ground." 230 PRINT "R=SQRT(X^2+Y^2)=RADIUS VECTOR of BALL @ time = t" 235 PRINT "S=SPIN VECTOR assumed PARALLEL to -Z AXIS, into the display." 240 PRINT " V IS A 2D VECTOR and S is a 1D vector." 241 PRINT "This program differs from PING, in the fact there is a wind" 242 PRINT "blowing. The wind vector W = [Wx,Wy]. If Wx is >0, then the" 243 PRINT "wind blows behind the kicker. If Wx <0, the wind blows into" 244 PRINT "the kicker's face. If Wy = 0, there are no up or down drafts." 245 PRINT "Input Wx and Wy(in ft/sec)?" 246 INPUT W(1), W(2) 250 PRINT "All POSITIONS are measured from the launch point at (0,0)." 260 PRINT "The RESISITIVE FORCE is composed of two parts:" 270 PRINT "1.AIR RESISTANCE and 2. SPIN EFFECTS. The Spin is " 280 PRINT "sufficient to stabilize the motion, but NO MAGNUS force." 290 CALL pager 300 PRINT "Under these assumptions,the ACCELERATION of the ball will be" 305 T0 = .1 315 PRINT " _ ^ _ _ _ _" 320 PRINT " A=-G*J-A2*ABS[W-V]*[W-V]" 340 PRINT "where: A2=QUADRATIC VELOCITY DEPENDENT ACCELERATION" 350 PRINT , , "COEFFICIENT." 360 PRINT , "J=UNIT VECTOR UP^."; 370 PRINT "G=32.2 ft/s^2" 375 PRINT , "W = wind velocity vector." 376 PRINT , "V=VELOCITY VECTOR of the ball." 380 CALL pager 390 A2 = .0457: REM PAGE 215 FOR TABLE TENNIS BALL 400 PRINT " We start the ball at X=0, Y=0 at time = 0 seconds." 410 PRINT "Numerical integration of the equations of motion is stopped" 412 PRINT "when the variable Y gets less than zero. Step size is "; T0 430 R(1) = 0! 432 R(2) = 0! 590 PRINT "Now input the initial VELOCITY of the ball." 600 PRINT "Select one of these TWO OPTIONS:" 610 PRINT " 1.Input SPEED V0 and DEPARTURE ANGLE" 620 PRINT " OR 2.Input the INITIAL Vx AND Vy COMPONENTS" 630 PRINT "MAKE YOUR CHOICE:"; 640 INPUT A9 650 IF A9 = 2 THEN 750 660 IF A9 <> 1 THEN 590 670 PRINT "INPUT THE SPEED"; 680 INPUT V0 690 PRINT "Input the DEPARTURE ANGLE in DEGREES up from HORIZONTAL"; 700 INPUT T10 710 t9 = T10 * 3.14 / 180 720 v(1) = V0 * COS(t9) 730 v(2) = V0 * SIN(t9) 740 GOTO 770 750 PRINT "Input Vx,Vy in FT/SEC"; 760 INPUT v(1), v(2) 770 REM PING-PONGBALL 780 T = 0 782 NPTS = 1 783 XP(NPTS) = R(1) 784 YP(NPTS) = R(2) 800 PRINT 810 CALL pager 840 PRINT 850 PRINT " TIME"; " "; " X"; " "; " Y"; " "; "V x "; " "; "V y"; " "; v; "" 860 PRINT " s "; " "; "ft"; " "; "ft"; " "; "ft/s"; " "; "ft/s" 866 PRINT USING " ###.### "; T; R(1); R(2); v(1); v(2); SQR(v(1) ^ 2 + v(2) ^ 2) REM PRINT T; " "; R(1); " "; R(2); " "; V(1); " "; V(2); 870 REM START THE CALCULATION 872 A(1) = A2 * SQR(ABS((W(1) - v(1)) ^ 2) + v(2) ^ 2) * (W(1) - v(1)) 874 A(2) = A2 * SQR(ABS((W(1) - v(1)) ^ 2) + v(2) ^ 2) * (W(2) - v(2)) - 32.2 880 FOR I = 1 TO 2 890 R(I) = R(I) + v(I) * T0 + .5 * A(I) * T0 * T0 900 v(I) = v(I) + A(I) * T0 930 NEXT I 940 IF R(2) < 0! THEN 1020 941 NPTS = NPTS + 1 942 XP(NPTS) = R(1) 944 YP(NPTS) = R(2) 950 T = T + T0 960 PRINT USING " ###.### "; T; R(1); R(2); v(1); v(2); SQR(v(1) ^ 2 + v(2) ^ 2) REM PRINT T; " "; R(1); " "; R(2); " "; V(1); " "; V(2) 970 GOTO 870 1020 CALL pager 1030 PRINT "DO YOU WANT TO CHANGE THE CONDITIONS(YES OR NO)" 1040 INPUT A8$ 1050 IF A8$ = "YES" OR A8$ = "yes" OR A8$ = "Yes" THEN 380 1060 PRINT "Do you want a plot of the trajectory?" 1062 INPUT ANSP$ 1064 IF ANSP$ = "YES" OR ANSP$ = "yes" OR ANSP$ = "Yes" THEN 1200 1066 IF ANSP$ = "NO" OR ANSP$ = "no" OR ANSP$ = "No" THEN STOP 1070 GOTO 1060 1200 REM TEKTRONIX PLOTTING 1202 OPEN "plttek.dat" FOR OUTPUT AS #2 1204 PRINT #2, 1 1206 PRINT #2, 1 1208 PRINT #2, NPTS 1210 PRINT #2, "Y POSITION IN FT" 1212 PRINT #2, "X POSITION IN FT" 1214 PRINT #2, " TRAJECTORY FROM 2DFTBALL" 1216 PRINT #2, " WINDS, SPIN & QUADRATIC RESISTANCE " 1218 FOR I = 1 TO NPTS 1220 PRINT #2, XP(I), YP(I) 1222 NEXT I 1224 CLOSE #2 1225 CHAIN "tek2wplt.BAS" PRINT "done." 1226 END SUB pager PRINT "To continue press Return."; INPUT T$ PRINT CHR$(12) END SUB