Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Natasha89
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 6
#1

Найти угол исходя из координат мышки - C++

29.03.2013, 21:50. Просмотров 471. Ответов 8
Метки нет (Все метки)

Есть 2 точки , первая это там где будет происходить отрисовка браша а вторая это указатель мыши . Нужно висчитывать угол от 0 до 360 что бы браш всегда смотрел в сторону мышки .
Поиски по форуму ни к чему хорошему не привели .
C++
1
Ange = atan2(mouse->y() - y_pos , mouse->x() - x_pos) *  180 ; //не работает
Помогите , целый день ищу решение. И еще что можно почитать что бы понимать позиционирование в 2d/3d пространстве ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2013, 21:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти угол исходя из координат мышки (C++):

Найти угол, на основе координат мыши - C++
Здравствуйте, пробую себя в написании простенькой игрушки, пока-что ничего не получается =( Возникла вот такая проблема: есть изображение...

Считывание координат (x;y) курсора мышки - C++
Всем доброго время препровождения Есть необходимость считать ось "y" курсора По алгоритму типа: Если зажата СКМ и значение оси "y"...

найти чему рано f исходя из трех условий - C++
Помогите, пожалуйста, решить.

Найти угол Гипотенузы - C++
Найдите периметр фигуры ABDCABDC по заданным сторонам ABAB, ACAC, CDCD. При решении задачи требуется определить функцию расчёта...

Найти угол между прямыми - C++
Найти угол (в градусах) между прямыми y = {k}_{1}x+{b}_{1} и y = {k}_{2}x+{b}_{2}.

Найти угол между векторами - C++
У меня есть координаты конца вектора. Я вроде норм нахожу долготу вектора, но не как не пойму как мне найти угол между ним, что бы он...

8
R0adTr1p
0 / 0 / 1
Регистрация: 12.02.2013
Сообщений: 11
29.03.2013, 22:07 #2
Вот тут Для флеша, но думаю там все понятно.)
0
Natasha89
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 6
29.03.2013, 22:35  [ТС] #3
Спасибо

Добавлено через 22 минуты
Делаю все точно как показано по ссылке выше , ничего не получается .
Отсчет координат мышы идет от левого верхнего края до правого нижнего края (пик).
Функция из библиотеки math.h C++ atan2 корректно угол не определяет .
Может есть у кого то исходник игры с уже решенной проблемой ?
0
nonedark2008
931 / 670 / 147
Регистрация: 28.07.2012
Сообщений: 1,827
29.03.2013, 22:42 #4
Цитата Сообщение от Natasha89 Посмотреть сообщение
Нужно висчитывать угол от 0 до 360 что бы браш всегда смотрел в сторону мышки .
А зачем тут угол? Ведь можно и без углов определить направление на курсор.

Добавлено через 3 минуты
Цитата Сообщение от Natasha89 Посмотреть сообщение
И еще что можно почитать что бы понимать позиционирование в 2d/3d пространстве ?
Учебник по геометрии?
0
Natasha89
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 6
29.03.2013, 22:56  [ТС] #5
Если есть возможность то покажи каким образом направлять курсор в нужную мне сторону , желательно готовый пример.
0
nonedark2008
931 / 670 / 147
Регистрация: 28.07.2012
Сообщений: 1,827
30.03.2013, 01:27 #6
Цитата Сообщение от Natasha89 Посмотреть сообщение
каким образом
Все зависит от того, как этот курсор можно направлять. Если например его позиция задается начальной точкой и вектором направления, то задача тривиальна. Чтобы задавался углом - я такого если честно не видел. Обычно это либо вектор, либо в крайнем случае синус и косинус. Короче, все зависит от конкретной ситуации.
0
Natasha89
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 6
30.03.2013, 18:11  [ТС] #7
Проблема решена , координаты окна (в пикселях - и старт отсчета с левого верхнего угла) не совпадали с координатами OpenGL (пиксель * 2,4 - центр координат по середине окна).
Были сделаны функции преобразования координат окна в координаты OpenGL все хоть немного коряво но уже что то.
Всем кто помог спасибо )
0
nonedark2008
931 / 670 / 147
Регистрация: 28.07.2012
Сообщений: 1,827
31.03.2013, 10:48 #8
Цитата Сообщение от Natasha89 Посмотреть сообщение
функции преобразования координат окна
Т.е. коряво? Чем отличается оконная сестема координат от OpenGl? Тем, что у окна точка 0,0 в верхнем левом и OY смотрит вниз, а нужно чтобы была по центру экрана и ось OY смотрела вверх, ну и конечно нужно ужать оси, чтобы вверх и в бок было столько, сколько настроено при инициализации OpenGl. Это можно сделать и простой функцияей с нужными аффинными преобразованиеми. Но я бы посоветовал преобразования сделать через матрицу.
0
Natasha89
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 6
31.03.2013, 19:43  [ТС] #9
Сейчас все идеально и так как нужно , по мере необходимости может и матрицы применять прийдется .
0
31.03.2013, 19:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2013, 19:43
Привет! Вот еще темы с ответами:

Как найти угол между двумя прямыми или как найти углы прямоугольника ? - C++
Ну вопрос в теме . Пожалуйста помогите с этим.

Как найти угол, зная его тангенс? - C++
//НЕ СМОГ РЕШИТЬ ЗАДАЧУ ТАК КАК НЕ ЗНАЮ как из тангенса угла вычислить угол. // Задача 1.3 Васильев А.Н #include <iostream> #include...

Найти угол между пересекающимися прямыми на плоскости - C++
Суть заключается вот в чём Заданы уравнения пересекающихся прямых на плоскости Y=k1x+b1 и y=k2x+b2 найти угол в градусах и минутах между...

Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный - C#
Три точки заданы своими координатами X(x1, x2), Y(y1, y2) и Z(z1, z2). Найти и напечатать координаты точки, для которой угол между осью...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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