1. Хотелось бы, чтобы были определены используемые термины. Например, "солверы" и "джойнты". Хотя в идеале, конечно, следовало бы по возможности использовать русскоязычные термины, а не пиджинизировать язык.
2. Коль скоро речь идет о физике, то хотелось бы формулы видеть в их традиционном виде, а не в переводе на Си.
Suslik
Может стоит тогда статью както переименовать иначе? Чтобы фигурировало слово солверы и было понятно, что речь пойдёт именно о них, а не о какихто основах физики... Потому что лично я из названия думал, что там именно какието основы, как раз чтото вроде "как вообще могут быть устроены физ.двиги" и "как может быть устроен collision detection"... Но так как я имею смутные познания и в первом и во втором, то и статья показалась не понятной...
andriano
> 2. Коль скоро речь идет о физике, то хотелось бы формулы видеть в их
> традиционном виде, а не в переводе на Си.
А я наоборот против этого... :)
Executor
> А я наоборот против этого... :)
Отчего же?
Научная нотация оптимизирована под легкость восприятия человеком, а программистская - под возможность представления в виде <одномерной> последовательности символов.
andriano
> Отчего же?
> Научная нотация оптимизирована под легкость восприятия человеком, а
> программистская - под возможность представления в виде <одномерной>
> последовательности символов.
Мне проще и приятнее читать код:
vec3 b, c; vec3 a = b + c;
чем багомерзкое:
Хотя бы потому, что в первом случае я представляю реализацию, а во втором нет... Во втором случае мало информации для понимания... Не понятно толи это vec3, толи vec4, толи vec100500...
И так любая математическая запись скрывает много важных деталей... Или в математике можно както записать размерность векторов?
вроде можно :)
chemodansama
Ну это уже не математическая запись...
В этом та и проблема, к элементарной формуле потом будет портянка с пояснениями чтоже тут на самом деле имели ввиду...
Executor
У нас в курсе тензорного анализа были обозначения
индексы латинскими буквами означали, что есть 3 координаты
А четырехмерные индексы обозначались греческими:
Но вообще да, нужна портянка с пояснениями, чтобы не было путаницы. Другое дело, что в случае математической записи портянка нужна один раз в начале статьи/книги, а в случае кода ее нужно подцеплять каждый раз:
vec3 b, c;
"...нужна портянка с пояснениями..."
С учётом высокого уровня математической подготовки пользователей геймдев.ру, я всякий раз предлагаю авторам статей записывать выражения псевдокодом. Так хоть кто-то будет понимать, что написано.
Псевдокод тоже не надо... Пробывал я разбираться в таких статьях, в итоге всё сводится к тому, что во первых псевдокод не корректен и многие детали там не учтены и написан очень грубо и криворуко, а во вторых проще на него не смотреть и написать самому... То бишь он только ухудшает понимание...
А вообще мы ушли в глубокий оффтоп... :(
Executor
Мы наверное говорим о разных псевдокодах. Я под псевдокодом подразумеваю просто куски кода на С, или Паскале. Поскольку этот код нельзя запустить ( это ведь маленький отрывок ) я и называю его "псевдокод".
Да, я про это
http://ru.wikipedia.org/wiki/Псевдокод_(язык_описания_алгоритмов)
andriano
> 1. Хотелось бы, чтобы были определены используемые термины
+1
> 2. Коль скоро речь идет о физике, то хотелось бы формулы видеть в их традиционном виде
+1
andriano & doc.
Такой традиционный вид подойдет? Или имеется ввиду просто реформулирование в красивых картинках?
А многие термины вроде должны быть определены в терминах, если там чо-то нет и/или непонятно - пишите здесь, в комментариях к терминам, или мне в личку; постараюсь поправить.
Suslik
> Статья не была проверена никакими редакторами, даже вордом, поэтому могут
> встречаться ошибки самого разного рода.
В предложении: Другими словами, тела при столкновении обмениваются имульсом contact->norm * lambda. имульсом заменить на импульсом.
В предложении: уравнение такое можно решить, очевидно: lambda = -a / b; таким образом мы нашли имульс, которым обмениваются тела при введении ограничения степени свободы (n1, w1, n2, w2). далее, применив этот импульс к обоим телам, находим корректированные скорости после контакта. имульс заменить на импульс.
В предложении: А проблема, как нетрудно догадаться, в том, что ограничений таких мноого(по меньшей мере по одному на каждый контакт) и удовлетворить им нужно всем одновременно. мноого заменить на много.
В предложении: То есть если мы будем просто решать ограниечение за ограничением, не обращая внимание, что оно, вообще говоря, может быть и не одно и будем делать это достаточно долго... ограниечение заменить на ограничение.
В предложении: продолжаем решать ограничения, как ни в чём не бывало находя импульсы lambda, и просто прибавляем их к аккумулированному значению. не хватает запятой после слова бывало.
В предложении: Модифицировать метод для предусмотрения таких случаев очень просто : если вычисленная lambda получается отрицательной, мы импульс просто не применяем... предусмотрения заменить на обработки, чтобы предусмотреть и т.п. Слова предусмотрение в русском языке нет.
В предложении: Чтобы рассмотреть упругое соударение, просто положим вместо velocityProjection >= 0 величину, учитывающую скорость после отскока: velocityProjection >= c. величина c расчитывается как минус коэффициент отскока [0..1]... расчитывается заменить на рассчитывается.
Вроде все :)
XperienS
Замечания к форме. Для математики есть общепринятая математическая запись.
Что касается терминов то часть англоязычны и специфичны для литературы по данной тематике ( например :) ). Раз статья позиционируется как расказывающая "на пальцах" то будьте любезны...
Тема в архиве.