弧度
角度: 圆被平分为360分(人为定义),其中的一份为 1deg, 1deg = π / 180
弧度: 圆上弧长等于半径时的圆心角, 1rad ~ 57.2958deg
整圆弧度 2π (2πr / r)
角弧度换算
弧度转角度
1 | function toAngle(radian) { |
角度转弧度
1 | function toRadian(angle) { |
常用方法
Math.sin(rad)
输入弧度, 返回对应弧度的正值
Math.cos(rad)
输入弧度, 返回对应的余弦值
Math.tan(rad)
输入弧度, 返回对应的正切值/斜率
Math.atan(rad)
输入正切值, 返回对应的弧度值
Math.atan2(y, x)
返回象限角对应的弧度值
参数y为纵坐标
参数x为横坐标
atan和atan2的区别
在不同象限中,atan输入值可能相同
而atan2不存在这个问题
角度计算
1 根据圆内点a坐标(x, y), 求点a的象限角
已知
- 点a坐标为 (x, y)
- 圆心点坐标为(cx, cy)
则
1 | let radian = Math.atan2(y - cy, x - cx) |
象限是逆时针的
如果需要从12点方向开始, 按顺时针计算,可以翻转y轴坐标,然后向左旋转90度
1 | let radian = Math.atan2(cy - y, x - cx) + Math.PI / 2 |
2 已知圆上点a象限角及周长.求点a坐标
圆上点y轴坐标计算公式 sin(ϴ)r
圆上点x轴坐标计算公式 cos(ϴ)r
已知
- 象限角radian
- 圆心坐标(cx, cy)及半径R
1 | let x = cx + Math.cos(radian) * r |
参考
https://zh.wikipedia.org/wiki/弧度
https://zh.wikipedia.org/wiki/正弦
数学乐 弧度
数学乐 正弦、余弦和正切
数学乐 反正弦、反余弦和反正切
java - Find angle of point on circle - Stack Overflow
反正切函数 Math.atan() 与 Math.atan2() 的区别 · Issue #17 · o2team/H5Skills · GitHub