aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/030-geometrie/trigo/3.bc
blob: 68f158361c50ba59dba4a6b01a77472c8ff36206 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
#
# 3.bc -- compute values of trigonometric functions to an arbitrary
#         number of digits for all multiples of 1 degree using only 
#         basic arithmetic operations and square roots
#
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
#
scale=67

s00=0
c00=1

s45=sqrt(2)/2
c45=s45

s30=0.5
c30=sqrt(3)/2

s15=sqrt(0.5-0.5*c30)
c15=sqrt(0.5+0.5*c30)

s36=sqrt((5-sqrt(5))/8)
c36=sqrt((3+sqrt(5))/8)

s72=2*s36*c36
c72=c36^2-s36^2

s18=sqrt(0.5-0.5*c36)
c18=sqrt(0.5+0.5*c36)

s09=sqrt(0.5-0.5*c18)
c09=sqrt(0.5+0.5*c18)

s03=s18*c15-c18*s15
c03=c18*c15+s18*s15

s06=s15*c09-c15*s09
c06=c15*c09+s15*s09

s12=s30*c18-c30*s18
c12=c30*c18+s30*s18

s21=s30*c09-c30*s09
c21=c30*c09+s30*s09

s24=s15*c09+c15*s09
c24=c15*c09-s15*s09

s27=s45*c18-c45*s18
c27=c45*c18+s45*s18

s33=s45*c12-c45*s12
c33=c45*c12+s45*s12

s39=s30*c09+c30*s09
c39=c30*c09-s30*s09

s42=s30*c12+c30*s12
c42=c30*c12-s30*s12

s=3.1415926535/180
c=sqrt(1-s*s)

s=s-(4*s*s*s-3*s+s03)/(12*s*s-3)
s=s-(4*s*s*s-3*s+s03)/(12*s*s-3)
s=s-(4*s*s*s-3*s+s03)/(12*s*s-3)
s=s-(4*s*s*s-3*s+s03)/(12*s*s-3)
s=s-(4*s*s*s-3*s+s03)/(12*s*s-3)
s=s-(4*s*s*s-3*s+s03)/(12*s*s-3)
s01=s

c=c-(4*c*c*c-3*c-c03)/(12*c*c-3)
c=c-(4*c*c*c-3*c-c03)/(12*c*c-3)
c=c-(4*c*c*c-3*c-c03)/(12*c*c-3)
c=c-(4*c*c*c-3*c-c03)/(12*c*c-3)
c=c-(4*c*c*c-3*c-c03)/(12*c*c-3)
c=c-(4*c*c*c-3*c-c03)/(12*c*c-3)
c01=c

s02=s03*c01-c03*s01
c02=c03*c01+s03*s01

s04=s03*c01+c03*s01
c04=c03*c01-s03*s01

s05=s06*c01-c06*s01
c05=c06*c01+s06*s01

s07=s06*c01+c06*s01
c07=c06*c01-s06*s01

s08=s09*c01-c09*s01
c08=c09*c01+s09*s01

s10=s09*c01+c09*s01
c10=c09*c01-s09*s01

s11=s12*c01-c12*s01
c11=c12*c01+s12*s01

s13=s12*c01+c12*s01
c13=c12*c01-s12*s01

s14=s15*c01-c15*s01
c14=c15*c01+s15*s01

s16=s15*c01+c15*s01
c16=c15*c01-s15*s01

s17=s18*c01-c18*s01
c17=c18*c01+s18*s01

s19=s18*c01+c18*s01
c19=c18*c01-s18*s01

s20=s21*c01-c21*s01
c20=c21*c01+s21*s01

s22=s21*c01+c21*s01
c22=c21*c01-s21*s01

s23=s24*c01-c24*s01
c23=c24*c01+s24*s01

s25=s24*c01+c24*s01
c25=c24*c01-s24*s01

s26=s27*c01-c27*s01
c26=c27*c01+s27*s01

s28=s27*c01+c27*s01
c28=c27*c01-s27*s01

s29=s30*c01-c30*s01
c29=c30*c01+s30*s01

s31=s30*c01+c30*s01
c31=c30*c01-s30*s01

s32=s33*c01-c33*s01
c32=c33*c01+s33*s01

s34=s33*c01+c33*s01
c34=c33*c01-s33*s01

s35=s36*c01-c36*s01
c35=c36*c01+s36*s01

s37=s36*c01+c36*s01
c37=c36*c01-s36*s01

s38=s39*c01-c39*s01
c38=c39*c01+s39*s01

s40=s39*c01+c39*s01
c40=c39*c01-s39*s01

s41=s42*c01-c42*s01
c41=c42*c01+s42*s01

s43=s42*c01+c42*s01
c43=c42*c01-s42*s01

s44=s45*c01-c45*s01
c44=c45*c01+s45*s01

s00
s01
s02
s03
s04
s05
s06
s07
s08
s09
s10
s11
s12
s13
s14
s15
s16
s17
s18
s19
s20
s21
s22
s23
s24
s25
s26
s27
s28
s29
s30
s31
s32
s33
s34
s35
s36
s37
s38
s39
s40
s41
s42
s43
s44
s45

c00
c01
c02
c03
c04
c05
c06
c07
c08
c09
c10
c11
c12
c13
c14
c15
c16
c17
c18
c19
c20
c21
c22
c23
c24
c25
c26
c27
c28
c29
c30
c31
c32
c33
c34
c35
c36
c37
c38
c39
c40
c41
c42
c43
c44
c45

s005=sqrt(0.5-0.5*c01)
c005=sqrt(0.5+0.5*c01)

s=s005/5
c=sqrt(1-s*s)

s=s-(((16*s*s-20)*s*s+5)*s-s005)/(((80*s*s-60)*s*s)+5)
s=s-(((16*s*s-20)*s*s+5)*s-s005)/(((80*s*s-60)*s*s)+5)
s=s-(((16*s*s-20)*s*s+5)*s-s005)/(((80*s*s-60)*s*s)+5)
s=s-(((16*s*s-20)*s*s+5)*s-s005)/(((80*s*s-60)*s*s)+5)
s=s-(((16*s*s-20)*s*s+5)*s-s005)/(((80*s*s-60)*s*s)+5)
s=s-(((16*s*s-20)*s*s+5)*s-s005)/(((80*s*s-60)*s*s)+5)
s001=s

c=c-((((16*c*c-20)*c*c)+5)*c-c005)/(((80*c*c-60)*c*c)+5)
c=c-((((16*c*c-20)*c*c)+5)*c-c005)/(((80*c*c-60)*c*c)+5)
c=c-((((16*c*c-20)*c*c)+5)*c-c005)/(((80*c*c-60)*c*c)+5)
c=c-((((16*c*c-20)*c*c)+5)*c-c005)/(((80*c*c-60)*c*c)+5)
c=c-((((16*c*c-20)*c*c)+5)*c-c005)/(((80*c*c-60)*c*c)+5)
c=c-((((16*c*c-20)*c*c)+5)*c-c005)/(((80*c*c-60)*c*c)+5)
c001=c