目录

  • 1 定义
  • 2 常用公式推导
    • 2.1 sin²θ + cos² = 1
    • 2.2 sinθ = cos(90°-θ)、 cosθ = sin(90°-θ)
    • 2.3 sin(-θ) = -sinθ、 cos(-θ) = cosθ
    • 2.4 sin(90°+θ) = cosθ 、cos(90°+θ)=-sinθ
    • 2.5 余弦定理
    • 2.6 正弦定理
    • 2.7 cos⁡(θ-β) = cosθ*cosβ + sinθ*sinβ
  • 3 三角函数图像性质
  • 4 Unity中三角函数常用到的地方

1 定义

三角函数的定义:在一个平面直角坐标系中,以原点为圆心,1为半径画圆,交x轴于A点。以圆心O为旋转中心,将A点逆时针旋转θ度(一般规定逆时针旋转为正方向)至点B,设此时B点的坐标为(x, y)。
那么此时,y的值就叫做θ的正弦,记作sinθ。
x的值就叫做θ的余弦,记作cosθ。
y/x的值就叫做θ的正切,记作tanθ。

2 常用公式推导

2.1 sin²θ + cos² = 1

因为上图中单位圆上点满足x²+y²=1,又x=sinθ,y=cosθ。
所以sin²θ+cos²θ=1。

2.2 sinθ = cos(90°-θ)、 cosθ = sin(90°-θ)


如上图,θ+β=90°。
则有sinθ=y=cosβ=cos(90°-θ)。
cosθ=x=sinβ=sin(90°-θ)。

2.3 sin(-θ) = -sinθ、 cos(-θ) = cosθ


如图,可知sin(-θ)=-y=-sinθ,cos(-θ)=x=cosθ。

2.4 sin(90°+θ) = cosθ 、cos(90°+θ)=-sinθ


如图,根据三角函数的定义sin(90°+θ)=y’,cos(90°+θ)=x’。
又△B‘y’o全等于△BxO,有y’=x,x’=-y。
于是sin(90°+θ)=y’=x=cosθ,cos(90°+θ)=x’=-y=sinθ。
同理可得sin(180°+θ) = -sinθ,cos(180°+θ) = -cosθ。

2.5 余弦定理

余弦定理主要用来解答三角形中已知两边长度及其夹角,求第三边的长度的问题。

如图,已知AB、AC的长分别为c、b,及AB、AC的夹角为θ,求BC的长度a为多少?
公式为:a² = c²+b²-2bccosθ
解法如下:
过B点做AC的垂线BD。

2.6 正弦定理

如图,已知△ABC外接圆的半径为r,则有a=2rsin∠A,b=2rsin∠B,c=2rsin∠C。

推导过程如下:
如图,设O为外接圆的圆心,则△AOB、△BOC、△AOC均为等腰三角形。
所以,∠A+∠B+∠C = (β+θ) + (β+γ) + (γ+θ) =2(β+θ+γ)= 180°
即β+θ+γ = 90°。
做辅助线OD垂直AC与点D。

可知AD = b/2。
则有





同理可得

2.7 cos⁡(θ-β) = cosθcosβ + sinθsinβ

此公式推导过程如下:

△OBB’中,根据余弦定理有

又有



利用上面这个公式,咱们还可以推导出其他公式。
比如,我们设β = 90°-α,代入上面公式,则有


3 三角函数图像性质

4 Unity中三角函数常用到的地方

上面说了这么多,三角函数到底有什么用?
①在Unity中,只要涉及到旋转和角度,就不可避免的要用到三角函数,比如不同坐标系的变换矩阵、向量的点积和叉积等
②sin和cos函数是周期波动的,我们可以用这个性质来模拟旗帜的飘动和水的波动
③任何信号经过傅里叶变换都可以分解为无数正余弦信号的叠加,我们可以通过这些正余弦信号的频率和幅值得出一些有意义的信息,比如图片中是否有噪声
④欧拉公式

博主个人博客本文链接

Unity3D C#数学系列之三角函数相关推荐

  1. Unity3D C#数学系列之矩阵基础

    目录 1 引言 2 矩阵的作用 3 矩阵的乘法 3.1 矩阵与标量的乘法 3.2 矩阵与矩阵的乘法 4 特殊矩阵 4.1 方块矩阵 4.1.1 对角矩阵 4.1.2 单位矩阵 4.2 转置矩阵 4.3 ...

  2. Unity3D C#数学系列之判断两条线段是否相交并求交点

    1 引言 问题:已知三维空间中四点A.B.C.D,如何判断线段AB与CD是否相交,若相交则求出交点. 分析: AB.CD要相交,则AB.CD必须要在同一平面内 快速排斥和跨立实验判断是否相交 几何法分 ...

  3. Unity3D C#数学系列之点积

    文章目录 1 定义 2 几何意义 3 向量a·向量b = xaxb+yayb+zazb 4 应用案例 4.1 求两向量的夹角 4.2 判断两向量是否垂直 4.3 判断NPC是否在攻击范围内 4.4 已 ...

  4. 【浅墨Unity3D Shader编程】之三 光之城堡篇:子着色器、通道与标签的写法 amp; 纹理混合...

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://hpw123.net/a/C__/kongzhitaichengxu/2014/1117/120.html 作者:毛星 ...

  5. 【Unity3D Shader编程】之三 光之城堡篇:子着色器、通道与标签的写法 纹理混合

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/41175585 作者:毛星云(浅墨) ...

  6. NumPy之三角函数、舍入函数

    NumPy之三角函数.舍入函数 NumPy 包含大量的各种数学运算功能. 三角函数 NumPy拥有标准的三角函数,它为弧度制单位的给定角度返回三角函数比值. import numpy as np a ...

  7. 《CNN笔记总结系列之三》激励层

    <CNN笔记总结系列之三>激励层 -------本文仅为学习笔记,不做任何商业用途------- 前言     <CNN笔记总结系列>前两部分简要介绍了CNN的数据输入层以及卷 ...

  8. SCCM2012系列之三,SCCM2012部署前的IIS准备

    SCCM2012系列之三,SCCM2012部署前的IIS准备 IIS是SCCM2012中非常重要的部署条件.SQL Server,WSUS等产品都需要IIS的支持.因此,完成Active Direct ...

  9. 活动目录系列之三---域控制器常规卸域

    活动目录系列之三---域控制器常规卸域 在介绍正题之前,先补充很多人提出的一个疑问,就是什么情况下计算机名系统不让更改,其实很简单,当在域情况下,用非管理员登陆域,即计算机名就不让更改,运行---CM ...

最新文章

  1. MSSQL 漏洞利用与提权
  2. java app上传图片接口_接口app 接口中上传 图片
  3. 链接和作用域2 - C++快速入门43
  4. 算法之如何进行算法复杂度分析
  5. 组合破解windows域账号
  6. CCF大专委2018年大数据发展趋势预测
  7. php 中curd表达啥,thinkphp的CURD和查询方式介绍
  8. (八大方法、逐层深入,有你一定没见过的)使用INSERT语句向表中插入数据
  9. 【英语学习】【Level 08】U01 Let's Read L2 Of fairies and princesses
  10. Python使用模块中对象的几种方法
  11. 深度神经网络编程细节
  12. 我的java编程之路小小总结感想
  13. ————————————————素数的快速判断方法————————————————————...
  14. C语言单片机笔试题,c语言面试题集(单片机
  15. windows开机启动方法
  16. 阿里IOT云平台(二)---10分钟物联网设备接入阿里云IoT平台
  17. 【SSM - SpringMVC篇】03 - SpringMVC的参数绑定 - 参数自动绑定 - javabean对象参数绑 - 嵌套bean参数绑定
  18. IPv6连接测试通过,但是无法ping成功问题解决(记录)
  19. Sigar 获取CPU和Memory内存等信息使用详解
  20. 宝宝长牙发烧怎么办?会自己退吗?

热门文章

  1. python四瓣花代码_小蛇学python(14)K-means预测花朵种类
  2. Hololens基础开发
  3. 分页查询,但是页面只重复显示一条数据
  4. 虚拟机pycharm 路径设置_Pycharm连接虚拟机
  5. 【linux iic子系统】i2c设备的添加方法(四)
  6. oracle的种子文件,Oracle用RMAN还原种子数据库
  7. 臭氧效果器免安装版 – iZotope Ozone Advanced v9.1.0 WiN
  8. 简约代码表白_java简短表白代码是什么
  9. Mendix开发网页移动App项目考虑因素
  10. 在SharePoint管理中心管理SharePoint Designer设置