|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.08.2010, 18:15 | #1 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Разворот объекта к мышке
Здравствуйте.
Возникла задача, для которой моих знаний геометрии маловато. Собственно: Пусть есть x, y, w, h, a - соответственно координаты x и y, длина, высота и угол некоторого квадрата(далее объект). Есть функция setAngle(Object* obj, double angle), которая поворачивает объекты на angle градусов против часовой стрелки(минусовые значения по часовой). Есть координаты мыши, пусть mx, my. Необходимо: 1) Развернуть объект к мыши лицом(или хоть чем-нибудь) 2) Задать движение пули по вектору направленному от объекты к мыши.(пуля имеет также bx,by,bw,bh,ba. Необходима функция, которая на каждом шаге будет двигать пулю) Буду рад примеру на любом языке или формуле. Заранее благодарен, Ваш %username%
pushl $0x18E3DF6B
call ICQ |
07.08.2010, 18:23 | #2 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 197
|
Делаю игру на XNA, вот код, все углы в радианах.
Разворот обьекта Код:
Код:
|
07.08.2010, 18:25 | #3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Не совсем понятно что требуется, но думаю это вам точно пригодится:
http://ru.wikipedia.org/wiki/Матрица_поворота И поищите пермножение матрицы и вектора. Так можно имея матрицу поворота (созданную по углам) и координату, повернуть координату на угол. Например, имея вектор координаты мыши, вычисляем вектор разницы положения объекта и мыши. Нормализуем. Это направляющий вектор абсолютного поворота. Считаем разницу углов нужного и текущего поворота, строим матрицу по формуле из википедии, перемножаем вершины объекта с матрицей. Счастье пришло) Или имея тот самый угол вызываем вашу процедуру вращения.. А что вообще за библиотека/движок?
Изобретатель велосипедов
Последний раз редактировалось Selestis; 07.08.2010 в 18:32. |
07.08.2010, 19:00 | #4 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
ZaRDaK, спасибо, самое оно, немного переписал под с++ и нормально работает.
Плюс поставил. Selestis, спасибо, вам тоже поставлю. А движок - SDL.
pushl $0x18E3DF6B
call ICQ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
delphi, разворот прямоугольника | KaZaaM | Помощь студентам | 3 | 25.05.2010 08:53 |
Как заставить ролик на мышке двигать полосой прокрутки | clanz | Microsoft Office Access | 4 | 28.02.2010 16:41 |
Си, рекурсивный разворот списка | 30MBU | Помощь студентам | 3 | 01.12.2009 17:20 |
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта | User>lia | Общие вопросы Delphi | 4 | 16.01.2009 16:37 |
Как поменять одну из текстур объекта не меняя все остальные и без повторной загрузки объекта в GLScene | DomKr@t | Мультимедиа в Delphi | 0 | 14.12.2008 01:52 |