Здесь я хочу поделиться другим методом, который предотвращает ошибку поддержки модели при изменении контекста:
1) Откройте файл DbContext
2) Добавьте пространство имен с помощью Microsoft.AspNet .Identity.EntityFramework;
3) public MyDbContext (): base ("name = MyDbContext") {Database.SetInitializer (новый DropCreateDatabaseAlways ()); }
Вы думаете об этом неправильный путь. Вещь, отличающиеся суммы силы на дорожках не повернут корпус определенное число градусов. Скорее отличающаяся сила изменит Скорость вращения.
Отношения между силой и угловой скоростью вращения будут варьироваться в зависимости от механики корпуса. Чем шире корпус, тем медленнее это поворачивается. Чем быстрее корпус, тем быстрее это поворачивается.
P.S. Еще некоторые мысли об этом: Я не думаю, что основанный на физике ответ возможен, не основывая его от реального корпуса. Несколько из ответов обращаются к физике поворота, но существует неявное предположение во всех них, что система имеет бесконечную силу. Корпус может действительно работать в 1,-1? И это может достигнуть той скорости немедленно - ускорение относится к поворотам, также.
Наконец, шаги имеют длину, а также ширину. Это означает, что Вы собираетесь получить некоторое поперечное уменьшение шагов в любой ситуации с превращением, чем быстрее поворот, тем больше такого уменьшения будет требоваться. Это собирается зажечь энергию в крутом повороте, даже если бы механизм имеет власть делать 1,-1 поворот, который это не повернуло бы с такой скоростью, как это указало бы из-за потерь на трение.
Это не вопрос силы - это зависит от различия в скорости между этими 2 сторонами, и сколько времени то различие содержит (также ширина корпуса, но это - просто постоянный параметр).
В основном необходимо вычислить его вдоль этих строк:
Это было некоторое время, так как я сделал любую физику, но я буду думать, что силы соединения двух дорожек, перемещающихся в противоположные направления, приводят к крутящему моменту о центре массы корпуса.
Именно этот крутящий момент приводит к угловому моменту корпуса, который является просто другим способом сказать, что корпус запускается к вращению.
Вот то, как я принялся бы за решение проблемы корпуса.
Центр корпуса будет, вероятно, перемещаться средней скоростью правых и левых дорожек. В то же время корпус будет вращаться по часовой стрелке вокруг, это - центр ([оставленный скорость дорожки] * - [правильная скорость дорожки]) / [ширина].
Это должно дать Вам скорость и вектор направления.
Отказ от ответственности: Я не протестировал это...
Change in angle (in radians/sec) = (l-r)/(radius between treads)
Velocity = l+r
Для dtheta предположите, что у Вас был деревянный полюс между Вашими двумя руками, и Вы хотите вычислить, сколько он поворачивает в зависимости от того, как трудно и какой путь Ваши руки нажимает - Вы хотите выяснить:
сколько поверхностной дистанции на полюсе Вы преодолеваете в секунду->, сколько вращений/секунда, который является-> сколько радианов/секунда (т.е. mult 2pi)
Ну, имейте в виду, что Вы также говорите о продолжительности здесь. Необходимо узнать принятие сил для учета скорости, на которой корпус поворачивается в (1,-1).
Т.е. если корпус занимает одну секунду для вращения 360 ˚ в (1,-1), и Вы хотите вращать 180 ˚ через одну секунду, (.5,-.5) добился бы цели. Если бы Вы хотели вращать ту же сумму через половину секунды, то (1,-1) работал бы.
Это все далее сложно при использовании брюшного пресса (lrate)! = брюшной пресс (rrate), в этом случае необходимо будет, вероятно, вспыхнуть карандаш!
Вы могли посмотреть на него путем высказывания: каждая дорожка описывает круг. В случае, где одна дорожка поворачивается (позволяет, говорят, что левые), и другой не, затем направление будет иждивенцем на том, сколько времени и как далеко оставленные следы поворачиваются для.
Это расстояние будет скоростью дорожек x время.
Теперь потяните треугольник с этим расстоянием и колесную базу, нарисованную в, плюс некоторый грех и потому что уравнения и приближения, и Вы могли бы получить приблизительное уравнение как:
при направлении с изменением = расстояние переместилось дорожками / колесная база
Затем Вы могли включить некоторое ускорение, чтобы быть более реалистичными: Больше физики...
Скорость не является постоянной - она ускоряется (и замедляется).
т.е. в течение времени скорость увеличивается от 0, к 0,1... 0.2... 0.3 до предела.
Конечно, когда скорость изменяется, уровень изменения направления изменяется также - немного более реалистичный, чем скорость (и таким образом уровень изменения направления) быть совершенно постоянным.
Другими словами, вместо того, чтобы контролировать скорость, плеер управляет изменением в скорости. Это заставило бы скорость пойти от 0... 0.02... 0.06... 0.1 и т.д., поскольку игрок продвигает контроллер. Так же для замедления, но немного более быстро вероятно.
надеюсь, это поможет.
Я сказал бы, что Вы думаете об этом неправильным способом.
Увеличение различия в скорости между двумя шагами не вызывает степени поворота - они, объединенный со временем (расстояние на другой скорости) вызывают степени поворота.
Чем больше различия в скорости шага, тем меньше времени должно было достигнуть X градусов поворота.
Так, для предложения формулы необходимо будет сделать несколько предположений. Или поворот по фиксированной процентной ставке, и время использования как Ваша переменная для превращения X градусов, или набор фиксированное количество времени, чтобы завершить поворот и использовать различие в скорости дорожки в качестве Вашей переменной.
Я думаю, что все должны также принять во внимание то, что корпуса могут включить круг Нулевого радиуса: путем применения той же скорости на каждую дорожку, но на противоположные направления, корпуса могут включить десять центов.