Arduino 中的三角函数
Arduino 提供 3 个基本的三角函数:sin()、cos() 和 tan()。所有其他三角表达式均可从这三个函数导出。
这三个函数均以弧度(float 类型)作为输入。它们返回双精度浮点数。
对于 sin() 和 cos(),值介于 -1 和 1 之间。tan() 的值没有此类界限。
示例
以下示例代码说明了这些函数的使用 −
void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); float pi = 3.14159; float angle_deg = 30; float angle_rad = angle_deg*pi/180; Serial.println(sin(angle_rad)); Serial.println(cos(angle_rad)); Serial.println(tan(angle_rad)); } void loop() { // put your main code here, to run repeatedly: }
输出
串口监视器的输出为 −
sin(30°) =1/2, cos(30°) = sqrt(3)/2 = 0.86602, tan(30°) = 1/sqrt(3) = 0.57735。因此,返回的值是正确的。
看到为 90 度打印的值将会非常有趣,因为 tan(90°) 等于无穷大。让我们尝试一下。串口监视器中以上代码的输出,将 30 替换为 90,如下所示 −
如您所见,它为 tan(90 度) 打印了 7,88,898.12,这是一个非常大的数字。还要注意,我们的 π 只定义到了小数点后 5 位。所以函数的输入不是准确的 90 度,而是非常接近此值的数字。
广告