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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.08.2015, 13:04
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 11  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Цитата:
Как раз задача для ТРО.
смотрим задачу:
Цитата:
нужно СМЕСТИТЬ его обратно (по направлению противоположному вектору движения)
тро дает вектор минимального перехода, а в задаче нужен совсем другой вектор.

в программе шаг допустим равен 16мсек, за эти 16мс шар встревает в стену. нужно найти когда именно шар касается стены.
допустим это было на 6мсекунде, отменяем бракованные 16мсекундные изменения и применяем 6мсекундные, а потом еще и 10мсекундные, вот и все

Старый 20.08.2015, 13:05
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 12  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
ну так используйте box2d или nape, там такое довольно легко построить

Добавлено через 3 минуты
ну а так, нужно просчитывать траекторию на кадр вперёд, у нас же есть вектор направления движения, если в следующем кадре будет столкновение, находим точку касания и и просто в след кадре ставим шарв эту точку, при этом чем выше частота кадров, тем меньше погрешность

Старый 20.08.2015, 13:10
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 13  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
вот его -то длину мне и нужно найти, он параллелен вектору V, я у уже близок к решению, вычисляю угол DBA, через него хочу найти

Старый 20.08.2015, 13:12
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 14  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
тро дает вектор минимального перехода, а в задаче нужен совсем другой вектор.
да, я понял

Цитата:
Тогда можно считать проекцию ВНВ на скорость и двигать шар на полученный результат.

Старый 20.08.2015, 13:13
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 15  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
так же потом можно вычислить время, через которое будет столкновение, отнять от времени, которое длиться один кадр, посчитать на какое расстояние шар должен пройти после столкновения за время кадра и прибавить этот расстояние к следующему кадру, где уже шар отскакивает. С точки зрения математики должно быть хорошо

Старый 20.08.2015, 13:31
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 16  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
Цитата:
Сообщение от undefined Посмотреть сообщение
На твоем рисунке ВНВ - это отрезок BD.
ВНВ насколько я понимаю - перпендикуляр к стене, на моем рисунке это AB

Добавлено через 47 секунд
Цитата:
Сообщение от neonoviiwolf Посмотреть сообщение
Добавлено через 3 минуты
нужно просчитывать траекторию на кадр вперёд, у нас же есть вектор направления движения, если в следующем кадре будет столкновение, находим точку касания и и просто в след кадре ставим шарв эту точку, при этом чем выше частота кадров, тем меньше погрешность
да, так наверное будет проще, попробую

Старый 20.08.2015, 13:38
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 17  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
ВНВ насколько я понимаю - перпендикуляр к стене, на моем рисунке это AB
Неверно.ВНВ зависит от положения шара и его глубины проникновения в препятствие и геометрически равен минимальному вектору, на который надо сместить шар, чтоб он перестал пересекаться со стеной т.е. как раз на вектор BD

Старый 20.08.2015, 13:50
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 18  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
Цитата:
Сообщение от undefined Посмотреть сообщение
Неверно.ВНВ зависит от положения шара и его глубины проникновения в препятствие и геометрически равен минимальному вектору, на который надо сместить шар, чтоб он перестал пересекаться со стеной т.е. как раз на вектор BD
DBA - прямоугольный треугольник, где BD - гипотенуза, а прямой угол - А, соответственно вектор BA будет явно короче.

Старый 20.08.2015, 13:51
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 19  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
вот, нашёл серию интересных уроков, которую сам смотрел в начале, у них есть урок как сделать то, что вы хотите

Старый 20.08.2015, 14:00
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 20  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
DBA - прямоугольный треугольник, где BD - гипотенуза, а прямой угол - А, соответственно вектор BA будет явно короче.
Короче чем что? Еще раз, я утверждаю, что искомое смещение будет равно проекции вектора BD на вектор V. Этот вектор будет противонаправлен вектору V и будет выводить шар из стенки как раз чтобы была одна точка касания.

Добавлено через 1 минуту
Вообще не понял какое отношение BA имеет к проблеме

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

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

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


 


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


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