Функция поиска угла между двумя векторами. Возвращает меньший из углов.
Код на C++ // Нахождениe угла между 2мя векторами double GetAngle(double *dVector1, double *dVector2) { double dD = sqrt(dVector1[0]*dVector1[0]+dVector1[1]*dVector1[1]+dVector1[2]*dVector1[2])*sqrt(dVector2[0]*dVector2[0]+dVector2[1]*dVector2[1]+dVector2[2]*dVector2[2]); if(dD==0) return 0; else return acos((dVector1[0]*dVector2[0]+dVector1[1]*dVector2[1]+dVector1[2]*dVector2[2])/dD); } // Нахождениe угла между 2мя векторами средствами UG - меньшего угла double Get_angle_vectors(double v1[3],double v2[3]){ double sm,lg; TRYERR(UF_MODL_ask_vector_angle(v1,v2,&sm,&lg)); return (sm*180/PI); // если необходим больший угол, то замените sm на lg или вычислите сами :) }
|