Unity基础——三角函数与坐标系

简介: Unity基础——三角函数与坐标系

三角函数

角度和弧度

角度和弧度都是度量角的单位

角度:1°       圆一周的角度:  360°

弧度:1 radian   圆一周的弧度:  2Π radian

角度和弧度的转换关系是什么呢?我们由Π rad=180°可以得到:

1 rad=(180/Π)°≈57.3°  =>弧度57.3=对应角度   =>弧度Rad2Deg=对应角度

1°=(Π/180)rad≈0.01745 rad   =>角度0.01745=对应弧度   =>角度Deg2Rad=对应弧度

三角函数是初等函数之一,包括正弦函数、余弦函数、正切函数等等,我们可以通过反三角函数计算正弦值或余弦值对应的弧度值,在Unity中,我们可以使用Mathf.Sin()、Mathf.cos()等来使用三角函数;反三角函数也是初等函数之一,同样也包括反正弦函数、反余弦函数等等,我们可以通过反三角函数计算正弦值或余弦值对应的弧度值,在Unity中,我们可以使用Mathf.ASin()、Mathf.Acos()等来使用三角函数。

需要注意的是,Unity提供的数学计算函数使用的都是弧度值,如果我们想要得到角度的话,需要在Unity中将弧度转换成角度再进行使用。

坐标系

Unity的坐标系分为世界坐标系、物体坐标系、屏幕坐标系和视口坐标系四个坐标系。

世界坐标系

世界坐标系的原点是世界的中心点,世界坐标系的三个轴向是固定的

物体坐标系

物体坐标系的原点是物体的中心点,物体右方为X轴正方形向,物体上方为Y轴正方向,物体前方为Z轴正方向。

屏幕坐标系

屏幕坐标系的原点在屏幕的左下角,向右为X轴正方向,向上为Y轴正方向,最大宽为Screen.width,最大高为Screen.height

视口坐标系

视口坐标系的原点也在屏幕的左下角,向右为X轴正方向,向上为Y轴正方向,左下角的坐标为(0,0),而右上角的坐标为(1,1),它与屏幕坐标系类似,但是它可以将坐标单位化

坐标之间是可以相互转换的:

世界坐标 => 本地坐标

this.transform.InverseTransformDirection;
this.transform.InverseTransformPoint;
this.transform.InverseTransformVector;

本地坐标 => 世界坐标

this.transform.TransformDirection;
this.transform.TransformPoint;
this.transform.TransformVector;

世界坐标 => 屏幕坐标

Camera.main.WorldToScreenPoint;

屏幕坐标 => 世界坐标

Camera.main.ScreenToWorldPoint;

世界坐标 => 视口坐标

Camera.main.WorldToViewportPoint;

视口坐标 => 世界坐标

Camera.main.ViewportToWorldPoint;

视口坐标 => 屏幕坐标

Camera.main.ViewportToScreenPoint;

屏幕坐标 => 视口坐标

Camera.main.ScreenToViewportPoint;
目录
相关文章
|
1月前
|
计算机视觉
OpenCV(二十七):图像距离变换
OpenCV(二十七):图像距离变换
20 0
|
4月前
[Halcon&几何] 直线的垂线与延长线的计算
[Halcon&几何] 直线的垂线与延长线的计算
87 1
从0开发游戏引擎之使用OpenGL绘制三维球体
绘制球体的难点主要在于 要在遍历循环中 根据经纬度反复的使用Cos、Sin函数算出球面上的XYZ三个顶点坐标,一直反复计算,最终三角面多的形成了一个球的形状。
|
图形学
Unity【Lerp & Slerp】- 线性插值与球形插值的区别
Unity【Lerp & Slerp】- 线性插值与球形插值的区别
416 1
Unity【Lerp & Slerp】- 线性插值与球形插值的区别
【OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )(一)
【OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )(一)
123 0
【OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )(一)
|
Windows
【OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )(二)
【OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )(二)
118 0
【OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )(二)
游戏开发中的矩阵与变换(1)
游戏开发中的矩阵与变换
140 0
游戏开发中的矩阵与变换(1)
|
存储 数据可视化
游戏开发中的矩阵与变换(03)
游戏开发中的矩阵与变换
286 0
游戏开发中的矩阵与变换(03)
游戏开发中的矩阵与变换(2)
游戏开发中的矩阵与变换
100 0
游戏开发中的矩阵与变换(2)