Appendix III: HP-65 Programs
1Many of the programs that generated data for this book have been filed with the HP-65 Users’ Library. GEODESICS I: Icosa Coordinates (02487A) produces Class I and Class II breakdown data for the #1 triangle and the Class II triangle respectively; the only input needed is the frequency. GEODESICS VII: Icosa Class I Second Triangle (02692) accepts the #1 triangle values as inputs and applies rotation formulae to obtain Triangle #2. GEODESICS VIII: Class IIIcosa Triangles 2, 3, 4, 5 (02701A) accepts data for the Class II triangle (#1 at the top of Diagram 12.5) and generates the coordinates of the other four. GEODESICS VI: Octahedron Coordinates (02691) gives Class I and Class II breakdown values for any frequency. GEODESICS IX: Triacon Coordinates (02734A) applies the methods outlined in Appendix 1 to the icosahedron, octahedron or tetrahedron. A reader who needs data for higher frequencies than the tables in this book offer may find these programs useful; they can either be run on the HP-65 or used as guides to write programs for computers with print-out facilities.
2 An improved version of Superellipsoid Radii and Chordal Distances (1693A) is reproduced below. It handles ellipsoidal and superellipsoidal structures with one circular cross-section. For structures with neither cross-section circular, GEODESICS III: Superellipsoid Radii (02693A) solves Equation 13.7 to find vertex radii, and GEODESICS II: Chord Factors (02486A) accepts these radii and the vertex coordinates as inputs to give such chord factors as those in Table 15.3.
3GEODESICS IV: Face and Dihedral Angles—Spheres (02694A) solves Equations 17.4 through 17.7, using chord factors as inputs. GEODESICS V: Dihedral and Axial Angles: Non-spheres combines Equations 17.8 and 17.9 in a single routine. Its inputs are chord factors, radii (from Geodesics III or from the superellipsoid pro- gram below), and face angles (from Geodesics IV). The results are accurate but the multiple inputs make this method of reaching them relatively cumbersome.
4GEODESICS X: Spherical Coordinate Rotation (02700A) handles Equations 14.1 and 14.2, either fortruncations (Chapter 14) or for rotating an entire system (Chapter 15).
5 Two programs of general usefulness are given below. One computes chord factors for spherical structures between any two points whose 0,0 values are supplied from the tables. It accepts inputs in either decimal degree or arctan notation. The other keeps in storage the expansion and the exponent for an ellipsoidal or superellipsoid al structure with one circular cross-section (see Equation 13.9) and on being given the decimal 0, 0 values of any two points from a table, computes the two radii and the chord factor of the connecting strut. The three columns in the program listings are step number, keystroke, machine code.
67SUPERELLIPSOID RADII AND CHORD FACTORS PROGRAM
81 | 9RCL 7 | 103407 | 1126 | 12X | 1371 | 1451 | 15✓ | 1609 | 1776 | 18sin | 1904 |
202 | 21RCL 8 | 223408 | 2327 | 24gxiy | 253507 | 2652 | 27RCL5 | 283405 | 2977 | 30X | 3171 |
323 | 33g | 3435 | 3528 | 36RCL8 | 373408 | 3853 | 39f-1 | 4032 | 4178 | 42+ | 4361 |
444 | 45yx | 4605 | 4729 | 48g | 4935 | 5054 | 51✓ | 5209 | 5379 | 542 | 5502 |
565 | 57RCL2 | 583402 | 5930 | 60yx | 6105 | 6255 | 63+ | 6461 | 6580 | 66X | 6771 |
686 | 69f | 7031 | 7131 | 72+ | 7361 | 7456 | 75f-1 | 7632 | 7781 | 78RCL5 | 793405 |
807 | 81TF1 | 8261 | 8332 | 84* | 8581 | 8657 | 87SF1 | 8851 | 8982 | 90X | 9171 |
928 | 93CLX | 9444 | 9533 | 96RCL8 | 973408 | 9858 | 99RCL2 | 1003402 | 10183 | 102RCL6 | 1033406 |
1049 | 105RCL4 | 1063404 | 10734 | 108g | 10935 | 11059 | 111f | 11231 | 11384 | 114X | 11571 |
11610 | 1171 | 11801 | 11935 | 1201/x | 12104 | 12260 | 123cos | 12405 | 12585 | 126— | 12751 |
12811 | 129f1 | 13032 | 13136 | 132g | 13335 | 13461 | 135RCL4 | 1363404 | 13786 | 138f | 13931 |
14012 | 141R-*P | 14201 | 14337 | 144yx | 14505 | 14662 | 147f | 14831 | 14987 | 150/ | 15109 |
15213 | 153g | 15435 | 15538 | 156r | 15731 | 15863 | 159cos | 16005 | 16188 | 162RTN | 16324 |
16414 | 165ABS | 16606 | 16739 | 168TFl | 16961 | 17064 | 171X | 17271 | 17389 | 174LBL | 17523 |
17615 | 177EEX | 17843 | 17940 | 180GTO | 18122 | 18265 | 183RCL1 | 1843401 | 18590 | 186D | 18714 |
18816 | 189CHS | 19042 | 19141 | 192B | 19312 | 19466 | 195RCL3 | 1963403 | 19791 | 198STO2 | 1993302 |
20017 | 2019 | 20209 | 20342 | 204STO5 | 2053305 | 20667 | 207— | 20851 | 20992 | 210g+ | 2113508 |
21218 | 213+ | 21461 | 21543 | 216f | 21731 | 21868 | 219f | 22031 | 22193 | 222ST01 | 2233301 |
22419 | 225gx L y | 2263507 | 22744 | 228SF1 | 22951 | 23069 | 231cos | 23205 | 23394 | 234RTN | 23524 |
23620 | 237gLSTx | 2383500 | 23945 | 240GTO | 24122 | 24270 | 243RCL2 | 2443402 | 24595 | 246LBL | 24723 |
24821 | 249+ | 25061 | 25146 | 252A | 25311 | 25471 | 255f | 25631 | 25796 | 258E | 25915 |
26022 | 261RCL8 | 2623408 | 26347 | 264LBL | 26523 | 26672 | 267sin | 26804 | 26997 | 270STO4 | 2713304 |
27223 | 273g | 27435 | 27548 | 276B | 27712 | 27873 | 279X | 28071 ’ | 28198 | 282g+ | 2833508 |
28424 | 285yx | 28605 | 28749 | 288STO6 | 2893306 | 29074 | 291RCL4 | 2923404 | 29399 | 294STO3 | 2953303 |
29625 | 297g+ | 2983509 | 29950 | 300f-! | 30132 | 30275 | 303f | 30431 | 305100 | 306RTN | 30724 |
308 Instructions
309 Store Expansion, , in R7 (key in value and STO 7)
310 Store Exponent, n, in R8 (key in value and STO 8)
311 These values need not be stored again for subsequent cases.
312Data entry: Key 0, enter, 0, D. (Stores 0 and 0 of first point in R1
313 and R2.)
314 Key 0, enter, 0, E. (Stores 0 and 0 of second point in
315 R3 and R4.)
316 If a point is reused in a subsequent case its coordinates need not
317 be stored again.
318Run: Press A. After 16 seconds running time, program will halt
319 and display chord factor. To see radius of first point, press RCL 5.
320 To see radius of second point press RCL 6.
321 Comments
322 Steps 1 to 46 comprise the radius routine, traversed twice. This solves Equation 13.3, using R*-P to obtain sin0 and cos0 in one operation. Steps 15--17 generate a particle of ‘‘grit’’ (0.000000001) which is routinely added to the sine and cosine to ensure against either value ever being zero: this prevents trouble at steps 24 and 30, since zero cannot be raised to a power. For the same reason negative cosines are converted to positive at step 14. The condition of the flag at step 7 determines whether the radius routine operates on point 1 or point 2, and its condition at step 39 determines whether the program will reenter the radius routine or jump to the chord factor routine. Flag is initially unset, set at step 44 prior to second traverse, again unset at step 57 to prepare for new case. Chord factor routine (Equation 9.1) runs from step 47 to step 88.
CHORD
FACTORS
OF
SPHERES | |||||||||||
3231 | 324LBL | 32523 | 32617 | 327sin | 32804 | 32933 | 330B | 33112 | 33249 | 333tan | 33406 |
3352 | 336A | 33711 | 33818 | 339X | 34071 | 34134 | 342f1 | 34332 | 34450 | 345STO3 | 3463303 |
3473 | 348RCL2 | 3493402 | 35019 | 351RCL4 | 3523404 | 35335 | 354tan | 35506 | 35651 | 357RTN | 35824 |
3594 | 360f | 36131 | 36220 | 363f | 36431 | 36536 | 366ST02 | 3673302 | 36852 | 369LBL | 37023 |
3715 | 372cos | 37305 | 37421 | 375sin | 37604 | 37737 | 378g+ | 3793508 | 38053 | 381D | 38214 |
3836 | 384RCL4 | 3853404 | 38622 | 387X | 38871 | 38938 | 390f-1 | 39132 | 39254 | 393STO2 | 3943302 |
3957 | 396f | 39731 | 39823 | 399+ | 40061 | 40139 | 402tan | 40306 | 40455 | 405g+ | 4063508 |
4078 | 408cos | 40905 | 41024 | 4112 | 41202 | 41340 | 414STO1 | 4153301 | 41656 | 417ST01 | 4183301 |
4199 | 420X | 42171 | 42225 | 423X | 42471 | 42541 | 426RTN | 42724 | 42857 | 429RTN | 43024 |
43110 | 432RCL1 | 4333401 | 43426 | 435CHS | 43642 | 43742 | 438LBL | 43923 | 44058 | 441LBL | 44223 |
44311 | 444RCL3 | 4453403 | 44627 | 4472 | 44802 | 44943 | 450C | 45113 | 45259 | 453E | 45415 |
45512 | 45651 | 45728 | 458+ | 45961 | 46044 | 461f1 | 46232 | 46360 | 464ST04 | 4653304 | |
46613 | 467f | 46831 | 46929 | 470f | 47131 | 47245 | 473tan | 47406 | 47561 | 476g+ | 4773508 |
47814 | 479cos | 48005 | 48130 | 482✓ | 48309 | 48446 | 485STO4 | 4863304 | 48762 | 488ST03 | 4893303 |
49015 | 491RCL2 | 4923402 | 49331 | 494RTN | 49524 | 49647 | 497g+ | 4983508 | 49963 | 500RTN | 50124 |
50216 | 503f | 50431 | 50532 | 506LBL | 50723 | 50848 | 509f-1 | 51032 | |||
511 Instructions
512 If data are in ‘‘arctan’’ notation:
513 First point: arctan 0, enter, arctan 0, B (Stored in Rl, R2)
514 Second point: arctan 0, enter, arctan 0, C (Stored in R3, R4)
515 If data are in decimal degree notation:
516 First point: <L , enter, 0, D (Stored in Rl, R2)
517 Second point: 0, enter, 0, E (Stored in R3, R4)
518 B and C keys convert arctan to degrees before storage. Program does not tamper with data, and a point that will be reused in a subsequent case need not be reentered.
519 To obtain chord factor press A. Running time about 4 1/2 seconds.
