ПрограммированиеФорумФизика

Движение по рельсам на физ двигах

#0
0:21, 3 ноя 2011

Приветствую всех.
Хотелось бы узнать про варианты реализации движения по рельсам на различных физ движках. Приоритет конечно для PhysX - но вот поковыряв его - что то не нашел нормального способа реализации движения по траектории. Так вот - может есть у кого идеи. Или есть варианты реализации на других движках? Единственное ограничение - движок не должен просить денег((...

#1
1:55, 3 ноя 2011

NIXIUS
А какая разница в движении объекта именно по рельсам?
Ставишь ключевые точки, делаешь интерполяцию позиции от точке к точке.
Посмотри как сделаны примеры в DX, в Irrlight. Там есть объетка кот. движутся по какой-либо траектории.
Рассчитываешь движение с учетом коэффициента трения.

#2
3:05, 3 ноя 2011

asvp
Поясню - все очень просто рассчитывается и хорошо работает с траекториями - если объект имеет только одну точку сцепления с рельсом. Приключения начинаются, когда дело доходит до симуляции подвижного состава жд - самый никудышный вагон - главный объект - стоит на минимум 2-х тележках и связан осевым джоинтом. Осность тележек во внимание не принимаем (пока), каждая тележка амортизируется. расстояние между тележками одного вагона - фиксированное, расстояние между вагонами - мягко фиксированное....
В общем можно продолжать дальше вещать, только вот графические движки тут не помощь - если бы мне нужно только движение по кривой - я бы честно говоря и не создавал тему - не зря указал в названии, что нужен именно физ движок.

#3
8:40, 3 ноя 2011

Почему не прицепиться к рельсам намертво и не обсчитывать по 1d физике? "Трамвайная"  физика - самая простая.
Или надо отрабатывать сход с рельсов?

#4
8:52, 3 ноя 2011

Zab
Да - надо отрабатывать сход с рельсов, и многое другое, что лучше реализовано в готовых решениях, нежели этим буду заниматься я и тратить на это драгоценное время

#5
10:27, 3 ноя 2011

NIXIUS
> Да - надо отрабатывать сход с рельсов, и многое другое, что лучше реализовано в
> готовых решениях, нежели этим буду заниматься я и тратить на это драгоценное
> время
А какова задача? Если симулятор поезда, или еще что-нибудь в этом духе, то лучше поднять эмпирические выражения для из каких-нибудь старых учебников по ЖД технике.
И считаться быстро будет и результат во многом будет стабильный и достоверный, ибо, как правило, есть ГОСТы которые устанавливают эти выражения (в судостроении точно есть).

#6
10:35, 3 ноя 2011

Demiurg-HG
Ну заикнулся про учебники - предложи хоть один. ЗЫ - на гугл и яндекс не отправлять.

#7
10:49, 3 ноя 2011

Погуглил: "Теория локомотивной тяги: учебник для вузов железнодорожного транспорта"

Аннотация.
В соответствии с программой учебного курса в учебнике рассмотрены общие вопросы механики транспортного движения, силы, действующие на железнодорожный поезд при его движении (силы тяги, основного и дополнительного сопротивления и тормозные), и факторы, их определяющие. Приведены необходимые данные для расчета этих сил. Даны сведения о тяговых характеристиках локомотивов. Приведен анализ уравнения движения поезда и возможностей его решения при различных условиях. На этой основе изложена традиционная техника тяговых расчетов, а также с использованием ЭВМ. Рассмотрены методы испытания локомотивов, история их развития, отмечена роль отечественных ученых в развитии науки о локомотивной тяге поездов.

По ЖД я не спец, поэтому отвечать за качество учебника не могу.
В гугле есть ссылка на djvu файл. Если качество учебника не очень, то в конце есть список литературы.

Можно поднять вопрос на каком-нибудь ЖД форуме.

#8
12:59, 3 ноя 2011

NIXIUS
> Хотелось бы узнать про варианты реализации движения по рельсам на различных физ
> движках
Как вариант, делаешь рельсы физ.телами, потом делаем коробки колес - с пазами, чтобы лежали в рельсах. Прикладываем силу - и едем. На большой скорости и повороте - будет слет с рельс.

Туго только то - что рельсы делать физ телами сложно, и на стыках будет подпрыгивать или вылетать, но тут зависит от настроек...

Было бы не плохо, все по чесноку...

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

#9
13:07, 3 ноя 2011

fzr125
Что-то наподобии уже пробовалось - результат - эффект кулибинской тележки с квадратными колесами.

#10
16:05, 10 ноя 2011

NIXIUS
> Demiurg-HG
> Ну заикнулся про учебники - предложи хоть один. ЗЫ - на гугл и яндекс не
> отправлять.

школьная физика, 7 класс (отсюда берем понятие момента силы)
школьная физика, 9 класс (если не путаю - движение по окружности в 9м проходят)

Далее давайте подумаем, как поезд может сойти с рельсов?
на мой взгляд есть 3 основных варианта:
1) опрокидывание поезда
2) разрушение рельсового полотна
3) разрушение ходовой части поезда

первый случай нам помогут разрешить упомянутые книги. При повороте надо рассчитывать моменты силы тяжести и центробежки относительно внешнего колеса, если центробежка победила - поезд может начинать падать на бок. (если юзаешь физдвиг - для достоверности можно начинать прикладывать силу - к макушке поезда например - такую, что момент этой силы как раз есть разность моментов центробежной силы и силы тяжести. Заметь, что при крене поезда моменты меняются - нужно пересчитывать заново).

2й и 3й случаи уже зависят от того насколько достоверно у тебя считается разрушение рельсов и поезда.

Вообще говоря, чтобы это все смоделировать сразу, без случаев, можно установить след. схему: есть рельсы - ломаная(будем ее звеньями представлять) и поезд - набор вагонов. Каждое звено может быть разрушено и каждый вагон может быть испорчен (колеса отвалились/вагон полностью упал). Для каждого звена устанавливается параметр - радиус кривизны. Как бонус можно еще углы наклона рельс установить.
К паравозу прикладывается усилие в его направлении.
Далее условия: целый вагон, прикрепленный к рельсам, стоящий на целом звене может поглотить суммарный момент сил (относительно прямой - звена ломаной, на кот. он сейчас едет) вплоть до М_тяжести, если момент больше - из него М_тяжести вычитается. Все силы вдоль поверхности земли, перпендикулярные звену ломаной - не учитываются(т.к. учитываются только их моменты). Так у нас будет система, следящая за тем будет ли переворачиваться поезд. Введем критический угол (например 45%), после которого вагон уже полностью падает и открепляется от рельсов.
После всего этого нужно рассчитать нагрузку на рельса/колеса, и если она превысит предел прочности какого-либо элемента - ломать его. Ломаемый/ломающий вагон от рельсов открепляется.
Ну и рассмотрение движения не по рельсам: изначально каждый вагон прикреплен к рельсам. После внештатной ситуации он может открепиться. На открепленный вагон начинает действовать сила трения, в зависимости от характера открепления (сломались рельсы, вагон на колесах - средняя, вагон на боку - высокая, у вагона поломались колеса, но он на колесах - оч. высокая).

ПрограммированиеФорумФизика

Тема в архиве.