Форум: "Потрепаться";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
ВнизКак моделируются физические законы ? Например, падение шарика на Найти похожие ветки
← →
Кен (2003-01-24 06:53) [0]на стол под действием силы тяжести с учётом трения ? Чтобы он как настоящий прыгал по столу постепенно уменьшая амплитуду подпрыгивания ? Может есть какие нибудь готовые программы или примеры ? А если он ещё и вращается, то как рассчитать его движение ?
Дело в том, что физ. законы то я знаю. Но на компе же нет постоянного времени. Есть только таймер по которому просчитываются кадры. А как рассчитывать, если один кадр это ещё до удара об стол, а другой уже после удара ? Или как быть с массой ? Или её вообще не учитывать ?
Может есть какие готовые примеры посмотреть ?
← →
MBo (2003-01-24 06:59) [1]>если один кадр это ещё до удара об стол, а другой уже после удара
В мультипликации при этом принято делать кадр, в котором шарик касается стола, иначе будет впечатление, что он зависает, не долетая.
>постепенно уменьшая амплитуду подпрыгивания
просто рассчитывать скорость отскока, уменьшая ее на какую-то долю (например, на 1/10) или считать, что при каждом отскоке теряется какая-то доля энергии (видимо, это ближе к правде)
← →
Sha (2003-01-24 07:17) [2]Ускорение свободного падения не зависит от массы - можно не учитывать :)
← →
OxOTHuK (2003-01-24 07:20) [3]когда мы моделировали физические процессы - мы составляли дифуры.
2 Sha: прально, но только вблизи поверхности земли.
← →
Skyle (2003-01-24 07:27) [4]Если есть желание моделировать процессы во времени, то стоит все нужные характеристики поиметь как функции от времени и каждый раз их рассчитывать. Может и неоптимально, зато близко к правде...:)
← →
Кен (2003-01-24 07:32) [5]2Sha ©
А отскок от стола при вращении зависит от массы ?
Как это можно сделать ?
2MBo ©
>>если один кадр это ещё до удара об стол, а другой уже после удара
>В мультипликации при этом принято делать кадр, в котором шарик касается стола, иначе будет впечатление, что он зависает, не долетая.
Тогда непонятно что с таймером делать ? Как то менять интервал что ли ? Но как ? И главное всё равно ведь точно не подгадаешь. Будет с каким то допуском.
Skyle ©
А есть какие нибудь уже готовые примеры, чтоб не мучиться ?
← →
Думкин (2003-01-24 07:40) [6]
> Кен (24.01.03 07:32)
Ведь все зависит от того, что ты делаешь. Мультипликация - это обман, твоя задача сделать его правдоподобным и все.
Абсолютной точности с природой - не добьешься, поэтому прикинь модель, которой тебе достаточно.
А с отскоком - ведь и от шага зависит, только коснуться стола он должен - пусть здесь и ступенька будет - сделай ее незаметной - твори.
А если вдебри лезть - еще сопротивление воздуха есть - тут и масса при вращении понадобится. А еще космические лучи, а еще стол не совсем плоский, а шарик не совсем круглый и масса в нем не совсем однородно распределена. Найди компромисс.
> А есть какие нибудь уже готовые примеры, чтоб не мучиться ?
Иногда помучится стоит.
← →
Suntechnic (2003-01-24 08:19) [7]>Sha ©
Ты ж утверждаешь, что физические законы знаешь, чего ж тогда спрашиваешь чего учитывать, а чего не нет? :)
Как это ты собрался массу не учитывать? Позвольте тогда поинтересоваться за счёт чего мячик на стол упал и почему он от стола отскочит?
Это конечно замечательно, что ускорение свободного падения не зависит от массы, но мячик то до стола добрался под воздействием силы тяжести, а вот при расчёте силы тяжести без массы ну никак не обойтись.
И вообще при чём тут вращение? Кто заставил мячик вращаться? Какая сила? Если рассмотреть академическое "отпускание" мячика с высоты, то оно должен по той же траектории попрыгать и на том же самом месте(в котором первый раз приземлился) остановиться.
← →
Suntechnic (2003-01-24 08:21) [8]Простите, в последний пост закралась ошибка. Он конечно же адресован господину Кен, а не Sha ©. Ещё раз прошу простить.
← →
alexnmsk (2003-01-24 08:27) [9]Кстати, если быть точным, ускорение свободного падения не зависит от массы. А воздушное сопротивление - зависит. Т.е. если шарик падает не в вакууме, массу надо учитывать.
← →
Думкин (2003-01-24 08:33) [10]
> alexnmsk © (24.01.03 08:27)
> Кстати, если быть точным, ускорение свободного падения не
> зависит от массы. А воздушное сопротивление - зависит
В этом месте немного поподробнее, пожалуйста.
> Suntechnic © (24.01.03 08:19)
> Это конечно замечательно, что ускорение свободного падения
> не зависит от массы, но мячик то до стола добрался под воздействием силы тяжести, а вот при расчёте силы тяжести без массы ну никак не обойтись.
А зачем нужно знание силы для того чтобы добраться до стола?
← →
Viktor Kushnir (2003-01-24 08:41) [11]Люди, человек вас не законы спрашивал, а методику реализации. Может куда проще заранее все расчитать а тем просто на экран результат выводить? Расчет-то быстро пройдет.
← →
Suntechnic (2003-01-24 08:49) [12]>Думкин © (24.01.03 08:33)
А зачем нужно знание силы для того чтобы добраться до стола?
Для того чтобы составить уравнения движения согласно законам Ньютона. Или у Вас есть другие варианты?
← →
Думкин (2003-01-24 08:56) [13]штука в том, составив его и имея только силу тяжести - мы массу просто сможем сократить - она здесь не нужна. Это один из моментов натолкнувших Эйнштейна на создание ОТО.
ну и сразу по
> Думкин © (24.01.03 08:33)
> > alexnmsk © (24.01.03 08:27)
> В этом месте немного поподробнее, пожалуйста.
А тут другая ситуация - сила от массы не зависит - поэтому при расчете ускорения из силы масса вылезет и от нее никуда не денешься.
← →
Suntechnic (2003-01-24 09:02) [14]Думкин © (24.01.03 08:56)
штука в том, составив его и имея только силу тяжести - мы массу просто сможем сократить - она здесь не нужна.
Штука в том, что просто массу сократить вам не получиться. Вам придётся попотеть попытавшись увязать массу с тем расстоянием, на которое отскочит мячик, приняв за единицу какие-нибудь попугаи. Или вы будете спорить с тем, что потенциальная энергия упругой деформации мячика (а именно за счёт этой енергии мячик отскочит назад) не зависит от силы тяжести? А от этой энергии зависит та высота, на которую отскочит мячик.
← →
Думкин (2003-01-24 09:12) [15]
> Suntechnic © (24.01.03 09:02)
Ну пошло.
> Suntechnic © (24.01.03 08:19)
> Это конечно замечательно, что ускорение свободного падения
> не зависит от массы, но мячик то до стола добрался под воздействием силы тяжести, а вот при расчёте силы тяжести без массы ну никак не обойтись.
Здесь о кинетической энергии и упругости - ну ни слова. Перед этим вы конечно написали об отпрыгивании, но эти два параграфа у вас плохо связаны. То что вы хотите сказать я прекрасно понимаю - просто надо слегка точнее выражаться и не нервничать.
В момент соприкосновения достаточно знать скорость мяча, а для этого (в вакууме) до массы - по барабану.
← →
Suntechnic (2003-01-24 09:23) [16]>Думкин © (24.01.03 09:12)
Да я вообще то нервничать и не собирался :) Ну а на счёт точности выражений... уж как могу так и выражаюсь :)
Может в момент соприкосновения и по барабану чего там за сила тяжести, но товарищ вроде пытался описАть процесс скачащего мячика вот мне и стало интересно как он собирается просто принебречь массой.
И что вас так смутило во фразе " при расчёте силы тяжести без массы ну никак не обойтись"? Ведь и вправду то не обойтись: P = mg :)
А вообще нас скоро в потрепаться отправят :)
← →
Думкин (2003-01-24 09:26) [17]
> И что вас так смутило во фразе "при расчёте силы тяжести
> без массы ну никак не обойтись"? Ведь и вправду то не обойтись:
> P = mg :)
Да - это не смутило, просто лишнее в том контексте.
В остальном, согласен - нужно завязывать. %-)
← →
Kair (2003-01-24 09:39) [18]x=x0+v0*t+g*t^2/2
← →
Юрий Зотов (2003-01-24 09:41) [19]Попробую и я бросить свои три копейки. Все же 20 лет этим занимался, наверное, что-то еще помню.
> Как моделируются физические законы?
Моделируются процессы, а не законы. Делается это точно так же, как решаются физические задачи и на бумаге - анализируется задача, на основе физических законов составляется и решается система уравнений (математическая модель). Если процесс слишком сложный (а практически все они такие и есть), то сначала могут вводитьсяя допущения, которые позволяют пренебречь чем-либо, при этом не слишком огрубляя модель (очень важный этап, грамотная система допущений - это целое искусство, требует глубоких знаний и большого опыта). Если система уравнений получается слишком сложной и не имеет аналитического решения (а при серьезной постановке задачи это практически всегда так), то используется ее численное решение - лишь для этого и нужен компьютер (об аналоговых машинах умолчу за их редкостью). Сам по себе он, конечно, ничего не моделирует, а просто решает составленные нами уравнения по составленной нами же (или готовой) программе. При этом запросто может и соврать - все зависит от численного метода и от того, как он реализован в программе. Тонкостей там тоже очень много.
> Может есть какие нибудь готовые программы или примеры?
Думаю, они должны быть в комплекте Mathcad"а.
> Но на компе же нет постоянного времени. Есть только таймер по
> которому просчитываются кадры.
Да, так и есть. Это называется "дискретность времени" (во временнЫх задачах), или "расчетная сетка" (в пространственных) - что, по сути, одно и тоже (дискретность аргумента). На цифровых машинах задача всегда решается пошагово - на то они и цифровые. Что налагает дополнительные сложности, связанные с грамотным выбором шага, либо алгоритма его коррекции. Большой шаг - грубое решение, "проскакиваются" нюансы, запросто может возникнуть неустойчивость решения и т.д. Малый шаг - большое время счета, накопление ошибок и т.д.
> А как рассчитывать, если один кадр это ещё до удара об стол,
> а другой уже после удара?
При численном решении ТОЧНО этот момент удара поймать нельзя (на то она и модель, а не реальность, да еще модель дискретная). На каждом шаге нужно смотреть - не проскочит ли на следующем шаге шарик "через стол" (проверять координату). Если да - то нужно скорректировать последний шаг и после его просчета МЕНЯТЬ РАСЧЕТ - переходить с модели полета на модель упругого удара. Только она позволит рассчитать отскок шарика. А после его отрыва от стола - снова на модель полета, и т.д. Вот и получится, что шарик прыгает. Теоретически, он будет прыгать бесконечно, а в модели нужно ввести какое-то условие, когда дальнейший счет уже неинтересен. Сразу скажу, что задача расчета серии отскоков шара получится не такая уж простая.
> Или как быть с массой? Или её вообще не учитывать?
Что учитывать, а что нет - зависит от Вас и от того, что Вы хотите получить. Если считать просто свободное падение, как в школе, то можно не учитывать. Если учитывать сопротивление воздуха, то придется учесть размер шара (вообще, при учете сопротивления воздуха придется считать гидравлику - а тогда задача может резко усложниться, причем без заметного выигрыша в точности). Если же Вы хотите считать еще и отскок шара, то без его массы ну никак не обойтись - он же отскакивает за счет упругой деформации (как пружина), а ее величина зависит от инерции шара при соударении - значит, и от массы. Более того, не исключено, что придется еще и считать деформацию крышки стола (в том числе, неупругую), ее прогиб и пр. Все это надо оценивать, а потом уж решать, что влияет сильно, а чем можно пренебречь.
В общем, заниматься подобными задачами не просто, но для тех, кто любит физику - жутко интересно. Дерзайте, успехов Вам.
P.S.
Без чтения серьезных книг - даже и не мечтайте добиться чего-то приличного.
← →
SuperUmnik (2003-01-24 11:14) [20]тут многое что говорили, советую книжку прочитать про математическое моделирование сложных процессов. я вот примерно таким же делом занимаюсь (составляю физические модели) достичь 100% точности как в природе не удасттся ни когда, поэтому обычно на модель накладываются ограничения ограничения делятся на ограничения физические и ограничения метода и пр.
Большинство процессов описываются диф.уравнениями. в т.ч. и ветерок влияющий на шарик и закручивание и сила тяжести и сопротивление воздуха и пр. А для моделирования наиболее распространен пакет Mathlab. Но я моделирую на дельфях.
Покрайней мере сделана модель буровой установки которая бурит скважину, опускает долото, качает нефть и пр. моделируем все процессы в буровой (электрические, газодинамические, гидравлические, и пр.) так вот на описание такой модели ушло полтора года коллектива из 7 ми чел.
Вот так вот учите математику и физику!
← →
Кен (2003-01-26 02:29) [21]В общем вот что получилось :
procedure TForm1.DummyCube1Progress(Sender: TObject; const deltaTime,
newTime: Double);
begin
CollisionManager1.CheckCollisions;
k := deltaTime*1; // - ход времени.
y0 := y; // - Запомнить предыдущую позицию для вычисления скорости.
y := y0 + v*k*col - g*k*k/2; // Вычисляем новое положение по Y
v := (y - y0)/k*ktorm; // Вычисляем новую скорость.
col := 1;
DummyCube1.Position.Y := y;
end;
procedure TForm1.CollisionManager1Collision(Sender: TObject; object1, object2: TGLBaseSceneObject);
begin
if ( v <= 0 ) then begin col := -1; end;
end;
Это на GLScene . Проблема только с тем, что когда предмет окончательно падает, то он начинает медленно просачиваться через поверхность на которую упал. Как бы этого избежать ?
ktorm - коф. торможения. Чуть меньше единицы.
------------
Теперь новый вопрос, а какой будет отскок, если предмет ударится не центром тяжести, а боком ? Например падение карандаша, когда он бьётся сначала одним концом об пол, потом другим, и так далее.
Как это рассчитывается ?
← →
Stager (2003-01-26 03:29) [22]Эх, поздновато я залез в эту дискуссию. Впредь буду расторопней. :) Полностью согласен с Юрием Зотовым.
2 Кен
> Теперь новый вопрос, а какой будет отскок, если предмет
> ударится не центром тяжести, а боком ?
А будет вот что: Вам придется помимо импульса и скорости учитывать момент импульса и угловую скорость. Для того, чтобы их учесть, потребуется задать непрерывное объемное распределение массы по всему объекту, или плотности, что одно и то же. Для случая карандаша Вас, скорее всего, устроит одномерный случай с постоянной плотностью по всей длине, то есть центр масс будет совпадать с геометрическим центром. При соударении Вам потребуется расчитать равнодействующую, исходя из которой вычислить изменение импульса центра масс и момента импульса объекта. Как это сделать - см. школьный курс физики + классическая механика. Иллюстрировать это здесь не возьмусь - рисовать надо.
С уважением, Алексей.
← →
Кен (2003-01-26 07:18) [23]2Stager ©
Не изучают это в школе.
Я пытался в поисковике найти что нибудь и не нашёл. Где нибудь описывается формулами поведение падающего карандаша вообще ? Известен центр тяжести, известна длинна, скорость падения, угол наклона. Всё известно. Как рассчитывается отскок ?
← →
Думкин (2003-01-26 07:34) [24]
> k := deltaTime*1; // - ход времени.
> y0 := y; // - Запомнить предыдущую позицию для вычисления
> скорости.
> y := y0 + v*k*col - g*k*k/2; // Вычисляем новое положение
> по Y
> v := (y - y0)/k*ktorm; // Вычисляем новую скорость.
Нет, ну мы тут чуть друг другу горло не перегрызли, а надо то было. В общем, итог - бери учебники физики(в частности по механике) и вперед.
← →
Кен (2003-01-26 08:03) [25]Думкин ©
Вот и я удивляюсь, тоже.
А совращением как быть ? Вращающийся стрежень падает на плоскость. Как рассчитывается его отскок ?
← →
Sha (2003-01-26 10:29) [26]> Кен (24.01.03 07:32)
> А отскок от стола при вращении зависит от массы ?
Отскок шарика при абсолютно упругом ударе не зависит от массы, вращение меняется на противоположное.
При неупругом ударе отскок зависит от количества выделившейся энергии, а вращение зависит кроме массы от ее распределения по шарику, коэффициента трения...
> Как это можно сделать ?
Все можно рассчитать по учебнику физики. Подобных задач полно в любом задачнике.
Еще вариант для сложных тел - натурная ускоренная съемка.
← →
Юрий Зотов (2003-01-26 11:36) [27]> Sha © (26.01.03 10:29)
Модель абсолютно упругого удара здесь, увы, не проходит, придется рассматривать что-то посложнее. Иначе при ударе нет потерь энергии, шарит отскочит на ту же высоту и т.д. - в незатухающем цикле. Теряется весь смысл задачи.
> All
Как учитывается вращение и прочее.
Как обычно - соответствующими членами в уравнениях движения и энергии. Только сразу могу сказать - замучаешься его учитывать. Сложность задачи возрастет чуть ли не на порядок. А если еще учитывается и воздух, то придется учесть и то, что на вращающийся шарик со стороны обтекающего его потока будет действовать боковая сила (эффект Флетчера, насколько помню). Все это нужно сначала оценивать - стоит вводить такие усложнения, или нет.
← →
Кен (2003-01-27 02:46) [28]Sha ©
>Отскок шарика при абсолютно упругом ударе не зависит от массы, вращение меняется на противоположное.
А если это не шарик, а конец стержня, а вращени уже и так было в противоположенную сторону ?
← →
Думкин (2003-01-27 05:40) [29]
> Юрий Зотов © (26.01.03 11:36)
со стороны обтекающего его потока будет действовать боковая сила (эффект Флетчера, насколько помню).
Это сила Магнуса.
> Кен (27.01.03 02:46)
По тому, как вы удовлетворились простыми формулами и из того какие вопросы задаете - видно, что физика пока не ваш конек. Если вы хотите простых мультиков - то это одно, но если все серьезней - то учите физику и математику, весьма интересно. Моделирование падения стержня на стол - непростая задача для новичка, даже с массой допущений. Есть много явлений (даже внешне простых) но приводящих к огромным трудностям в описании и тем более в численной реализации.
Для начала простая(классическая) задача: На двух опорах лежит доска, причем имеется зеркальная симметрия - масса доски 100 кг, длина 10 м, опоры отстаят от краев на 1 м. Все на Земле и т.д. Теперь быстро одну опору убирают. Найти мнгновеннцую реакцию второй.
Задача классическая и выглядит весьма просто, но решите ее. Если решите верно - то хорошо, - учите физику и у вас все станет на место с вашим моделированием.
Люди которые Вам пишут, занимались или занимаются подобным (сам 6 лет гидродинамил) и вам на протяжении всей ветки дают ценный совет, хотите моделировать - учитесь(и компы с программированием тут ни причем). Понимание происходящего много ценнее кратковременных справочных выдержек.
Хотя моделирующие программы есть - но стоят они...., особенно буржуйские.
← →
Мышь (2003-01-28 00:29) [30]Господа, о чем разговор?!! Есть такая наука - теормех, между прочим не особо сложная для понимания, вопреки расхожему мнению. Учиться нужно! Книгу в зубы и вперед, особенно, если действительно интересно. Само моделирование в смысле написания программы - это 3% времени, все остальное - физика, физика и еще раз физика... Ну, может еще чуть-чуть математики :)
Всем привет!
← →
Впервые (2003-01-28 04:45) [31]слышу о "такой науке - ТЕОРМЕХ". Было когда-то мучался (как и многие другие) с термех"ом, но врядли он бы помог мне в сабже. Но с замечанием "все остальное - физика, физика и еще раз физика... Ну, может еще чуть-чуть математики" согласен на 100.
← →
Кен (2003-01-28 06:35) [32]Давайте говорить языком формул ? И не предлагать друг другу изучить всё и вся на белом свете.
Ведь если вы у меня спросите как включить телевизор, я же не буду вам советовать изучить всю эллектроннику и разобраться в его схемах. Я скажу просто. Жми на красную кнопку. И всё. И это правильный подход.
← →
Jeer (2003-01-28 09:43) [33]>Кен (28.01.03 06:35)
> Я скажу просто. Жми на красную кнопку. И всё. И это правильный >подход
Это правильный подход для пользоавтеля, но не для разработчика, который должен знать и спроектировать все процессы происходящие при нажатии на кнопку.
Присоединяюсь к мнению тех, кто советует Вам начать с книжек.
Мне приходилось много и много чего моделировать на ЦВМ.
Так, что тему знаю не понаслышке.
И без знания законов, научных дисциплин соответсвующих прикладной тематике, численных методов решения задач ничего толкового у Вас не получиться.
← →
Ketmar (2003-01-28 10:50) [34]>Кен (26.01.03 02:29)
а не проще ли взять готовую библиотеку для физики (благо в Сети есть, и притом бесплатно)? только не надо спрашивать: "где?" в гугле.
Satanas Nobiscum! 28-Jan-XXXVIII A.S.
← →
Кен (2003-01-29 06:22) [35]Ketmar ©
А как называется эта бесплатная библиотека для физики ?
← →
danilka (2003-01-29 09:05) [36]>Кен (26.01.03 08:03)
>А совращением как быть ? Вращающийся стрежень падает на плоскость. Как рассчитывается его отскок ?
хе-хе, совращать надо девок а не стержень... :)
← →
Ketmar (2003-01-29 10:21) [37]>Кен (29.01.03 06:22)
не помню, естественно. помнил бы - написал бы. ищем по ключевым словам в гугле и на сайте GLScene.
Satanas Nobiscum! 29-Jan-XXXVIII A.S.
← →
Jeer (2003-01-29 10:51) [38]>Кен (29.01.03 06:22)
>Ketmar ©
>А как называется эта бесплатная библиотека для физики ?
Большая публичная, с книжками и картинками в них:))
← →
Кен (2003-01-30 05:41) [39]Все такие мне рассказывают, какие они крутые, как они круто во всём разбираются. И никто не пишет формул. Одно самолюбование какое то. ... Фи.
← →
David (2003-01-30 09:24) [40]
> Кен (30.01.03 05:41)
> Все такие мне рассказывают, какие они крутые, как они круто
> во всём разбираются. И никто не пишет формул. Одно самолюбование
> какое то. ... Фи.
Формулы давным давно написаны, а если лень поднять задницу и донести до книг или до гугла, то уж извини. Тебе здесь как в частных производных, с тензорами или прочитать лекцию по физике твердого тела?
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.014 c