Форум программистов, компьютерный форум CyberForum.ru

Программа для определения угла между векторами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Какая база требуется для понимания C++? http://www.cyberforum.ru/cpp-beginners/thread1243516.html
Доброго времени суток! Возникло желание научиться работать в Си, но одолели смутные сомнения. Каюсь, ничего сложнее Pascal ABC в школьные годы "в руках не держала", специальность связана с языками, но отнюдь не программирования. Может ли понадобиться какая-то информация в качестве "введения в программирование"?
C++ Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие Ребята, нужно написать программу. Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие. В этой программе нужно использовать секундомер или таймер. По идее мне нужна функция, которая в определённое время засечёт время и в нужное остановит, но я такой нигде не могу найти. Если такая вообще существует, подскажите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread1243513.html
C++ GUI без фреймворков
Появилось желание обернуть программку в GUI(да и чего греха таить, в целом научиться делать интерфейсы). Начал собирать окошко через WinForms - смотрю оно фреймворки использует. Это дело я недолюбливаю и хотелось бы избежать полностью. Забил в гугл - практически все сводится к "не пишите на с++ интерфейсы, фрейморки, Qt". Задачи по кросплатформенности нет, требуется "джентльменский набор": пара...
Литература о потоках C++
Хотел бы найти хорошую книгу в которой хорошо изложены вопросы паралельного программирования. В класичиской литературе которую проходил пока что не нашел такого, а чего то не провереного читать не хочется. Буду благодарен за советы.
C++ Чему равна сумма 10^10 членов гармонического ряда? http://www.cyberforum.ru/cpp-beginners/thread1243478.html
С точностью 12 знаков после запятой. Сколько времени считается, на каком оборудовании?
C++ Как работать с переменной в нескольких потоках? Собственно, вся суть в названии темы. Подскажите, как я могу изменить переменную в дочерних потоках так, чтобы она изменялась и в основном? подробнее

Показать сообщение отдельно
sweetbringer
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 14
17.08.2014, 08:00     Программа для определения угла между векторами
Я нашел такую программу внизу,
немного исправил ее,
но не знаю, что watch означает
и зачем он вообще и все ли тут правильно.
Мне нужно определить угол между векторами
тот, что меньше. (Больше он 90 град или нет)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void cross( CPlace *a, CPlace *b, CPlace *c)
{
    c->x=+a->y*b->z - b->y*a->z;
    c->y=-a->x*b->z + b->x*a->z;
    c->z=+a->x*b->y - b->x*a->y;
}
 
double dot( CPlace *a, CPlace *b)
{
  return (a->x*b->x + a->y*b->y + a->z*b->z);
}
 
double normLen(CPlace *a)
{
  return sqrt(dot(a,a));
}
 
void normalize( CPlace *a, CPlace *b)
{
  double l;
    l = 1.0/normLen(a);
    b->x=a->x*l;
    b->y=a->y*l;
    b->z=a->z*l;
}
 
double getAngleBetweenVectors( CPlace *a, CPlace *b, CPlace *watch)
{
  CPlace c;
    cross(a,b,&c);
  double f;
    f = atan2(normLen(&c), dot(a,b));
  if (dot(&c, watch) < 0)
    f = 2*PI - f;
  return f;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru