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. 


Arch Drawing

Figure B.       Calculations and Exercises Drawing 


A normal cross section.

Copyright (c) 1982-1988 William V. Thayer, All Rights Reserved