Пользовательская физика моделирование ткани для двигателя дает непоследовательный отскок, когда два шара одновременно зеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Пользовательская физика моделирование ткани для двигателя дает непоследовательный отскок, когда два шара одновременно зе

Сообщение Anonymous »


Я работаю над индивидуальным физическим двигателем в C#, который включает в себя систему моделирования ткани в реальном времени. Недавно я изменил свойства ткани
, чтобы она была вести себя как батут. Однако, если я бросаю два шарика одновременно, один ведет себя
нормально (отскакивание), в то время как другой, по -видимому, «падает» или получит

, выброшенное из сетки ткани. отскок. /> Пример расчет ограничений из моей ядра физики < /strong> < /p>
Шаг 1 Значение ограничения: < /p>
C = |x1 - x2| - L
= 1.5 - 1.0
= 0.5
< /code>
Шаг 2 Градиенты: < /p>
∇x1C = (x1 - x2) / |x1 - x2| = (-1, 0)
∇x2C = -∇x1C = (1, 0)
< /code>
Шаг 3 знаменатель для λ: < /p>
w1‖∇x1C‖² + w2‖∇x2C‖²
= 1 + 1
= 2
< /code>
Шаг 4 Multiplier Lagrange: < /p>
λ = -C / denominator
= -0.5 / 2
= -0.25
< /code>
Шаг 5 исправления позиции: < /p>
Δx1 = w1 * λ * ∇x1C = (0.25, 0)
Δx2 = w2 * λ * ∇x2C = (-0.25, 0)
< /code>
Шаг 6 Новые позиции после проекции: < /p>
x1' = (0.25, 0)
x2' = (1.25, 0)
< /code>
окончательное расстояние: < /p>
|x1' - x2'| = 1.0 m
< /code>
Ограничение Полностью удовлетворенное < /p>
Что я пробовал: < /p>
Корректировка жесткости ткани, демпфирования и количества итерации решателя. < /p>
Увеличивающая точность обнаружения столкновений в моем физике. Поведение: оба шарика должны последовательно отскочить, без одного
ruping через или не подвергается неправильному выбросу. Если
вы хотите узнать больше об архитектуре двигателя, я
задокументировал его здесь: документация Pro Physics Engine < /p>
Ожидается:
Оба шарика должны последовательно отскакивать, без обрезания или вынужденного неестественного. И как я могу гарантировать, что оба ведут себя одинаково при сброшении вместе?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -two-balls
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему функция Perft для моего шахматного двигателя дает два разных выхода? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Отключить отскок UIScrollView на обоих концах
    Anonymous » » в форуме IOS
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • Попытка убрать отскок от наклона
    Anonymous » » в форуме C#
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Uiscrollview Отключить вертикальный отскок только внизу
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как предотвратить «отскок» белого пространства после прокрутки до вершины страницы и внизу
    Anonymous » » в форуме Html
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»