Солвер (Solver) физического движка — одна из основных систем этого движка, отвечающая за разрешение контактов и других видов связей. В свою очередь тоже подразделяется на две подзадачи:
— разрешение уравнений для скоростей, чтобы два шара, столкнувшись, разлетелись в нужных направлениях;
— разрешение уравнений для позиций, чтобы те же два шара, «случайно» проникнув друг в друга, успешно «вылезли» и чтобы это еще по возможности смотерлось достаточно естественно.
Suslik >В свою очередь тоже подразделяется на две подзадачи:
Система подразделяется на две подзадачи? :) Может всетаки отвечает за... , или решает... ?
>- разрешение уравнений для скоростей, чтобы два шара, столкнувшись, разлетелись в нужных направлениях >- разрешение уравнений для позиций, чтобы те же два шара, "случайно" проникнув друг в друга, успешно "вылезли" и чтобы это еще по возможности смотерлось достаточно естественно
Вовсе не для того, чтобы два шара... Это ведь пример, так и надо написать.
>- разрешение уравнений
Наверное будет лучше использовать термин "решение уравнений" как более употребимый и т.к. из контекста понятно, что речь идет о прецессе решения.
Всё-таки "solver" переводится как "решатель". Это общепринятый термин в вычислительной математике и сопредельных областях. Решатель он потому, что решает физическую задачу.
В процесс численного решения входит также и интегрирование. Без интегрирования решение не закончить, поэтому это - составная часть решателя. Кроме того, мне думается несерьёзно выделять в отдельный компонент действие, состоящее из одного цикла и пары арифметических операций внутри него.
Malandrinus
Думаю, тут имеется ввиду солвер LCP, и в него действительно не входит интегрирование (возможно, для избежания дальнейшей путаницы следует обновить термин). Он решает довольно сложную задачу, собственно LCP, а тот факт что в современных движках игровой физики он имеет вид последовательного решения ограничений - это результат упорного труда многих людей в течение многих лет. решать эти самые LCP можно совершенно по-разному (взять например Dantzig или Lemke, у всех солверов ЛЦП свои недостатки и преимущества), именно поэтому солвер ЛЦП выделяется в отдельный компонент.
Если под "солвером" имеется в виду _только_ метод решения LCP, то наверно это следует написать. Но это странно - помимо LCP в движке решают и уравнения, линейные и нелинейные.
Я бы перевел просто-напросто "метод решения", а дальше указал какой задачи.
Я согласен с тем что под солвером понимают обычно интегратор уравнений движения в дифференциальной форме. Конечно можно было бы запихнуть и детектор столкновений применяя хитрый потенциал, но насколько я знаю этого не делают. А используют детектор сотлкновений который может еще и подкоррктировать положения частиц.
Термин относится к геймдеву, в любой литературе по теме под солвером понимается именно подпрограмма, разрешающая LCP. Корректировки в термин внесены не будут.
Клёво, можно закрыть тему даже с комментариями. Но не думаю, что оно того стоит, в любом случае важно знать комментарий каждого компетентного, пусть и несколько в другой области человека.
"солвер", как я понимаю встроен именно в "интегратор".
Это так?
На сколько жизнеспособен такой подход?
Где можно посмотреть диаграмы общепринятых подходов в организации физ.движков?