三角学(trigonometry)是数学学科里面一个非常重要的分支,在天文学、物理学、测量学以及航海等方面都有广泛的应用。尤其是对于测量方面的需求,三角函数值的精确性在很大程度上决定了测量的精确程度。尤其是在Taylor级数或McLaughlin级数未发现之前,人们对于涉及三角函数的计算主要依赖于三角函数表,所以三角函数表的编制就显得尤为重要。接下来笔者将会呈现几何法制作0°~360°的三角函数表的方法和过程。
这一步主要的目的是求18°的三角函数值,先构造一个黄金三角形$\Delta ABC$(如图)
在$\Delta ABC$ 中,
过点作$\angle BAC$的角平分线交边BC于点E。过点B作边AC的垂直平分线交边AC于点D。
$$\begin{array}{l} \because \angle B A C=\angle B C A=72^{\circ} \\ \therefore \triangle A B C=180^{\circ}-2 \angle B A C=36^{\circ}\\ \therefore \angle C A E=\frac{1}{2} \angle B A C=36^{\circ} \\ \Rightarrow \angle A E C=180^{\circ}-\angle C A E-\angle A C E=72^{\circ} \\ \because \angle A E C=\angle A C E=72^{\circ} \\ \therefore A C=A E \\ \angle A E B=180^{\circ}-\angle A E C=108^{\circ} \\ \therefore \angle B A E=\frac{1}{2} \angle B A C=36^{\circ} \\ \therefore A E=B E \\ \text { 令} A B=C B=1, A D=C D =x \\ \because \angle A B C=\angle C A E=36^{\circ} \\ \angle B A C=\angle A C E=\angle B C A=\angle A E C=72^{\circ} \\ \therefore \triangle A B C \sim \triangle C A E(SSS)\text{即有,} \frac{A B}{A C}=\frac{A C}{C E} \\ \because C E=B C-B E=1-2 x \\ A C=2 A D=2x\\ \text{有,} \\ \frac{1}{2 x}=\frac{2x}{1-2x}\\ \text{得:}x=\frac{-\sqrt{5}-1}{4} \text{(舍去);} x=\frac{\sqrt{5}-1}{4}\\ \because B D 垂直平分 A C \\ 又\because \triangle ABD =\frac{1}{2} \angle ABC=18^{\circ}\\ 在Rt\triangle ABD 中,BD=\sqrt{AB^2-AD^2}=\frac{\sqrt{2}}{4} \sqrt{5+\sqrt{5}} \\ \text { 故, }\\\sin 18^{\circ}=\frac{A D}{A B}=\frac{\sqrt{5}-1}{4} \\ \cos 18^{\circ}=\frac{B D}{A B}=\frac{\sqrt{2}}{4} \sqrt{5+\sqrt{5}} \\ \tan 18^{\circ}=\frac{A B}{B D}=\frac{3\sqrt{10}-5\sqrt{2} }{20}\sqrt{5+\sqrt{5}}\\ \Box \end{array}$$
采用和角公式,有
$$\begin{array}{c} \sin 15^\circ =\sin (45^\circ - 30^\circ )=\sin 45^\circ\cos 30^\circ-\cos 45^\circ\sin 30^\circ=\frac{\sqrt{6}-\sqrt{2} }{4}\\ \cos 15^\circ =\cos (45^\circ - 30^\circ )=\cos 45^\circ\cos30^\circ -\sin45^\circ \sin 30^\circ=\frac{\sqrt{6}+\sqrt{2} }{4}\\ \tan 15^\circ =\tan (45^\circ - 30^\circ )=\frac{\tan 45^\circ-\tan 30^\circ}{1+\tan 45^\circ\tan 30^\circ} = 2-\sqrt{3} \end{array}$$
通过二中的数据,可得
$$\begin{array}{c} \sin 3^\circ =\sin (18^\circ - 15^\circ )=\sin 18^\circ\cos 15^\circ-\cos 18^\circ\sin 15^\circ=\frac{\sqrt{30}+\sqrt{10}-\sqrt{6}-\sqrt{2}+2(1-\sqrt{3})\sqrt{5+\sqrt{5}} }{16}\\ \cos 3^\circ =\cos (18^\circ - 15^\circ )=\cos 18^\circ\cos15^\circ -\sin18^\circ \sin 15^\circ=\frac{\sqrt{30}-\sqrt{10}-\sqrt{6}+\sqrt{2}+2(1+\sqrt{3})\sqrt{5+\sqrt{5}} }{16}\\ \tan 3^\circ =\tan (18^\circ - 15^\circ )=\frac{\tan 18^\circ-\tan 15^\circ}{1+\tan 18^\circ\tan 15^\circ} = \frac{(3\sqrt{10}-5\sqrt{2})\sqrt{5+\sqrt{5}}-40+20\sqrt{3}} {20+(6\sqrt{10}-3\sqrt{30}-10\sqrt{2}+5\sqrt{6})\sqrt{5+\sqrt{5}}} \end{array}$$
由二倍角公式和和角公式得,
$$\begin{array}{c} \sin 3x=\sin (2x+x)=\sin 2x\cos x+\cos 2x\sin x\\ =2\sin x\cos^2 x+(1-2\sin^2 x)\sin x\\ =2\sin x(1-\sin^2 x)+(1-2\sin^2 x)\sin x\\ =-4\sin^3x+3\sin x\\ \text{有,}\sin 3^ \circ =-4\sin^3 1^\circ +3\sin 1^\circ \end{array}$$
近似计算$\sqrt{2}、\sqrt{3}、\sqrt{5}、\sqrt{6}、\sqrt{10}、\sqrt{30}$,为计算精确,结果保留9位小数,
$$\begin{array}{c} \text{以}\sqrt{2}\text{为例,将其平方并找到离它最近的两个完全平方数}\\ 1<2<4\\ \text{开平方即有}\\ 1<\sqrt{2}<2\\ \text{找到在范围(1,2)中平方后取离2最近的数(同样是两个)}\\ 1.4<\sqrt{2}<1.5\\ \text{重复以上操作}\\ 1.41<\sqrt{2}<1.42\\ \text{以此类推}\\ \sqrt{2}\approx 1.414213562\\ \text{}\\ \sqrt{3} \approx 1.732050808\\ \sqrt{5} \approx 2.236067977\\ \sqrt{6} \approx 2.449489743\\ \sqrt{10} \approx 3.162277660\\ \sqrt{30} \approx 5.477225575\\ \end{array}$$
代入$\sqrt{2}、\sqrt{3}、\sqrt{5}、\sqrt{6}、\sqrt{10}、\sqrt{30}$,保留六位小数(其中复合二次根式部分继续采用夹逼法保留9位小数)。得到,
$$\sin 3^\circ \approx 0.052336$$
将其代入方程$\sin 3^ \circ =-4\sin^3 1^\circ +3\sin 1^\circ$,由于0°<1°<90°,故$\sin 1^\circ >0$,且1°<3°,故$\sin 1^\circ<\sin3^\circ$。将$\sin0$和$\sin 3^\circ$代入函数$f(\sin x)=-4\sin^3x+3\sin x$中,满足介值定理。因此方程的一个根必在区间(0,0.05)上,采用二分法求方程的解,令精确度$\varepsilon =$10-18
并取7位小数,得
$$\sin 1^\circ \approx 0.0174524$$
制表算法采用和角公式对正弦和余弦值进行迭代,
$$\begin{array}{c} 1.\cos 1^\circ =\sqrt{1-\sin^2 1^\circ} \\ 2.\alpha _{0},\alpha _{n}=\alpha _{n-1}+1^\circ ,n\ge 1\\ 3.\sin \alpha _{n}=\sin 1^\circ \cos \alpha _{n-1} +\cos 1^\circ\sin \alpha _{n-1}\\ 4.\cos \alpha _{n} =\sqrt{1-\sin^2 \alpha _{n}}\\ \end{array}$$
采用python编写程序,直接对0~90°范围的数值进行求解,"""
制表算法
"""
import math
from openpyxl import Workbook
# 创建一个工作簿
wb = Workbook()
sheet = wb.active # 获取活动工作表或创建一个新的工作表
#执行算法流程
sin_1 = 0.0174524
cos_1 = (1 - (sin_1)**2)**0.5
sin_n = 0
cos_n = 1
for i in range(90):
sheet['A'+ str(i + 1)] = str(i + 1) + "°"
sin_n = sin_1*cos_n+cos_1*sin_n
sheet['B'+ str(i + 1)] = sin_n
cos_n = (1 - (sin_n)**2)**0.5
sheet['C'+ str(i + 1)] = cos_n
sheet['D'+ str(i + 1)] = math.sin((i + 1) * (math.pi/180))
sheet['E'+ str(i + 1)] = math.cos((i + 1) * (math.pi/180))
# 保存工作簿到文件
wb.save('form about sin_cos.xlsx')
输出的第一列为角度,第二、三列为估计的sin、cos值,第四、五列为采用Taylor展开近似后的sin值,输出文件如下
采用诱导公式后看绘制出0°~360°范围的三角函数表,如下
从古代几何方法到现代计算机技术的应用,人类不断探索更加高效准确的方法来获取三角函数值。本文阐述了从黄金三角形的构造到利用Python编程实现自动化数据生成的全过程,不仅重现了历史上数学家们如何通过几何手段求解特定角度的三角函数值,也展示了现代科技如何极大地简化这一过程。尽管现代计算器和软件已经能够提供高度精确的三角函数值,但理解和掌握这些基础方法仍然具有重要的教育意义。希望本文能激发更多人对数学的兴趣,尤其是对三角学及其应用领域的深入探索。通过这种跨时代的知识融合,我们不仅能更好地理解数学的本质,也能为未来的科学发现和技术进步奠定坚实的基础。