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

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

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


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

geogebra-export.png

ΔABC 中,

过点作BAC的角平分线交边BC于点E。过点B作边AC的垂直平分线交边AC于点D。

BAC=BCA=72ABC=1802BAC=36CAE=12BAC=36AEC=180CAEACE=72AEC=ACE=72AC=AEAEB=180AEC=108BAE=12BAC=36AE=BE 令AB=CB=1,AD=CD=xABC=CAE=36BAC=ACE=BCA=AEC=72ABCCAE(SSS)即有,ABAC=ACCECE=BCBE=12xAC=2AD=2x有,12x=2x12x得:x=514(舍去);x=514BDACABD=12ABC=18RtABD,BD=AB2AD2=245+5 故, sin18=ADAB=514cos18=BDAB=245+5tan18=ABBD=31052205+5

二 再求15°的三角函数值

采用和角公式,有

sin15=sin(4530)=sin45cos30cos45sin30=624cos15=cos(4530)=cos45cos30sin45sin30=6+24tan15=tan(4530)=tan45tan301+tan45tan30=23

三 求出3°的三角函数值

通过二中的数据,可得

sin3=sin(1815)=sin18cos15cos18sin15=30+1062+2(13)5+516cos3=cos(1815)=cos18cos15sin18sin15=30106+2+2(1+3)5+516tan3=tan(1815)=tan18tan151+tan18tan15=(31052)5+540+20320+(610330102+56)5+5

四 推导三倍角公式并列三次方程

由二倍角公式和和角公式得,

sin3x=sin(2x+x)=sin2xcosx+cos2xsinx=2sinxcos2x+(12sin2x)sinx=2sinx(1sin2x)+(12sin2x)sinx=4sin3x+3sinx有,sin3=4sin31+3sin1

五 采用夹逼法求关键根式的近似值

近似计算23561030,为计算精确,结果保留9位小数,

2为例,将其平方并找到离它最近的两个完全平方数1<2<4开平方即有1<2<2找到在范围(1,2)中平方后取离2最近的数(同样是两个)1.4<2<1.5重复以上操作1.41<2<1.42以此类推21.41421356231.73205080852.23606797762.449489743103.162277660305.477225575

六 求出sin 1°的近似数值

代入23561030,保留六位小数(其中复合二次根式部分继续采用夹逼法保留9位小数)。得到,

sin30.052336

将其代入方程sin3=4sin31+3sin1,

由于0°<1°<90°,故sin1>0,且1°<3°,故sin1<sin3。将sin0sin3代入函数f(sinx)=4sin3x+3sinx中,满足介值定理。因此方程的一个根必在区间(0,0.05)上,采用二分法求方程的解,令精确度ε=10-18

并取7位小数,得

sin10.0174524

七 设计制表流程和算法

制表算法采用和角公式对正弦和余弦值进行迭代,

1.cos1=1sin212.α0,αn=αn1+1,n13.sinαn=sin1cosαn1+cos1sinαn14.cosαn=1sin2αn

采用python编写程序,直接对0~90°范围的数值进行求解,

Python
""" 制表算法 """ 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
新版本公告
~~空空如也
2SC1970
1个月4天前 IP:山东
941968

应用类似的方法是不是可以编制任意“分度值”的三角函数表(例如0-360°间隔0.01°)?


引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

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

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

技术型《学渣》

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

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的