Исходник для Unigraphics NX Функция поиска угла между двумя векторами


Добавил:DMT
Дата создания:5 апреля 2008, 23:48
Дата обновления:5 апреля 2008, 23:48
Просмотров:4357 последний 2 апреля, 17:30
Комментариев: 0

Функция поиска угла между двумя векторами

Функция поиска угла между двумя векторами. Возвращает меньший из углов.
Код на C++
  1. // Нахождениe угла между 2мя векторами
  2. double GetAngle(double *dVector1, double *dVector2)
  3. {
  4. 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]);
  5. if(dD==0)
  6. return 0;
  7. else
  8. return acos((dVector1[0]*dVector2[0]+dVector1[1]*dVector2[1]+dVector1[2]*dVector2[2])/dD);
  9. }
  10.  
  11. // Нахождениe угла между 2мя векторами средствами UG - меньшего угла
  12. double Get_angle_vectors(double v1[3],double v2[3]){
  13. double sm,lg;
  14. TRYERR(UF_MODL_ask_vector_angle(v1,v2,&sm,&lg));
  15. return (sm*180/PI); // если необходим больший угол, то замените sm на lg или вычислите сами :)
  16. }
При использовании обязательна ссылка на http://DMTSoft.ru
up