140 HOME : VTAB 8: PRINT "DIRECTION.FIELD": PRINT "BY WHITNEY HARRIS": PRINT "COPYRIGHT (C) 1985 BY MICROSPARC, INC."
150 VTAB 15: HTAB 1: PRINT "TO CHANGE FUNCTION, STOP THE PROGRAM": PRINT " AND CHANGE THE FUNCION IN LINE 340.": PRINT " CURRENTLY LINE 340 IS:": LIST 340
160 VTAB 22: HTAB 1: PRINT "PRESS <RETURN> TO CONTINUE": PRINT "PRESS <ESC> TO QUIT";: GET Z$: PRINT : IF Z$ = CHR$(27) THEN HOME : LIST 340: END
170 REM THIS APPLE PROGRAM PLOTS A
180 REM DIRECTION LINE SEGMENT AT EACH
190 REM OF 16*27 SCREEN LOCATIONS.
200 REM WE EVALUATE A GIVEN FUNCTION
210 REM M(X,Y), TO OBTAIN THE SLOPE
220 REM OF THE SEGMENT AT (X,Y).
230 REM A PATH PASSING SMOOTHLY
240 REM THROUGH DIRECTED SEGMENTS
250 REM (AS TANGENTS TO THE PATH)
260 REM SOLVES THE DIFFERENTIAL
270 REM EQUATION DY/DX=M(X,Y) .
280 REM ********************************
290 REM BELOW, TYPE DESIRED SCALE
300 REM CONSTANT, THEN DESIRED
310 REM FUNCTION FN M(Y) IN LINE 340.
320 REM ********************************
330 LET C = 50
340 DEF FN M(Y) = Y ^2 -X ^2
350 REM ********************************
360 REM PLOT AXES AND PRINT SCALE INFORMATION.
370 HGR : HCOLOR= 3: HOME
380 HPLOT 0,80 TO 279,80
390 HPLOT 140,0 TO 140,159
400 VTAB 22: PRINT "THE HORIZONTAL OR VERTICAL DISTANCE"
410 VTAB 23: PRINT "BETWEEN MIDPOINTS OF SEGMENTS IS:"
420 VTAB 24: PRINT TAB( 14);10/C
430 REM ********************************
440 REM THE X,Y COORDINATE SYSTEM HAS
450 REM ORIGIN AT SCREEN COORDINATES
460 REM SX=140, SY=80, POSITIVE Y AXIS
470 REM UP, AND AXES SCALED.
480 REM ********************************
490 REM LOOPS TO MOVE ACROSS AND DOWN
500 REM THEN LOOP TO PLOT SEGMENT IN
510 REM 9*9 BOX. BX AND BY ARE LOCAL
520 REM COORDINATES IN BOX AND NEED
530 REM NOT BE SCALED.
540 REM ********************************
550 FOR SX = 5 TO 275 STEP 10
560 LET X = (SX -140)/C
570 FOR SY = 5 TO 155 STEP 10
580 LET Y = (80 -SY)/C
590 LET M = FN M(Y)
600 REM TEST FOR NEAR VERTICAL LINE.
610 IF ABS(M) >4 THEN 740
620 FOR BX = -4 TO 4
630 LET BY = M *BX
640 IF ABS(BY) >4 THEN 710
650 REM ********************************
660 REM CHANGE FROM LOCAL TO PLOTTING
670 REM COORDINATES PX,PY THEN PLOT.
680 REM ********************************
690 LET PX = SX +BX:PY = SY -BY
700 HPLOT PX,PY
710 NEXT BX
720 GOTO 770
730 REM LOOP TO PRINT VERTICAL LINE
740 FOR I = -4 TO 4 STEP 2
750 HPLOT SX,SY +I
760 NEXT I
770 NEXT SY
780 NEXT SX
790 VTAB 24: HTAB 1: PRINT "PRESS <RETURN> WHEN READY TO QUIT";: GET Z$: PRINT : HOME : TEXT : LIST 340