Упругие связи - это довольно просто. У нас есть 2 точки, и величина необходимого расстояния между ними. Мы проверяем между ними расстояние, и если оно больше/меньше чем надо, мы сдвигаем/растягиваем эти точки в направлении вектора между ними. Причем обе точки сдвигаются на одинаковое расстояние, только с разными знаками. Если умножать величину сжатия/растяжения на величины [0-1] связь получается упругой. Насчет фейковости рельс - смысл в том, что одновременно ось может быть привязана только в одному блоку рельс по ней. Поэтому левая половина физически фейковая. Игрок этого никак не заметит, ибо ни в чем не проявляется. Иллюстрация: [attachment=0]scheme5.PNG[/attachment] Насчет количества тележек - они не имеют значения. Оси это только воображаемые. если увеличить их количество на одной прямой могут возникнуть ошибки. Вернее говоря - оси здесь только для направления вагона. Для этого достаточно ровно двух, в большем количестве нет смысла, ибо все лежат на одной прямой. Вагоны можно сделать и 16х2. Только тогда и оси нужно пошире выставить. Разница только в одной величине и модели вагона.Что скажешь по этому поводу?
Вот такая формула не применима здесь, ибо: 1) Подсчет t никто не ведет. 2) Движение не равноускоренное. Иногда поезд тормозит, иногда разгоняется. Правильно это выглядит например так: 1) Этап инициализации вагона. V=0; Скорость. A=0; Ускорение. P=0; Пройденный путь по отношению к началу пути между опорами. E=0; Фактически - педаль газа/тормоза. Именно ее нужно менять при проезде по рельс-тормозу и т.д. Важно: стоит заметить, что все эти параметры кроме P - общие для всех осей вагона. 2) При движении вагона.формулы - V = V0 + t*a, вроде того)
A=0;if(E==1) //Если мы едем if(V<2) //Максимальная скорость A=0[paste][/paste]02; //Ускорениеif(E==0) //Если мы тормозим if(V>0[paste][/paste]001) //Если вагон не стоит[paste][/paste] (0[paste][/paste]001 - скорость сравнимая с покоем) A=-0[paste][/paste]05; //Ускорение торможения[paste][/paste]V=V+A; //Прирост скорости[paste][/paste]P=P+V; //Движение по путиif(V>0[paste][/paste]0000001) //Если вагон не стоит[paste][/paste] V=V*0[paste][/paste]95[paste][/paste] //Аналог трения[paste][/paste] Необходим для окончательного "успокаивания" вагона при остановке[paste][/paste]А вообще лучше поэкспериментировать. Числа выше я только для примера взял.