![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2010
Сообщений: 147
|
было бы неплохо. если там уже все расчеты есть. тут представили несколько вариантов. попробую сделать и так и так. посмотрю, что больше подходит
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Psycho Tiger, читай внимательней))) Мой ответ был как раз на "шаг в пиксель". Предлагал же я вот что. За четыре "шага" мы сокращаем область поиска в 16 раз. 1. Известно, что линия пересекает фигуру, но ее половина - нет. Остается вторая половина для поиска. 2. Новая линия пересекла фигуру - есть точка без пересечения (середина всей линии) и точка с пересечением - 75% всей линии 3. Сокращаем область еще в два раза. Пересечение есть. 4. Сокращаем область еще в два раза. Пересечения нет. Продолжаем в том же духе. 10 "шагов" и у нас останется пять точек для точечной проверки. Не надо идти по каждому пикселю линии! UPD: к сожалению все это только красивая теория. Флэш не сравнивает реальные шейпы, только шейп и точку или bounds шейпов. В реальности даже уменьшая bounds контрольной линии мы рискуем никогда не найти пересечение, так как... его вообще может не быть, хотя hitTestObject и уверяет что есть. Битмапдата пожалуй на сегодняшний день единственный вариант.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 16.02.2010 в 22:25. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 147
|
наверное метод, который предложил Партизан самый точный...
Добавлено через 3 минуты Wolsh, то что ты предлагаешь классический алгоритм, который проходят в уневере, так что он по-любому рабочий |
|
|||||
|
А можно вопрос к топикстартеру.
MovieClip можно представить в виде замкнутого многоуголиника (не обязательно выпоклуго) без самопересечений? Если да, то есть простой алгоритм... (ну почти простой . Могу расписать. |
|
|||||
|
Wolsh, метод поиска делением на 2 мне знаком, но это всё равно не выход, я считаю)
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Обрисовать прямыми мувик и тестить на пересечение как wvxvw нaписал. Пример:
http://www.murmadillo.tut.su/html/li...Intersect.html
__________________
Гоночка |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 147
|
krolser, можно. хотел бы увидеть твой практически простой алгоритм. спасибо. то, что предложил wvxvw тоже работает. надо мувик обрисовать прямыми, закинуть их в массив и проверять на пересечение, а потом юзать его формулы, которые выше. точность будет не высокой. но для некоторых задач ее вполне хватит
|
|
|||||
|
Цитата:
![]() |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 147
|
всем спасибо, узнал много нового
, надеюсь для кого-то это тоже было полезно |
|
|||||
|
Вот уж не думал , что мой, заброшеный на заре моей юности, блог ещё кому-то может помочь http://as3.ru/?p=6 =)
Вроде в статье есть всё необходимое. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|