Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.02.2010, 16:06
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 1  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
По умолчанию как узнать между какими точками нажато

имеется следующая линия
Название: скрин.gif
Просмотров: 386

Размер: 3.0 Кб
нарисована с помощью graphics

я нажимаю по линии курсором, мне нужно определить вхождение между какими точками я щелкнул.

ни как не могу придумать алгоритм
__________________
Коллекционирую чужие ActionScript Блоги

Старый 01.02.2010, 16:17
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Ты же сегодня спрашивал. Жмешь на линию и находишь расстояние от места клика до всех точек. Два меньших расстояния и будут расстояниями до ближайших точек.

Старый 01.02.2010, 16:18
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 3  
Ответить с цитированием
Crenth
[+1 19.06.10]
[+1 27.07.10]
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
найдите в вкипидеии уравнение прямой.

зная 2 точки отрезка можно составить уравнение прямой. а затем, зная координаты точки клика понять, лежит ли точка на этой прямой или нет

Старый 01.02.2010, 16:28
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 4  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
хммм дааа я мерил только по одно расстояние, по этому и не получалось, спс
__________________
Коллекционирую чужие ActionScript Блоги

Старый 01.02.2010, 17:02
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 5  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Название: attachment-1.gif
Просмотров: 324

Размер: 3.0 Кб

предположим я точку поставил, как определить к какой линии принадлежит и между какими точками, просто немного не врубаюсь какие вы предлагаете сравнивать расстояния?
__________________
Коллекционирую чужие ActionScript Блоги

Старый 01.02.2010, 17:19
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 6  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Упс, сори, я во 2-м посте неправильный вариант предложил. На вскидку пришло в голову строить отрезки от точки клика до всех остальных точек и сравнивать углы между ними. Естественно угол должен быть 180 (или около того).
Crenth тоже верный вариант предложил.


Последний раз редактировалось Волгоградец; 01.02.2010 в 17:21.
Старый 01.02.2010, 17:19
proxiServer вне форума Посмотреть профиль Отправить личное сообщение для proxiServer Найти все сообщения от proxiServer
  № 7  
Ответить с цитированием
proxiServer
 
Аватар для proxiServer

Регистрация: Jun 2006
Сообщений: 400
ИМХО, если угол между линиями любой и размер линий произвольный, то определять расстояния между точками мало. наврет такой алгоритм. у вас угол и длина линий произвольные?

Старый 01.02.2010, 17:48
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 8  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от proxiServer Посмотреть сообщение
ИМХО, если угол между линиями любой и размер линий произвольный, то определять расстояния между точками мало. наврет такой алгоритм. у вас угол и длина линий произвольные?
угол и длина произвольные
__________________
Коллекционирую чужие ActionScript Блоги

Старый 01.02.2010, 17:55
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 9  
Ответить с цитированием
Crenth
[+1 19.06.10]
[+1 27.07.10]
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
Ищите точку на прямой.
У вас два отрезка.
Вероятно каждый из них отрисован MoveTo+LineTo. Значит известны координаты начала и конца отрезков.
Значит уравнения можно строить в цикле. Два отрезка - две итерации. Три отрезка - три итерации. В каждой итерации строите уравнение прямой для каждого отрезка и смотрите принадлежит ли ваш клик этой прямой.
В теории клик ведь может лежать в точке пересечения отрезков. Тогда ни один другой метод не даст вам корректного результата

Старый 01.02.2010, 18:02
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 10  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от Crenth Посмотреть сообщение
Ищите точку на прямой.
У вас два отрезка.
Вероятно каждый из них отрисован MoveTo+LineTo. Значит известны координаты начала и конца отрезков.
Значит уравнения можно строить в цикле. Два отрезка - две итерации. Три отрезка - три итерации. В каждой итерации строите уравнение прямой для каждого отрезка и смотрите принадлежит ли ваш клик этой прямой.
В теории клик ведь может лежать в точке пересечения отрезков. Тогда ни один другой метод не даст вам корректного результата
ну это только в теории, у меня такой случай зарублен на корню...

да у меня действительно есть координаты точек отрезка и сама точка которая должна принадлежать, но что то совсем математику забыл
__________________
Коллекционирую чужие ActionScript Блоги

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.