Почему cos () нужно rad на моем калькуляторе нужны только градусы - PullRequest
0 голосов
/ 09 марта 2020

Пожалуйста, у меня есть этот код для моей собаки Arduino
, но он не работает, потому что у меня нет предопределенного угла к радиану для операции cos (), но в конце мне нужно получить угол (после операции cos () ).

const int b = 200; //Lengt
const int Pin = A0; //Pot pin
int c = 0; //Variable for Angle
int d = 0; //
int e = 0; //Final side size

void setup() {
  Serial.begin(9600);
}

void loop() {
c = analogRead(Pin);//Read potval write to variable c
c = map(c, 0, 1023, 0, 180);//Map potval to Angle
c = cos(c)//Calculate Cosinus
d = b - (b * c);//200 - (200 * c)
e = sqrt(d)//Calcute √e
Serial.print(e)//Print out final side a
}


//Example:
//d = 200 − (200 * 0,6560)
//d = 200 − 131,2 = 68.8
//e = √68.8
//e = 8.29

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Поскольку функция cos () определяется как принимающая аргумент в радианах: https://www.arduino.cc/reference/en/language/functions/trigonometry/cos/

Радианы являются единицами СИ для углов, и большинство программ библиотеки ожидают, что угловые параметры будут в радианах. В большинстве научных калькуляторов c есть кнопка для переключения между радианами и градусами (а иногда и градами).

0 голосов
/ 09 марта 2020

Ваш вопрос: «Почему?»

Ответ: потому что это определено так в C ++.

...