![]() |
|
![]() ![]() ![]() |
|
Xrymz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 29.11.2007 Где: дом! О.о Репутация: нет Всего: нет |
Нужна помощь в нахождении определенного тайла
Нужен алгоритм который сможешь перевести координаты вида mouseX и mouseY от левого верхнего края картинки в координаты вида (1,0) или (1,7) и т.д. (то есть непосредственно "х" и "у" тайла) |
|||
|
||||
AVA12 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 4.5.2008 Репутация: 1 Всего: 4 |
Главная проблема - узнать координаты выбранной клетки, хоть в какой-нибудь системе. А дальше все просто :)
Клетки задают координатную плоскость Ouv, проекции ее осей наклонены под некоторым углом к осям Ox и Oy. Проекции диагоналей клеток параллельны осям Oxy, их длины равны dx и dy. Считаем, что положительные направления проекций осей Ouv "смотрят" в положительном направлении оси Ox. Считаем, что длины сторон клеток в координатах Ouv равны 1. Тогда изменение координаты x на +-dx изменяет координаты u и v на +-1, изменение координаты y на +-dy изменяет u на -+1 и v на +-1. То есть: ux = x/dx, vx = x/dx uy = -y/dy, vy = y/dy u = ux + uy = x/dx - y/dy v = vx + vy = x/dx + y/dy Переводим (x; y) в (u; v), отбрасываем дробную часть и получаем координаты клеток в Ouv. Затем переводим в "х и у тайла". Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |