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

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

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

Регистрация: Jan 2010
Сообщений: 147
По умолчанию координаты точки пересечения

как узнать координаты точки пересечения прямой и мувиклипа? я проверил при помощи hitTestObject() пересеклась ли моя прямая и мувик. если пересеклась, то в какой точке? помоги, плиз, разобраться

Старый 15.02.2010, 19:28
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Математикой.

Старый 15.02.2010, 19:35
greegreeman вне форума Посмотреть профиль Отправить личное сообщение для greegreeman Найти все сообщения от greegreeman
  № 3  
Ответить с цитированием
greegreeman
 
Аватар для greegreeman

Регистрация: Jan 2010
Сообщений: 147
наверняка уже есть все давно высчитанное до меня. подскажите, где можно найти формулы и применить их

Добавлено через 56 секунд
т.к. у меня опыт во Flash не большой, то я надеялся, что я просто не знаю функцию, которая вернет мне координату точки пересечения... эх...

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

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
Если в двумерном пространстве (на плоскости) искать - то у вас серьезные проблемы
Если в трехмерном (т.е. пересечение плоскости мувика и прямой) - то смотрите по ссылке


http://ru.wikipedia.org/wiki/%D0%9D%...80%D0%B8%D1%8F

Старый 15.02.2010, 19:57
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
public static function intersectionPoint(p0:Point, p1:Point, p2:Point, p3:Point):Point
{
    var rX:Number = ((p0.x * p1.y - p0.y * p1.x) * (p2.x - p3.x) - 
                    (p0.x - p1.x) * (p2.x * p3.y - p2.y * p3.x)) /
                    ((p0.x - p1.x) * (p2.y - p3.y) - (p0.y - p1.y) * (p2.x - p3.x));
    var rY:Number = ((p0.x * p1.y - p0.y * p1.x) * (p2.y - p3.y) - 
                    (p0.y - p1.y) * (p2.x * p3.y - p2.y * p3.x)) /
                    ((p0.x - p1.x) * (p2.y - p3.y) - (p0.y - p1.y) * (p2.x - p3.x));
    return new Point(rX, rY);
}
Только надо дооптимизировать
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 15.02.2010 в 20:01.
Старый 15.02.2010, 20:11
greegreeman вне форума Посмотреть профиль Отправить личное сообщение для greegreeman Найти все сообщения от greegreeman
  № 6  
Ответить с цитированием
greegreeman
 
Аватар для greegreeman

Регистрация: Jan 2010
Сообщений: 147
я так понимаю "слегка" дооптимизировать

Старый 15.02.2010, 20:34
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
о пересечении прямой(геометрическое понятие) и мувиклипа (программный объект) и говорить-то не очень серьезно, хотя понятно, что под мувиклипом подразумевается некая фигура, но если неизвестно какая, то какие тут могут быть формулы..

как вариант: прошагать по прямой с каким-то шагом (точностью), походу проверяя hitTestPoint мувика с каждой точкой,
затратно, но будешь все знать: где пресекается, сколько раз и т.д.


Последний раз редактировалось silin; 15.02.2010 в 21:07.
Старый 16.02.2010, 00:12
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Однако же, если шаг будет больше, чем линия пересечения - можно тупо перескочить её. Везде свои плюсы и минусы.

Старый 16.02.2010, 00:17
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от greegreeman Посмотреть сообщение
я так понимаю "слегка" дооптимизировать
Ну, формула-то рабочая - вычисляет точку пересечения двух прямых, а если вам нужны пересечения с кривыми - это уже считаете сами, мой слабый интеллект не справится
__________________
Hell is the possibility of sanity

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

Регистрация: Jan 2010
Сообщений: 147
всем спасибо. похоже придется достать конспект по матану и сдуть пыль почитать про аппроксимацию. любую (практически любую) сложную фигуру можно свести к простой с определенной степенью точности... а пока что попробую вариант, который предложил silin. буду шагать

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

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

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


 


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


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