Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определение области, относительно координат мыши 
:(
    Опции темы
Evghenusi
Дата 11.8.2014, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: нет
Всего: 15



Доброго времени суток.
Задача наверно окажется на уровне 5 класса, но я не могу её решить  smile 

Нужно определить над какой областью находится курсор мыши.
У области 4 координаты (может и больше, но давайте разберёмся с 4  smile )
Координаты области могут задаваться в любом направлении, по часовой стрелке или против.
У курсора соответственно тоже есть кординаты.

Дабы проще было понять о чём речь, представим карту дачных участков.


Пробовал все координаты сравнивать с "мышиными", если одни больше других, записывать кол-во в счётчик.
Идея была такая, что если полученное значение будет меньше 1 или больше (кол-ва - 1) координат области, значит курсор за областью участка, иначе мы нашли область.
Но идея оказалась глупой.

Что ещё придумать, не знаю.
PM WWW   Вверх
Pavia
Дата 11.8.2014, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



PM MAIL   Вверх
Evghenusi
Дата 11.8.2014, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: нет
Всего: 15



Pavia, спс) список прочёл, промах обнаружил.


Ребята, помогите пожалуйста.
Благодарен вам даже за то что заглянули в тему, а не прошли мимо.

Добавлено через 5 минут и 9 секунд
http://jsfiddle.net/13ruvnuv/
PM WWW   Вверх
Dremuk
Дата 12.8.2014, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.12.2009

Репутация: нет
Всего: нет



НЕ совсем понятен вопрос. Дайте больше конкретики или пример какой-нибудь графический

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Evghenusi
Дата 12.8.2014, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: нет
Всего: 15



Хочу сделать карту с участками, которые будут выделяться при наведении на них курсора/стрелки мыши.
Щас событие "onclick" (ссылка на пример выше) , в планах "onmousemove", Но не в этом суть!

Я не знаю как проверять координаты, поэтому и прошу у вас помощи, может натолкнёте на путь истинный.

Своё виденье описал словами и показал кодом.

Так же мне посоветовали координаты проверить и определить крайнюю левую точку и от неё шагать .... это я к -
Цитата
Координаты области могут задаваться в любом направлении, по часовой стрелке или против.


Так же советуют разобрать карту гугла, а именно искать "Poligon" в API , только я боюсь утону.

Это сообщение отредактировал(а) Evghenusi - 12.8.2014, 21:56
PM WWW   Вверх
Dremuk
Дата 12.8.2014, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.12.2009

Репутация: нет
Всего: нет



в чем делаете это?

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Evghenusi
Дата 12.8.2014, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: нет
Всего: 15



язык? JavaScript
Вот только загвоздка не в языке, а рациональном мышлении, поэтому я и заглянул в этот раздел)
PM WWW   Вверх
baldina
Дата 12.8.2014, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



Evghenusi, 
строите отрезок, пересекающий экран, например с координатами {(0,0),(mouseX,mouseY)}
для каждой области (которая на самом деле есть многоугольник) проводите проверку на попадание мыши в неё:
подсчитываете число пересечений этого отрезка с отрезками, ограничивающими область. если число пересечений нечетное, значит мышь внутри.
особый случай - попадание мыши точно в вершину, но для вашей задачи думаю это не важно
PM MAIL   Вверх
baldina
Дата 13.8.2014, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



PM MAIL   Вверх
Evghenusi
Дата 13.8.2014, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: нет
Всего: 15



нуууу, зачем код, я сам хотел.
Ладно, сначала сам поковыряю, если не получится загляну.

baldina, спасибо
PM WWW   Вверх
AVA12
Дата 14.8.2014, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 4.5.2008

Репутация: 1
Всего: 4



Возможно, ответ не в тему, но если нужно реализовать карту в HTML-документе, то для этого есть теги <map> и <area>. Никаких хитрых алгоритмов, можно на каждую область навесить свои обработчики событий :)
PM ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.