IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity3D C#数学系列之三角函数 -> 正文阅读

[游戏开发]Unity3D C#数学系列之三角函数


1 定义

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

2 常用公式推导

2.1 sin2θ + cos2 = 1

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

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

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

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

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

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

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为多少?
公式为:a2 = c2+b2-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。
则有
正弦定理推导01

正弦定理推导02

正弦定理推导03
同理可得
正弦定理推导04

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

cos(α-θ)=cosα * cosθ + sinα * sinθ

此公式推导过程如下:

△OBB’中,根据余弦定理有
cos?(θ-β) = cosθ*cosβ + sinθ*sinβ推导过程01
又有
和差化积推导01

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

和差化积推导04

3 三角函数图像性质

三角函数图像

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

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

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:40:53  更:2021-11-22 12:41:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 23:42:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码