Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Термины / Солвер (Solver)

Солвер (Solver)

Солвер (Solver) физического движка — одна из основных систем этого движка, отвечающая за разрешение контактов и других видов связей. В свою очередь тоже подразделяется на две подзадачи:

    — разрешение уравнений для скоростей, чтобы два шара, столкнувшись, разлетелись в нужных направлениях;
    — разрешение уравнений для позиций, чтобы те же два шара, «случайно» проникнув друг в друга, успешно «вылезли» и чтобы это еще по возможности смотерлось достаточно естественно.

Что такое Солвер (Solver)?

11 апреля 2008

#физический движок


Обновление: 12 июня 2009

Комментарии:
Страницы: 1 2 Следующая »
SergioУдалёнwww10 июня 200922:30#1
Я бы еще сказал, что солвер отвечает непосредственно за интегрирование и решение уравнений (движения объектов и пр.)
SuslikМодераторwww10 июня 200922:36#2
А я бы сказал, что это неверно. Солвер не отвечает за интегрирование, этим занимается интегратор.
doc.Постоялецwww11 июня 200911:47#3
Suslik
>В свою очередь тоже подразделяется на две подзадачи:
Система подразделяется на две подзадачи? :)  Может всетаки отвечает за... , или решает... ?

>- разрешение уравнений для скоростей, чтобы два шара, столкнувшись, разлетелись в нужных направлениях
>- разрешение уравнений для позиций, чтобы те же два шара, "случайно" проникнув друг в друга, успешно "вылезли" и чтобы это еще по возможности смотерлось достаточно естественно
Вовсе не для того, чтобы два шара... Это ведь пример, так и надо написать.

>- разрешение уравнений
Наверное будет лучше использовать термин "решение уравнений" как более употребимый и т.к. из контекста понятно, что речь идет о прецессе решения.

MalandrinusПользовательwww9 сен. 201022:59#4
Всё-таки "solver" переводится как "решатель". Это общепринятый термин в вычислительной математике и сопредельных областях. Решатель он потому, что решает физическую задачу.
В процесс численного решения входит также и интегрирование. Без интегрирования решение не закончить, поэтому это - составная часть решателя. Кроме того, мне думается несерьёзно выделять в отдельный компонент действие, состоящее из одного цикла и пары арифметических операций внутри него.
XperienSПостоялецwww13 сен. 20102:49#5
Malandrinus
Думаю, тут имеется ввиду солвер LCP, и в него действительно не входит интегрирование (возможно, для избежания дальнейшей путаницы следует обновить термин). Он решает довольно сложную задачу, собственно LCP, а тот факт что в современных движках игровой физики он имеет вид последовательного решения ограничений - это результат упорного труда многих людей в течение многих лет. решать эти самые LCP можно совершенно по-разному (взять например Dantzig или Lemke, у всех солверов ЛЦП свои недостатки и преимущества), именно поэтому солвер ЛЦП выделяется в отдельный компонент.
aash29Постоялецwww13 сен. 201013:35#6
Если под "солвером" имеется в виду _только_ метод решения LCP, то наверно это следует написать. Но это странно - помимо LCP в движке решают и уравнения, линейные и нелинейные.
Я бы перевел просто-напросто "метод решения", а дальше указал какой задачи.
daveПостоялецwww13 сен. 201017:21#7
Я согласен с тем что под солвером понимают обычно интегратор уравнений движения в дифференциальной форме. Конечно можно было бы запихнуть и детектор столкновений применяя хитрый потенциал, но насколько я знаю этого не делают. А используют детектор сотлкновений который может еще и подкоррктировать положения частиц.
SuslikМодераторwww13 сен. 201017:25#8
Термин относится к геймдеву, в любой литературе по теме под солвером понимается именно подпрограмма, разрешающая LCP. Корректировки в термин внесены не будут.
паравозПостоялецwww13 сен. 201018:41#9
Suslik
лучше отключить комментирование=)
SuslikМодераторwww13 сен. 201018:43#10
Клёво, можно закрыть тему даже с комментариями. Но не думаю, что оно того стоит, в любом случае важно знать комментарий каждого компетентного, пусть и несколько в другой области человека.
DronasПостоялецwww14 ноя. 201014:03#11
Солвер является вспомогательной частью интегратора?
SuslikМодераторwww14 ноя. 201014:04#12
Dronas
нет, они независимы. солвер разрешает коллизии, интегратор их снова создаёт.
DronasПостоялецwww14 ноя. 201016:21#13
В этой книженции:
Изображение
"солвер", как я понимаю встроен именно в "интегратор".
Это так?
На сколько жизнеспособен такой подход?
Где можно посмотреть диаграмы общепринятых подходов в организации физ.движков?
SuslikМодераторwww14 ноя. 201018:17#14
Dronas
> "солвер", как я понимаю встроен именно в "интегратор".
ради бога. туда же можно встроить визуализацию и обработку клавиш, почему нет?

> На сколько жизнеспособен такой подход?
в position-based, например, так и делается. ничего, живёт. просто там как таковой стадии CD и солвинга нету.

Страницы: 1 2 Следующая »

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

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

2001—2018 © GameDev.ru — Разработка игр