Закрутка объектов
Мы заставляем объекты двигаться, прикладывая к ним силу. Если сила направлена ровно, то тело движется без вращения, а если, например, приложить силу к какому-нибудь углу параллелепипеда, то он будет двигаться, вращаясь. Можно ли как-нибудь реализовать зависимость скорости и направления от точки приложения?
P.S. Мне кажется, что надо использовать явление момента силы, но вот только как... |
Ответ: Закрутка объектов
Может лучше использовать готовый движок физики? Самый простой и бесплатный вариант это ODE.
|
Ответ: Закрутка объектов
Для этого есть физические библиотеки.
http://forum.boolean.name/showthread.php?t=14511 |
Ответ: Закрутка объектов
|
Ответ: Закрутка объектов
Нет, это не подойдёт. Выяснил, что это можно высчитать с помощью момента импульса, кто-нибудь знает, как?
|
Ответ: Закрутка объектов
Цитата:
|
Ответ: Закрутка объектов
Статья полезная, но сложновата для моего восприятия. Поскольку я ещё не учусь в ВУЗе, понять эту тему я смогу(надеюсь), основываясь только на простые физические формулы, т. к. эти "моменты" не включены в школьную программу, и я пока не очень их понимаю. Разобрал только то, что L(момент импульса) = I(момент инерции) * w(угловая скорость), а остальное в интернете, в том числе и на Википедии, всё как-то смутно описано. Кто-нибудь может объяснить, как и что подставлять в это уравнение?
|
Ответ: Закрутка объектов
Я тут кое-что вывел по примерам задач о пуле, застрявшей в бруске(вращение куба только в одной плоскости):
mv1 = (M + m) * v2, где M - масса куба m - масса пули v1 - скорость пули v2 - скорость системы после застревания пули L(момент импульса системы) = (M + m) * v2 * r, где r - перпендикуляр из центра куба к вектору импульса системы I(момент инерции) = (M + m) * 1/6 * d^2 * W, где сама формула - табличное значение момента инерции для куба d - ребро W - угловая скорость Отсюда: W = (6 * m * v1 * r) / (M * d^2) Подскажите, что не так... |
Ответ: Закрутка объектов
Мне кажется надо делать как в движке.
Тебе должно быть известно: центр объекта размер объекта (типа радиуса вокруг объекта) масса тела нормаль к месту приложения силы. Берешь нормаль и сравниваешь ее с центром объекта. Чем ближе нормаль проходит к центру - тем сильнее объект будет двигаться. Чем дальше от центра - тем больше крутиться. А пережёвывать это вообще не охото. Реально лучше библиотеку подцепить. Работают они быстро! |
Ответ: Закрутка объектов
у тела есть масса и моменты инерции относительно трех осей.
дальше определяем линию действия силы, проецируем силу на прямую связывающую центр массы тела и место куда приложена сила. потом делим спроецированную часть силы на массу, это число есть ускорение которое тело приобретает под действием силы, и направление этого ускорения совпадает с вектором соединяющим точку куда сила приложена и центр масс. Дальше уже считаюся моменты которые эта сила создает. Обычно моменты инерции посчитаны для трех осей, соответственно сила проецируется на эти оси потом получившиеся части силы умножаются на плечи до оси и делятся на соответствующие моменты инерции в результате получается три угловых ускорения. Тоже самое верно и для передачи импульсов. без сумм моментов по всем трем осям и сумм сил не обойтись однака. |
Ответ: Закрутка объектов
Вложений: 1
Впринципе, у меня почти получилось сделать вращение вокруг вертикальной оси, но там в расчётах геометрия какая-то стрёмная(я вычислял длину радиус-вектора для момента импульса), да и вращение тоже странное(я не делал подкрутки, т.е каждое новое столкновение с шариком задаёт кубу новое вращение, останавливая предыдущее). Если это опустить, то проблема состоит в том, что подкручивать можно только те грани куба, которые перпендикулярны оси Z(игрок изначально стоит перпендикулярно оси X). Может кто знает, как обобщить формулы вращения вокруг вертикальной оси с разных сторон? Или условия надо поставить...
|
Ответ: Закрутка объектов
Цитата:
|
Ответ: Закрутка объектов
Цитата:
|
Ответ: Закрутка объектов
Цитата:
А самопальная физика ничё так, годная, шарик правда замедленный очень... :) ;) |
Часовой пояс GMT +4, время: 00:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot