![]() |
|
|
![]()
|
|
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: нет Всего: 15 |
Доброго времени суток.
Задача наверно окажется на уровне 5 класса, но я не могу её решить Нужно определить над какой областью находится курсор мыши. У области 4 координаты (может и больше, но давайте разберёмся с 4 Координаты области могут задаваться в любом направлении, по часовой стрелке или против. У курсора соответственно тоже есть кординаты. Дабы проще было понять о чём речь, представим карту дачных участков. Пробовал все координаты сравнивать с "мышиными", если одни больше других, записывать кол-во в счётчик. Идея была такая, что если полученное значение будет меньше 1 или больше (кол-ва - 1) координат области, значит курсор за областью участка, иначе мы нашли область. Но идея оказалась глупой. Что ещё придумать, не знаю. |
|||
|
||||
| Pavia |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
||||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: нет Всего: 15 |
Pavia, спс) список прочёл, промах обнаружил.
Ребята, помогите пожалуйста. Благодарен вам даже за то что заглянули в тему, а не прошли мимо. Добавлено через 5 минут и 9 секунд http://jsfiddle.net/13ruvnuv/ |
|||
|
||||
| Dremuk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.12.2009 Репутация: нет Всего: нет |
НЕ совсем понятен вопрос. Дайте больше конкретики или пример какой-нибудь графический
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: нет Всего: 15 |
Хочу сделать карту с участками, которые будут выделяться при наведении на них курсора/стрелки мыши.
Щас событие "onclick" (ссылка на пример выше) , в планах "onmousemove", Но не в этом суть! Я не знаю как проверять координаты, поэтому и прошу у вас помощи, может натолкнёте на путь истинный. Своё виденье описал словами и показал кодом. Так же мне посоветовали координаты проверить и определить крайнюю левую точку и от неё шагать .... это я к -
Так же советуют разобрать карту гугла, а именно искать "Poligon" в API , только я боюсь утону. Это сообщение отредактировал(а) Evghenusi - 12.8.2014, 21:56 |
|||
|
||||
| Dremuk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 17.12.2009 Репутация: нет Всего: нет |
||||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: нет Всего: 15 |
язык? JavaScript
Вот только загвоздка не в языке, а рациональном мышлении, поэтому я и заглянул в этот раздел) |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 4 Всего: 101 |
Evghenusi,
строите отрезок, пересекающий экран, например с координатами {(0,0),(mouseX,mouseY)} для каждой области (которая на самом деле есть многоугольник) проводите проверку на попадание мыши в неё: подсчитываете число пересечений этого отрезка с отрезками, ограничивающими область. если число пересечений нечетное, значит мышь внутри. особый случай - попадание мыши точно в вершину, но для вашей задачи думаю это не важно |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 4 Всего: 101 |
||||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: нет Всего: 15 |
нуууу, зачем код, я сам хотел.
Ладно, сначала сам поковыряю, если не получится загляну. baldina, спасибо |
|||
|
||||
| AVA12 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 4.5.2008 Репутация: 1 Всего: 4 |
Возможно, ответ не в тему, но если нужно реализовать карту в HTML-документе, то для этого есть теги <map> и <area>. Никаких хитрых алгоритмов, можно на каждую область навесить свои обработчики событий :)
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |