Salve! Sto tentando di creare un programma in grado di calcolare le coordinate di un punto, sul piano cartesiano, che ha subito una rotazione conoscendo le coordinate di partenza, i gradi della rotazione e le coordinate del punto intorno al quale deve ruotare. Il programma è questo:
/*
11/04/2020
*/
int angolo_di_rotazione_in_gradi;
double angolo_di_rotazione_non_in_gradi;
double X_punto_di_rotazione;
double Y_punto_di_rotazione;
double X_punto_da_ruotare;
double Y_punto_da_ruotare;
double X_punto_ruotato;
double Y_punto_ruotato;
double differenza_di_X;
double differenza_di_Y;
#define angolo_di_rotazione_in_gradi 180 //Inserire il valore in gradi.
#define X_punto_di_rotazione 0.0 //Inserire il valore in decimali(obbligatorio usare il punto).
#define Y_punto_di_rotazione 0.0 //Inserire il valore in decimali(obbligatorio usare il punto).
#define X_punto_da_ruotare 0.0 //Inserire il valore in decimali(obbligatorio usare il punto).
#define Y_punto_da_ruotare 5.0 //Inserire il valore in decimali(obbligatorio usare il punto).
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
differenza_di_X = X_punto_da_ruotare-X_punto_di_rotazione;
differenza_di_Y = Y_punto_da_ruotare-Y_punto_di_rotazione;
angolo_di_rotazione_non_in_gradi = map(angolo_di_rotazione_in_gradi, 0, 180, 0, 3.14);
X_punto_ruotato = (differenza_di_X*cos(angolo_di_rotazione_non_in_gradi))-(differenza_di_Y*sin(angolo_di_rotazione_non_in_gradi));
Y_punto_ruotato = (differenza_di_X*sin(angolo_di_rotazione_non_in_gradi))+(differenza_di_Y*cos(angolo_di_rotazione_non_in_gradi));
Serial.print("X_punto_ruotato: ");
Serial.print(X_punto_ruotato);
Serial.print("\n");
Serial.print("Y_punto_ruotato: ");
Serial.print(Y_punto_ruotato);
Serial.print("\n\n");
}
void loop() {
// put your main code here, to run repeatedly:
}
I dati che si conoscono vanno inseriti con la direttiva "#include"(come specificato nei commenti). Non ricevo messaggi di errore, infatti il caricamento avviene, il problema sono i risultati impossibili che trovo anche inserendo input dei quali conosco già gli output. Grazie mille!