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

Найти косинус между векторами - C++

Восстановить пароль Регистрация
 
Arista
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 7
15.01.2013, 10:08     Найти косинус между векторами #1
дана размерность пространства
н, даны два вектора в нем, найти
косинус угла между ними

что такое размерность и как ее задать и какая библиотеку подключает вычисление корней, стандартная math не работает...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2013, 10:08     Найти косинус между векторами
Посмотрите здесь:

Определите косинус между векторами C++
C++ Написать программу нахождения угла между векторами и плоскостью.
C++ Вычисление косинуса угла между векторами, в чем ошибка
Класс вектор на основе класса Complex. Найти угол между векторами C++
Программа для определения угла между векторами C++
C++ Найти угол между векторами
C++ Найти угол, выраженный в радианах и градусах между векторами A(xa, ya) и B(xb, yb)
C++ Заданы два вектора с координатами (Хи Yu Z,) и (Х2, Y2, Z^). Определить угол между векторами
Косинус угла между векторами C++
C++ Как можно провести интерполяции между двумя векторами?
C++ Ограничение градуса между векторами
Заданы два вектора с координатами (x1, y1, z1) и (x2, y2, z2). Определить угол между векторами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,508
15.01.2013, 10:55     Найти косинус между векторами #2
что такое размерность - простите не стану отвечать. откройте математику наверное.
в простейшем случае задаем вектора в виде массивов содержащих n элементов
C++
1
2
3
4
5
6
7
8
9
10
11
int n = 3;
 
double *v1 = new double[n];
v1[0] = 1;
v1[1] = 20;
v1[2] = 40;
 
double *v2 = new double[n];
v2[0] = 1;
v2[1] = 20;
v2[2] = 40;
косинус угла между векторами равен их скалярному произведению

C++
1
2
3
double cosine = 0;
for (int i = 0; i < n; i++)
    cosine += v1[i] * v2[i];
вычисление корней производится функцией sqrt из math.h
Igor3D
843 / 429 / 37
Регистрация: 01.10.2012
Сообщений: 2,165
15.01.2013, 11:09     Найти косинус между векторами #3
Цитата Сообщение от vxg Посмотреть сообщение
косинус угла между векторами равен их скалярному произведению
Ну все-таки произведению нормированных векторов
C++
1
2
3
4
5
6
7
double cosine = 0.0, sum1 = 0.0, sum2 = 0.0;
for (int i = 0; i < n; i++) {
    cosine += v1[i] * v2[i];
    sum1 += v1[i] * v1[i];
    sum2 += v2[i] * v2[i];
}
cosine /= sqrt(sum1) * sqrt(sum2);
Да, а вопросы конечно впечатляют
Yandex
Объявления
15.01.2013, 11:09     Найти косинус между векторами
Ответ Создать тему
Опции темы

Текущее время: 22:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru