仅通过一个三角形,制作0°~360°的三角函数表(不使用级数近似)
ki帛2025/02/06原创 数学 IP:重庆
中文摘要
本文介绍了如何通过几何方法和编程手段制作0°至360°的三角函数表。通过构造黄金三角形并利用和角公式计算特殊角度的三角函数值。并采用三倍角公式列方程和夹逼法求解关键根式的近似值得到sin 1°的精确近似值。并用其对0°至90°范围内的角度进行正弦和余弦值的迭代计算。通过诱导公式制作0°至360°的三角函数表。
关键词
三角函数黄金三角形欧氏几何

三角学(trigonometry)是数学学科里面一个非常重要的分支,在天文学、物理学、测量学以及航海等方面都有广泛的应用。尤其是对于测量方面的需求,三角函数值的精确性在很大程度上决定了测量的精确程度。尤其是在Taylor级数或McLaughlin级数未发现之前,人们对于涉及三角函数的计算主要依赖于三角函数表,所以三角函数表的编制就显得尤为重要。接下来笔者将会呈现几何法制作0°~360°的三角函数表的方法和过程。

一 构造黄金三角形(底角为72°的等腰三角形)


这一步主要的目的是求18°的三角函数值,先构造一个黄金三角形$\Delta ABC$(如图)

geogebra-export.png

$\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}$$

二 再求15°的三角函数值

采用和角公式,有

$$\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}$$

三 求出3°的三角函数值

通过二中的数据,可得

$$\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}$$

六 求出sin 1°的近似数值

代入$\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值,输出文件如下

attachment iconform about sin_cos.xlsx13.96KBXLSX0次下载

八 采用诱导公式将表扩展到0°~360°范围


采用诱导公式后看绘制出0°~360°范围的三角函数表,如下

attachment iconform.xlsx14.11KBXLSX1次下载

九 结语

从古代几何方法到现代计算机技术的应用,人类不断探索更加高效准确的方法来获取三角函数值。本文阐述了从黄金三角形的构造到利用Python编程实现自动化数据生成的全过程,不仅重现了历史上数学家们如何通过几何手段求解特定角度的三角函数值,也展示了现代科技如何极大地简化这一过程。尽管现代计算器和软件已经能够提供高度精确的三角函数值,但理解和掌握这些基础方法仍然具有重要的教育意义。希望本文能激发更多人对数学的兴趣,尤其是对三角学及其应用领域的深入探索。通过这种跨时代的知识融合,我们不仅能更好地理解数学的本质,也能为未来的科学发现和技术进步奠定坚实的基础。


来自:数理化 / 数学严肃内容:专著/论述
1
5
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
ki帛
进士 机友 笔友
文章
3
回复
31
学术分
0
2022/11/24注册,5天14时前活动

技术型《学渣》

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:重庆
相似文章推荐
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的