Физика в Unity - обратный расчет параболы

Физика в Unity

Физика в Unity - обратный расчет параболы

Сообщение mDmitriy 27 фев 2012, 20:33

Не пинайте строго, плиз... может, вопрос и тривиальный, но ответа пока не нашел...
можно ли в Unity сделать обратный расчет для параболы?
допустим, имеем мы на плоскости точку А, вектор (определяющий угол направления вектора скорости к нормали) и начальную скорость: можем запустить некоторое тело в полет и оно прилетит в точку В.
Вопрос - можно ли решить обратную задачу?
т.е., зная координаты точек А и В, найти необходимую скорость при заданном угле... или угол при заданной скорости...
конечная задача - найти вектор скорости (величину и направление) для заданных начальной и конечной координат и максимальной высоты полета.
в школьной физике эта задача решается однозначно, а можно ее решить в Unity программным путем?
mDmitriy
UNец
 
Сообщения: 9
Зарегистрирован: 21 ноя 2011, 17:29
Откуда: СПб
  • ICQ

Re: Физика в Unity - обратный расчет параболы

Сообщение Neodrop 27 фев 2012, 22:35

Не правильная постановка вопроса. Не "можно ли в Unity", а "можно ли в .NET"
Ответ - да, конечно же можно. Это же просто алгоритм. Формула. Как миллионы других математических задач, которые каждый день решает ваш числогрыз.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Физика в Unity - обратный расчет параболы

Сообщение DbIMok 27 фев 2012, 23:59

видимо речь о том, насколько встроенная физика соответствует ожиданиям. имхо нужно взять и попробовать.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Физика в Unity - обратный расчет параболы

Сообщение mDmitriy 28 фев 2012, 00:48

Neodrop писал(а):Не правильная постановка вопроса. Не "можно ли в Unity", а "можно ли в .NET"
Ответ - да, конечно же можно. Это же просто алгоритм. Формула. Как миллионы других математических задач, которые каждый день решает ваш числогрыз.

э-э... я, в общем, немного представляю себе как компьютер решает математические задачи, теорию информации, возможности .NET и пр.
попробую переформулировать вопрос:

есть на поверхности сцены некоторый объект OtherGo, который подчиняется законам физики... он неподвижен в координатах (0, 0, 0)
в скрипте написано (очень упрощенно), допустим:

Синтаксис:
Используется csharp
OtherGo.gameObject.rigidbody.velocity = Vector3.zero
OtherGo.rigidbody.AddForce(Settings.Direction * Settings.Velocity, ForceMode.Impulse);
 

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

ну и далее... имея координаты начальной и конечной точки, можно получить бесконечно много вариантов пар значений <угол (направленный вектор), начальная скорость>, описывающих траекторию полета по параболе между этими точками... зная координаты максимальной высоты, можно получить единственное решение...
т.е., в реальной физике для параболы, по которой летит тело, можно по трем точкам рассчитать угол и начальную скорость.
вопрос - как рассчитать эти параметры для Unity, чтобы подставить их в вышеприведенную функцию?
Последний раз редактировалось mDmitriy 28 фев 2012, 00:58, всего редактировалось 1 раз.
mDmitriy
UNец
 
Сообщения: 9
Зарегистрирован: 21 ноя 2011, 17:29
Откуда: СПб
  • ICQ

Re: Физика в Unity - обратный расчет параболы

Сообщение mDmitriy 28 фев 2012, 00:57

DbIMok писал(а):видимо речь о том, насколько встроенная физика соответствует ожиданиям. имхо нужно взять и попробовать.

перед тем как пробовать, хотелось бы выяснить у знающих людей, эта задача в принципе решаема в рамках физики Unity или нет?
моделировать параболу по точкам очень не хочется... :-l
mDmitriy
UNец
 
Сообщения: 9
Зарегистрирован: 21 ноя 2011, 17:29
Откуда: СПб
  • ICQ

Re: Физика в Unity - обратный расчет параболы

Сообщение DbIMok 28 фев 2012, 02:33

т.е. для того, чтобы написать пару строчек, вам нужно подтверждение?
скорость: 70.71 угол: 45
планируемая/реальная высота: 127.421/126.9208
планируемая/реальная дальность: 509.684/508
думаю результаты говорят о том, что встроенной физике можно доверять.
"моделировать параболу" - звучит круто! в чем проблема считать х(t),y(t) по известным формулам?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Физика в Unity - обратный расчет параболы

Сообщение mDmitriy 28 фев 2012, 11:21

DbIMok писал(а):т.е. для того, чтобы написать пару строчек, вам нужно подтверждение?
скорость: 70.71 угол: 45
планируемая/реальная высота: 127.421/126.9208
планируемая/реальная дальность: 509.684/508
думаю результаты говорят о том, что встроенной физике можно доверять.

большое спасибо :-bd
"моделировать параболу" - звучит круто! в чем проблема считать х(t),y(t) по известным формулам?

ну, если бы не сработала физика Unity, был вариант считать перемещение по точкам по известным формулам самому...
но теперь я знаю, что все работает :)
mDmitriy
UNец
 
Сообщения: 9
Зарегистрирован: 21 ноя 2011, 17:29
Откуда: СПб
  • ICQ


Вернуться в PhysX

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2