cos()
cos(rad)
O cosseno anda de mãos dadas com o seno: enquanto o seno cuida do eixo Y de um movimento circular, o cosseno cuida do eixo X. Junte os dois e você desenha círculos, controla trajetórias e gera ondas defasadas. E o mesmo aviso vale aqui: o ângulo entra em radianos.
Sintaxe
cos(rad);
Parâmetros
- rad: o ângulo em radianos (tipo
floatoudouble). Vindo de graus, converta comradianos = graus * PI / 180.0.
Retorno
O cosseno do ângulo, um double entre -1.0 e 1.0.
Exemplo
void setup() {
Serial.begin(9600);
}
void loop() {
// posição (x, y) de um ponto girando num círculo de raio 100
for (int graus = 0; graus < 360; graus += 45) {
float rad = graus * PI / 180.0;
float x = 100 * cos(rad);
float y = 100 * sin(rad);
Serial.print("x = ");
Serial.print(x, 1);
Serial.print(" y = ");
Serial.println(y, 1);
}
delay(2000);
}
Notas e cuidados
- Ângulo em radianos, sempre. Para graus, multiplique por
PI / 180.0antes. cos(0)vale1, ecosestá 90 graus adiantado em relação aosin— útil para gerar duas ondas defasadas.- Conta de ponto flutuante: no Uno, sem unidade de ponto flutuante em hardware, é custosa. Em loops muito rápidos, uma tabela de valores pode compensar.