Arch Program and Figures
Program A. Change codes to fit your printer and use Qbasic.
10 REM START BASICA IN DOUBLE PREC. ( A>BASICA/D )
TURN GRAPHICS PRINTER ON
20 DEFDBL A-H,J-Z
30 DEF FNCOSH(X#)=(EXP(X#)+EXP(-X#))/2#
40 DEF FNACOSH(X#)=LOG(X#+SQR(X#*X#-1#))
50 DEF FNSINH(X#)=(EXP(X#)-EXP(-X#))/2#
60 PI#= 3.141592653589793# : FC#= 625.0925#
: L# = 299.2239# : QT#= 125.1406#
70 QB#= 1262.6651# : C#= 3.0022# : A#= 68.7672# : D#= L#/C#
75 REM Station 0 is the point for X = 0.0
80 DATA 0.0#,7.7360#
90 DATA 15.4528#,23.1312#,30.7496#,38.2872#,45.7256#
100 DATA 53.0456#,60.2280#,67.2624#,74.1376#,80.8448#
110 DATA 87.3768#,93.7677#,100.0101#,106.0980#,112.1331#
120 DATA 118.1030#,123.9978#,129.8074#,135.5237#,141.1407#
130 DATA 146.6567#,152.0684#,157.3727#,162.5677#,167.6533#
140 DATA 172.6304#,177.5000#,182.2630#,186.9213#,191.4791#
150 DATA 195.9450#,200.2592#,204.4297#,208.4644#,212.3717#
160 DATA 216.1590#,219.8329#,223.3986#,226.8496#,230.1923#
170 DATA 233.4326#,236.5765#,239.6292#,242.5954#,245.4796#
180 DATA 248.2861#,251.0188#,253.6814#,256.2773#,258.8096#
190 DATA 261.2812#,263.6952#,266.0538#,268.3595#,270.6143#
200 DATA 272.8207#,274.9804#,277.0955#,279.1677#,281.1988#
210 DATA 283.1902#,285.1434#,287.0597#,288.9406#,290.7872#
220 DATA 292.6007#,294.3824#,296.1334#,297.8546#,299.5458#
230 OPEN "LPT1:"AS #1 : WIDTH #1,127
: PRINT #1,CHR$(27)+CHR$(48),CHR$(15)
240 PRINT #1," ":PRINT #1," "
250 PRINT #1," STATION CENTROID INTRADOS ";
255 PRINT #1," EXTRADOS TRIANGLE NORMAL TRIANGLE"
260 PRINT #1," NUMBER X Y ELEVATION X ELEVATION";
265 PRINT #1," X ELEVATION HEIGHT ANGLE AREA"
270 FOR I=1 TO 72
280 READ X# : Y#= A#* (FNCOSH(X#/D#) - 1#) : Q#=1.81977#*Y#+QT#
290 IF X#<>0# THEN 310
300 ANGR#= PI#/2# : ANGD#=90# : GOTO 320
310 ANGR#= ATN((L#/C#)*(1#/SQR(2#*A#*Y#+Y#*Y#)))
: ANGD#= 180#* ANGR#/PI#
320 H#=SQR(1.73205081#*Q#) : H1#= (2#/3#)*H# : H2#= (H1#)/2#
330 EL#= FC#- Y# : X1#= X#+H2#* COS(ANGR#) : Y1#= Y#-H2#* SIN(ANGR#)
340 EL1#= FC#- Y1# : X3#= X#-H1#* COS(ANGR#) : Y3#= Y#+H1#* SIN(ANGR#)
350 EL3#= FC#- Y3#
360 PRINT #1, USING " ## ";I-1;
370 PRINT #1, USING "####.#### "
;X#,Y#,EL#,X3#,EL3#,X1#,EL1#,H1#+H2#,ANGD#,Q#
380 NEXT I
390 RESTORE
400 PRINT #1,CHR$(18),CHR$(27) CHR$(50) : WIDTH #1,80
: CLOSE #1
410 END
Figure A. Arch drawing to identify curves.
Figure B. Calculations and Exercises Drawing
Copyright (c) 1982-1988 William V. Thayer, All Rights Reserved