Прошу помощи в рассчете некоторых формул по кинетике...

Сообщение №35575 от Balor 04 ноября 2004 г. 13:05
Тема: Прошу помощи в рассчете некоторых формул по кинетике...

и сопромате, если это не совсем уж нагло :).
Мы (т.е. наша "команда") делаем MUD*, и при этом заинтересованы, чтобы при этом была максимальная реалистичность в плане боевой системы, и системы свойств материалов. Это, хотя и потребует больше времени на начальное проектирование, потом позволит на порядок снизить трудоемкость в плане создания вещей, расчета их взаимодействия и баланса.
Вот мое "Дано:" на эту тему, возможно слегка сумбурно:
Параметры оружия:
Вес, длина, баланс (центр тяжести), острота (интересно, можно ли это иметь в "абстрактных" единицах, или желательно перейти на что-то соотв. реалу?), острота кончика, длина кончика (это для колющих ударов, ну и опциональные флаги, не играющие особой роли в расчетах - типа шипов на булаве, типы заточек, кривизна клинка, етс...)
Броня - тут нас интересует толщина и возможное рифление для негибкой брони. (последнее, я полагаю, можно просто сделать в виде флага - модификатора прочности?)
Параметры материалов для брони и оружия - с этим сложнее. Насколько я понимаю, тут важна твердость , гибкость и пластичность. Как бы это выразить в игре? Как мне подсказывает курс физики (правда, давно это было) и здравый смысл - твердость - сопротивление деформациям вообще, гибкость - возможность обратимо переносить некоторые деформации и пластичность - соответственно переносить необратимые деформации, не ломаясь.
Вопросы - я не слишком много или мало поставил параметров? Как бы их (разумеется, в упрощенном виде) подставить в формулы для расчета энергии удара и того, пробьет/прорежет ли удар броню... и где их взять в инете (или в ближайшей библиотеке - хотелось бы услышать пару рекомендаций, т.к. я программер и от физики, увы, далек.)?
Кстати, надо учитывать еще то, что абсолютное большинство ударов идут по дуге (т.е. движение по окружности, кроме колющих) + длина клинка идет вместе с длиной руки, + к весу клинка отчасти также добавляется вес руки, а то и тела! (Если удар идет с разворотом, а это почти всегда - я сам немного реконструктор, правда сейчас, по причине здоровья, «отстранился»). В принципе, рост и вес персонажа у нас известен, и эти части можно грубо аппроксимировать.
В принципе, формулу можно представить - длина, вес и баланс оружия (плюс аппроксимация вес и роста), + приложенная сила, придающая ускорение (зависит от силы персонажа) + скорость, на которой нанесен удар (макс. скорость зависит от ловкости персонажа, также возможен факт ненулевой Vнач), кою тут же придется рассчитать исходя из длины пути (радиуса) атаки, + направление атаки относительно вектора силы тяжести -> дает на выходе кинетическую энергию атаки. Затем исходя из кривизны клинка и его остроты (при колющем ударе - острота и длина кончика), и угла удара (тут можно упростить, в принципе) - просчитаем, прорезал (проколол) ли меч бронь, (или деформацию брони при ударе тупым предметом... как бы тут это попроще?), и на какую глубину, чтобы добавить в «актив» персонажа соответствующее ранение, и просчитать вероятность задевания каких-либо внутренних органов... ну да это детали.
При этом, используя реальные единицы измерения (ну там Джоули, Паскали, и справочные параметры известных материалов), можно, поначалу потратив чуть больше времени, получить на выходе систему, в которой нельзя придраться к балансу. Хочешь твердый клинок - закали. А если он при этом сломается после второго удара - сам виноват. Удар с замахом - сильнее, но медленнее... етс. (Мад работает в сеттинге Колеса Времени Джордана, так что на волшебство и фэнтезийные материалы там не особо скидку сделаешь - там все настолько научно, насколько это вообще можно в формально фэнтезийном сеттинге). В общем, если вы откажетесь, я пойму. Однако нам вовсе не нужны очень сложные формулы с интегралами и проч. - более-менее точные (или даже очень) аппроксимации будут более чем подойдут, главное, чтобы можно было работать с табличными данными, а не от балды введенным параметрами оружия и доспехов.**
Ну и разуметься, что все это сделает игру проще, а не сложнее - т.к. все эти формулы игроку будут не видимы, и все действия будут логичны, оценивая ситуацию исходя из параметров реального мира - т.е. более острый меч будут резать лучше, более твердый - можно лучше наточить, но он может сломаться, алебарда бьет сильнее кинжала, будь он хоть 100 раз из материала с «магически» перестроенной молекулярной решеткой для достижения почти алмазной прочности и т.д., и т.п.
И в любом случае, было бы неплохо хотя бы выслушать несколько рекомендаций по реализации (ну или линков на тему).

Примечания:
_________________________
*Т.к. это известно не всем, поясняю - бесплатная текстовая ролевая игра на С++, доступ идет через любой telnet-клиент.)
**Типа повреждение 2-4, броня уменьшает шанс попасть на 3 единицы и проч., прости Господи, маразм, простительный в настолках (ДМ не железный), но с компьютерными ролевухами тут все как раз наоборот :)


Отклики на это сообщение:

Физика в анимациях - Купить диск - Тесты по физике - Графики on-line

Реклама:
Rambler's Top100