Funzioni vettoriali di base:
//Prodotto scalare
double Scalare (double x[], double y[], int dim){
double S = 0;
for (int i = 0; i < dim; i++)
S += x[i]*y[i];
return S;
}
//Distanza tra vettori
double Distanza (double x[], double y[], int dim){
double D = 0, z[100];
for (int i = 0; i < dim; i++)
z[i] = x[i] - y[i];
D = sqrt (Scalare(z, z, dim));
return D;
}
//Angolo tra due vettori
double AngoloVett(double x[], double y[], int dim){
double ang;
for (int i = 0; i < 3; i++) {
double ab = Scalare(x, y, 3);
double na = sqrt (Scalare(x, x, 3));
double nb = sqrt (Scalare(y, y, 3));
double dist = Distanza (x, y, 3);
ang = acos(double(ab/(na*nb)));
}
return ang;
}
Categories:
Programmi
Posta un commento