【第二期】角度与弧度的转换问题

本期知识点密度:★✩✩✩✩

角度与弧度的转换

radians() 和 degrees()

1
2
println(radians(180));  // 3.1415927
println(degrees(PI)); // 180.0

这应该是最正式的回答了

然而,作为Java的衍生产物,Processing支持非常多的Java特性;
其中,就包括我们接下来要说的:
Java的数学函数库:java.lang.Math;


Math.toRadians() 和 Math.toDegrees()

1
2
println(Math.toRadians(180));       // 3.141592653589793
println(Math.toDegrees(Math.PI)); // 180.0

无需在开头写 import,直接用即可
原生函数的特点是计算结果更精确(使用double类型的数据,支持15-16个有效数字的精确度)
相比于Processing原生的7-8个有效数字,要精确了不少;


DEG_TO_RAD 和 RAD_TO_DEG

1
2
println(180 * DEG_TO_RAD);  // 3.1415927
println(PI * RAD_TO_DEG); // 180.0

这是Processing提供的另一个快捷的方法:
内置数据中有两个变量,DEG_TO_RADRAD_TO_DEG
它们的定义方式分别是:

1
2
DEG_TO_RAD = 0.017453292F;  // PI÷180
RAD_TO_DEG = 57.295776F; // 180÷PI

也就意味着,我们可以直接在弧度数据上乘以RAD_TO_DEG,或在角度数据上乘以DEG_TO_RAD即可完成转换;