关闭

Real-Time Rendering-附录B 三角函数

标签: 三角函数反函数导数
475人阅读 评论(0) 收藏 举报
分类:

Appendix B Trigonometry(附录B 三角函数)

“Life is good for only two things, discovering mathematics and teaching mathematics.”
-Simeon Poisson

附录B部分的内容旨在作为一些简单的三角函数定理的参考,同时还包含一些更复杂的定理公式。三角函数定理是计算机图形学中特别重要的工具函数。其中一个非常实用的功能是三角函数提供了简化公式的方法,从而提高计算的速度。

B.1 Definitions(定义)

这里写图片描述
图B.1 左图中显示了三角函数sincostan的几何定义表示。右图中显示了px=cosϕpy=sinϕ共同描绘出的循环周期。

如图B.1所示,其中p=(px,py)是一个单位向量,即p=1,公式B.1中定义了基本的三角函数,sincostan

Fundamental trigonometric functions:sinϕ=pycosϕ=pxtanϕ=sinϕcosϕ=pypx(B.1)

如公式B.2所示,sincostan函数可以扩展成MacLaurin series(麦克劳林级数)。麦克劳林级数是更通用的Taylor serices(泰勒级数)的一种特殊情况。泰勒级数是对一个任意的点进行扩展,而麦克劳林级数则是只针对x=0的点进行扩展。

麦克劳林级数是非常有用的,因为该公式阐明了导数的一些来源(如公式B.4所示)。

MacLaurin serices:sinϕ=ϕϕ33!+ϕ55!ϕ77!++(1)nϕ2n+1(2n+1)!+cosϕ=1ϕ22!+ϕ44!ϕ66!++(1)nϕ2n(2n)!+tanϕ=ϕ+ϕ33+2ϕ515++(1)n122n(22n1)(2n)!B2nϕ2n1+(B.2)

在前两个级数中 ϕ 的取值范围为<ϕ<,而最后一个级数中则为π/2<ϕ<π/2,并且 Bn 表示第 n 个Bernoulli number(伯努利数)。

注:伯努利数可以使用一种递推公式生成,比如令B0=1,对于k>1,有k1j=0(kj)Bj=0

这三个基本三角函数的反函数分别为,arcsinarccosarctan,定义如公式B.3所示:

Inverses of trigonometric functions:py=sinϕϕ=arcsinpy,1py1,π2ϕπ2px=cosϕϕ=arccospx,1px1,0ϕπpypx=tanϕϕ=arctanpypx,pypx,π2ϕπ2(B.3)

基本三角函数和反函数的导数总结如下:

Trigonometric derivatives:dsinϕdϕ=cosϕdcosϕdϕ=sinϕdtanϕdϕ=1cos2ϕ=1+tan2ϕdarcsintdt=11t2darccostdt=11t2darctantdt=11+t2(B.4)

B.2 Trigonometric Laws and Formulae

这里写图片描述
图B.2 直角三角形及相关的记号表示

我们首先讨论直角三角形的基本定理。使用图B.2所示的记号,可以使用以下公式描述这些定理:

Right triangle laws:sinα=accosα=bctanα=sinαcosα=ab(B.5)

Pythagorean relation:c2=a2+b2(B.6)

这里写图片描述
图B.3 任意三角形及相关的记号表示

以下的著名定理对于任意的三角形都是有效的,其中所使用的记号如图B.3所示:

Law of sines:Law of cosines:Law of tangents:sinαa=sinβb=sinγcc2=a2+b22abcosγa+bab=tanα+β2tanαβ2(B.7)

此外,以下两个公式对任意的三角形也是有效的,这两个公式分别以发明者的姓名进行命名:
Newton's formula :Mollweide's formula :b+ca=cosβγ2sinα2bca=sinβγ2cosα2(B.8)

把三角函数的定义(公式B.1)与勾股定理(公式B.6)相结合可以得到以下的三角恒等式:
Trigonometric identity:cos2ϕ+sin2ϕ=1(B.6)

接下来描述三角函数的倍角公式,使用这些公式可以简化计算,并使得公式的实现更加高效。二倍角公式如下所示:
Double angle relations:sin2ϕ=2sinϕcosϕ=2tanϕ1+tan2ϕcos2ϕ=cos2ϕsin2ϕ=12sin2ϕ=2cos2ϕ1=1tan2ϕ1+tan2ϕtan2ϕ=2tanϕ1tan2ϕ(B.10)

在些基础上做一些扩展可以得到三倍角公式,如下所示:
Multiple angle relations:sin(nϕ)=2sin((n1)ϕ)cosϕsin((n2)ϕ)cos(nϕ)=2cos((n1)ϕ)cosϕcos((n2)ϕ)tan(nϕ)=tan((n1)ϕ)+tanϕ1tan((n1)ϕ)tanϕ(B.11)

公式B.12和B.13列出了三角函数的和差定理,称为和差恒等式。
Angle sum relations:sin(ϕ+ρ)=sinϕcosρ+cosϕsinρcos(ϕ+ρ)=cosϕcosρsinϕsinρtan(ϕ+ρ)=tanϕ+tanρ1tanϕtanρ(B.12)

Angle difference relations:sin(ϕρ)=sinϕcosρcosϕsinρcos(ϕρ)=cosϕcosρ+sinϕsinρtan(ϕρ)=tanϕtanρ1+tanϕtanρ(B.13)

接下来是积化和差公式:
Product relations:sinϕsinρ=12(cos(ϕρ)cos(ϕ+ρ))cosϕcosρ=12(cos(ϕρ)+cos(ϕ+ρ))sinϕcosρ=12(sin(ϕρ)+sin(ϕ+ρ))(B.14)

公式B.15和B.16分别为和差化积公式和半角公式。
Function sums and differences:sinϕ+sinρ=2sinϕ+ρ2cosϕρ2cosϕ+cosρ=2cosϕ+ρ2cosϕρ2tanϕ+tanρ=sin(ϕ+ρ)cosϕcosρsinϕsinρ=2cosϕ+ρ2sinϕρ2cosϕcosρ=2sinϕ+ρ2sinϕρ2tanϕtanρ=sin(ϕρ)cosϕcosρ(B.15)

Half-angle relations:sinϕ2=±1cosϕ2cosϕ2=±1+cosϕ2tanϕ2=±1cosϕ1+cosϕ=1cosϕsinϕ=sinϕ1+cosϕ(B.15)

Further Reading and Resources

Graphics Gems一书中的第一章提供了计算机图形学中其他的非常实用的几何定理。在CRC Standard Mathematical Tables and Formulas第31版中包含了该附录中的所有定理公式,以及更多附录中没有提到的部分。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:72939次
    • 积分:1679
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:81篇
    • 评论:73条
    最新评论