Unity Mathf【Deg & Rad】- 关于数学运算中的度与弧度

简介: Unity Mathf【Deg & Rad】- 关于数学运算中的度与弧度

Mathf中的三角函数是我们常用的数学运算函数,在使用过程中需要注意参数的单位,以Sin正弦函数为例,我们都知道30度角的正弦函数结果为0.5,那么当我们调用Mathf.Sin函数时,假如我们传入30,则可以发现其结果并不是0.5:

Debug.Log($"Mathf.Sin(30) => {Mathf.Sin(30f)}");

image.gif

image.gif

原因是其参数并不是以Degree度为单位,而是以Radians弧度为单位:

// 摘要://     Returns the sine of angle f.// 参数://   f://     The input angle, in radians.// 返回结果://     The return value between -1 and +1.publicstaticfloatSin(floatf);

image.gif

那么什么是弧度,百科词条中这样定义:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。

根据定义,一周的弧度数为2πr/r,即2π,那么1度等于2π/360,约等于0.01745弧度。

image.gif

因此我们在调用Mathf.Sin时,假设角度为30度,那么需要乘以近似值0.01745再作为参数传入,Mathf类中定义了这个常量,即Deg2Rad(度转弧度):

// 摘要://     Degrees-to-radians conversion constant (Read Only).publicconstfloatDeg2Rad=0.0174532924F;

image.gif

Debug.Log($"Mathf.Sin(30f * Mathf.Deg2Rad) => {Mathf.Sin(30f * Mathf.Deg2Rad)}");

image.gif

image.gif

Mathf中同样定义了弧度转度的常量,Rad2Deg:

// 摘要://     Radians-to-degrees conversion constant (Read Only).publicconstfloatRad2Deg=57.29578F;

image.gif

那么我们在使用反正弦函数时,需要用到该常量:

// 摘要://     Returns the arc-sine of f - the angle in radians whose sine is f.// 参数://   f:publicstaticfloatAsin(floatf);

image.gif

Debug.Log($"Mathf.Asin(0.5f) * Mathf.Rad2Deg => {Mathf.Asin(0.5f) * Mathf.Rad2Deg}");

image.gif

image.gif

目录
相关文章
|
C# 图形学
Unity基础——3D数学
Unity基础——3D数学
163 0
|
图形学
Unity Mathf/Math数学运算函数说明全集(Chinar总结)
Unity Mathf 数学函数库 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —...
3352 0
|
算法 图形学
Unity3dCG语言编写Shader之必备数学、图形学知识
引言计算机图形学Computer Graphics,简称CG是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
977 0
|
图形学
Unity3d数学基础之向量
这只是基础的一些数学知识,后面会为大家整理一些,unity中如何使用向量,向量在unity中的各种算法及其运算法则与mathf函数的使用。 向量是2D、3D数学研究的标准工具,在3D游戏中向量是基础。
925 0
|
图形学
Unity3d数学基础之坐标系
笛卡尔坐标系的定义 : 1、每个2D笛卡尔坐标系都有一个特殊的点,称为原点(0,0)它是坐标系的中心。 2、每个2D笛卡尔坐标系都有两条过原点的直线向两边无限延伸,称为轴,两个轴互相垂直。
1072 0
|
5月前
|
C# 图形学
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
51 0
|
5月前
|
人工智能 自然语言处理 区块链
【Unity 3D】元宇宙概念、应用前景、价值链等概述
【Unity 3D】元宇宙概念、应用前景、价值链等概述
52 0
|
5月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
41 0