unity --21 数学基础---三角函数

这篇博客介绍了Unity中角度与弧度的概念及其转换,详细阐述了三角函数(正弦、余弦、正切)及其反函数的使用,并通过实例展示了如何利用这些函数进行坐标计算,例如将本地坐标转换为世界坐标。最后提供了一个计算物体右前方30°、10米远坐标的应用示例。

角度Degree与弧度Radian

两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一 段弧。当弧长等于圆周长的360分之一时,夹角为1度。
如果弧长等 于圆的半径时,夹角为1弧度。
在这里插入图片描述
可见单位弧度的计量比角度要大得多。
API:弧度=角度数Mathf.Deg2Rad
API:角度=弧度数
Mathf.Rad2Deg

日常生活中人类用角度比较多,但是在unity中,计算都是弧度。

三角函数

已知根据一边一角,计算另外一边长。
在这里插入图片描述
正弦sin x = a / c;
余弦cos x = b / c;
正切tan x = a / b;

因为unity提供的三角函数参数是弧度,因此如果是角度需要转换一下。
当为直角三角形时:
Mathf.Sin(float radian) : 对边比斜边
Mathf.Cos(float radian) : 临边比斜边
Mathf.Tan(float radian): 对边比临边

反三角函数

已知两边长,计算两边的弧度
在这里插入图片描述
反正弦arcsina / c = x;
反余弦arccosb / c = x;
反正切arctana / b = x;

当为直角三角形时:
Mathf.Asin(float f):f是对应的比值a/c
Mathf.Acos(float f):f是对应的比值b/c
Mathf.Atan(float f):f是对应的比值a/b

应用

通常用来计算世界坐标系中的位置。
transform.TransformPoint 其功能是把本地坐标转换为世界坐标。
本地坐标的原点就是该物体的轴心点,所以物体在世界中放置位置不同,其原点的世界坐标也不同,但其作为本地坐标原点是不变的。

练习:计算一个物体右前方30°,10米远的坐标。
解: 题目给出的条件只能是本地坐标,
在这里插入图片描述
sin30°=a/10; a为x轴
cos30°=b/10;b为z轴
a=sin30°10; b=cos30°10;
代码

float a = Mathf.Sin(30 * Mathf.Deg2Rad)*10;
float b = Mathf.Cos(30 * Mathf.Deg2Rad)*10;
Vector3 worldPoint= transform.TransformPoint(a, 0, b);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值