Форум: "Прочее";
Текущий архив: 2016.05.01;
Скачать: [xml.tar.bz2];
ВнизТакие вот дела. Найти похожие ветки
← →
Dimka Maslov © (2015-08-07 23:16) [0]Раз уж никто проверить выкладки не смог/не захотел, придётся проверять их, что называется, боем. Все кому лень, приглашаются отыграть в Чапаева.
https://scratch.mit.edu/projects/72547490/
← →
Inovet © (2015-08-08 02:24) [1]Ну, почему же. Думаю, многие могли и хотели, но отвечать же надо было, а перед этим самому решить, а оно вот как раз не сильно хотелось. Там у меня к тебе один вопрос был: так ли сильно надо было переходить в другую систему координат? Вроде бы, в исходной решалось, на первый взгляд, даже меньшим количеством действий. Но, ещё раз говорю: проверять оба варианта, да даже и один, действительно было лениво - дождик тут шёл, меланхолия, и всё на улице было такое мокрое и тёплое - не хотелось сбивать настроение сухой и холодной задачей.
← →
Inovet © (2015-08-08 03:18) [2]Да, ещё второй вопрос был: закон сохранения энергии там зачем?
← →
Dimka Maslov © (2015-08-08 09:40) [3]Ну задача была вполне себе практическая. С переходом в другую систему координат мне показалось проще. Закон сохранения энергии нужен в качестве второго уравнения (чтобы было два уравнения и два неизвестных). А проблема, на самом деле оказалась в том, что у них тригонометрические функции во-первых в градусах, во-вторых положительное направление по часовой стрелке, в третьих нуль градусов - вертикально вверх. А было думал, что фигня у меня в выкладках...
← →
Inovet © (2015-08-08 10:22) [4]> [3] Dimka Maslov © (08.08.15 09:40)
> у них тригонометрические функции во-первых в градусах, во-
> вторых положительное направление по часовой стрелке, в третьих
> нуль градусов - вертикально вверх.
Ну, извратиться можно по-всякому, на физику это ведь не влияет, только на постановку задачи и на ответ в выбранных метриках. В такой задаче энергия роли не играет, тут ведь импульс, а он при любом раскладе сохранится. Как там по физике - импульс замкнутой системы не изменяется, энергия только переходит из одной формы в другую. Первое - вектор, второе - скаляр. Нам нужно определить направление и величину после столкновения. Диски эти абсолютно упругие, т.е. кинетическая энергия осталась неизменной, да и не надо нам её, а вот импульс каждого диска определим из условия равенства дельты суммы импульсов нулю в векторной форме. Уж как мы их там разложим, в какой системе координат - дело десятое, но вот скалярная энергия нам тут не нужна, в этой задаче. Ну, может, я чего и затупил, конечно. Ты там правильно с осью сделал - импульс каждого диска изменится только по линии, которая прямая проходящая через центры окружностей, по перпендикуляру к ней он останется неизменным.
Что-то много словесов написал, надо было решить вместо этого.:)
← →
Dimka Maslov © (2015-08-08 10:37) [5]Равенство дельты суммы импульсов нулю сколько может дать уравнений?
← →
Dimka Maslov © (2015-08-08 10:40) [6]m1*(v1 + dv1) = m2*(v2 + dv2) - уравнение одно, а неизвестных два.
← →
Inovet © (2015-08-08 10:56) [7]> [6] Dimka Maslov © (08.08.15 10:40)
В общем виде в векторной форме, например, значок вектора над обозначением скорости подразумеваем
m1*v1+m2*v2 = m1v1`+m2v2`
Потом это решаем геометрически или раскладываем в проекции в исходной системе координат или в другой. При том учитываем, что импульс меняется только по прямой через центры - это ещё одно уравнение.
← →
Dimka Maslov © (2015-08-08 11:26) [8]Если ввести сохранение энергии - по моему получается проще.
← →
Inovet © (2015-08-08 11:33) [9]> [8] Dimka Maslov © (08.08.15 11:26)
Оно тут не надо.
← →
Inovet © (2015-08-08 11:36) [10]Надеюсь, вращательного движения там нет. Если есть, то уже другой коленкор добавится.
← →
Dimka Maslov © (2015-08-08 12:22) [11]
> Оно тут не надо.
Может и не надо, но оно там есть, в отличие от вращательного движения, которого там действительно нет.
← →
Inovet © (2015-08-08 12:30) [12]> [11] Dimka Maslov © (08.08.15 12:22)
Ну, смотри сам. Ты спрашивал совета по решению, я подсказал в меру своих скудных познаний, если оно там есть, так пусть будет.:)
Но, попробуй всё же перерешать. А я пока гляну твой ответ в той ветке, вроде бы он походил на правду, но проверим.
← →
Inovet © (2015-08-08 12:58) [13]Ну вот давай применим такой стандартный подход на валидность без решения. Возмём некоторые случаи со скоростями и массами тел, в результатах взаимодействия которых мы точно уверены. Пользуемся приведённым рисунком. Что приходит на ум?
1. Пусть массы равны и скорости равны. Что будет? Они просто начнут двигаться в противополжные от начального направлених по оси n. По оси t ничего не изменится. Подставляем m1=m2, посокращаем там часть и посмотрим. В (3) n1=n2, n2=n1. Ну вроде бы получилось. Что там с направлениями? Ладно, потом глянем.
2. Пусть скорости равны, а масса первого много больше массы второго, т.е. m2=0. Что там? n1=n1, ну вроде как бы так. А что там с n2? От те на n2 = n1. Как же так? Она должна в бесконечность уходить. Что-то здесь не так. Может я ошибся? проверь сам.
3. Теперь Пусть наоборот m1=0. Тоже сам.
4. Теперь пусть первый покоится в исходной ИСО, массу придумаем. Это уже отложим до выяснения.
5. Теперь наоборот второй покоится. Это тоже.
← →
Dimka Maslov © (2015-08-08 13:12) [14]
> Она должна в бесконечность уходить
1. Ну да, всё так, при равных массах объекты "обмениваются" нормальными скоростями и сохраняют тангенциальные, что и даёт нам вектора после стокновения.
2/3. Там же в знаменателе сумма масс. Следовательно при нулевой массе второго объекта первый объект остаётся как был, второй отлетает в обратную сторону. Т.е. угол падения равен углу отражения.
4/5. Распределение скоростей будет зависеть от отношения масс.
Так что логически, математически и практически всё правильно получается.
← →
Inovet © (2015-08-08 13:20) [15]> [14] Dimka Maslov © (08.08.15 13:12)
> Так что логически, математически и практически всё правильно получается.
Ну хорошо, если тебя это решение устраивает, почему бы и нет.
Если не секрет, для чего/кого/куда задачка решалась?
← →
Dimka Maslov © (2015-08-08 14:10) [16]
> Если не секрет, для чего/кого/куда задачка решалась?
Там в первом посте ссылка на игру "Чапаев". Для неё и решалось. Развлекаюсь я так.
← →
Inovet © (2015-08-08 14:14) [17]> [16] Dimka Maslov © (08.08.15 14:10)
Там вращение, однако, есть.
← →
Dimka Maslov © (2015-08-08 14:29) [18]Вращение там, конечно же есть, но я им пренебрёг, как и потерями энергии при столкновении.
← →
Inovet © (2015-08-08 20:50) [19]> [18] Dimka Maslov © (08.08.15 14:29)
О бесконечной скорости в проверке - это я, конечно, погорячился, но сразу там и сказал об этом.:) А ты бы сразу сказал, что для модели надо, а не для какой-нибудь для контрольной работы. Тогда и подход уже другой - с привязкой к программированию, и интерес бы другого рода появился.
И для реалистичности вращение всё-таки неплохо бы добавить. Что там понадобится? А момент импульса понадобится с его сохранением. Закон сохранения энергии снова не нужен.
← →
Dimka Maslov © (2015-08-09 10:31) [20]Можно, конечно, но дополнительной реалистичности это не особенно уже добавит. Ведь для полной реалистичности придётся по нормальному добавлять трение: трение покоя, об доску, фигур друг об друга, обтекание фигуры потоком воздуха, прочие потери энергии. Это уже другая задача. А если учесть, что в силу особенностей самой "среды программирования" шаг интегрирования 1/30 секунды, что очень много, получить хорошую сходимость становится совсем другой задачей. Я там попытался помоделировать гравитационное взаимодействие нескольких тел, всё вообще разлетается, если не ограничить радиус взаимодействия и не ввести нелинейного демпфирования. Ерунда, в общем, получается.
← →
Юрий Зотов © (2015-08-10 18:06) [21]1. Неизвестных два - скорости тел после соударения. Значит, нужно и два уравнения. Это уравнения сохранения импульса и энергии.
2. Без перехода в другую систему, конечно, можно было и обойтись. Но с переходом, ИМХО, проще и нагляднее.
← →
Юрий Зотов © (2015-08-11 01:44) [22]> трение покоя
В "Чапаеве" неактуально - деформацией доски под весом шашки (что и дает трение покоя) в данной задаче можно пренебречь.
> об доску
Надо вводить обязательно. Иначе физика будет ужасной.
> фигур друг об друга
> обтекание фигуры потоком воздуха
> прочие потери энергии
Пренебрежимо малы по сравнению с трением о доску.
PS
Все это "на глазок", численных оценок не делал.
← →
Inovet © (2015-08-11 02:22) [23]Имхо, закрутка в Чапаеве важна, если шашки не слишком скользкие, это надо будет трение шашек друг о друга ещё учесть.
← →
brother © (2015-08-11 06:03) [24]я бы над прицеливанием поработал, бить по центру ( те нельзя закрутить шашку при ударе) - некамильфо + силу удара.
все визуализировать
← →
Inovet © (2015-08-11 16:44) [25]> [24] brother © (11.08.15 06:03)
Учитывая
> [20] Dimka Maslov © (09.08.15 10:31)
> в силу особенностей самой "среды программирования"
надо и модель сделать подходящую, без лишних действий.
← →
Dimka Maslov © (2015-08-12 10:39) [26]
> Все это "на глазок", численных оценок не делал.
Для уровня детского сада, а Scratch это детский сад, вполне себе пойдёт. И вообще всё численное интегрирование, даже в такой, казалось бы, важной отрасли как вычислительная гидродинамика в приложении к аэродинамике мостов, сводится к подбору параметров и пренебрежений "чтобы бы было похоже".
> это надо будет трение шашек друг о друга ещё учесть.
А вот это уже уровень хорошей курсовой работы или бакалаврской диссертации по дисциплинам "Прикладная математика" и "Теоретическая механика". До этого нам надо ещё 8 классов окончить и в университет поступить.
> надо и модель сделать подходящую, без лишних действий.
Когда я сам учился в паровозной школе, преподаватель по строительной механике, который рассказывал про численное интегрирование уравнений движения, говорил, что подобные задачи не решаются на модели "материальная точка", а надо учитывать форму тела. Тут не только трение, тут ещё и упругость материала надо будет учитывать. Тут и уровень языка программирования должен явно другим.
← →
Юрий Зотов © (2015-08-12 11:06) [27]А зачем здесь численные методы? Есть же аналитическое решение.
← →
Inovet © (2015-08-12 11:58) [28]> [26] Dimka Maslov © (12.08.15 10:39)
Да какой курсовой. Трение о доску - на одной итерации вместо dx = vx*dt, будет dx = vx*dt + ax*dt^2/2, dvx = ax*dt, для второй координаты, естественно, аналогично, где модуль а вычислится один раз перед запуском модели от некой заранее заданной константы, а направление будет совпадать с направлением скорости. Трение шашек друг о друга в момент взаимодействия - тоже некая заранее заданная константа, которая будет коэффициентом в передаче количества вращения. Эти константы можно задать хоть в настройках программы для сочетаний некоторых типовых материалов, из которых изготавливают доски и шашки.
И массы у шашек одинаковые же? Надеюсь, они в модели подразумеваются равными 1, т.е. в вычислених не участвуют. Размер доски тоже бы хороши подогнать к единицам времени. А за единицу времени естественно брать не секунду, а время одной итерации.
Так что там ещё на ум приходит. А вот хотел спросить: не накаждой же итерации вычисляются проекции векторов? Ну мало ли.
Я с тем языком не знаком, но такую модель дожен потянуть интерпретатор бейсика на 8086, да и 8080.
← →
Inovet © (2015-08-12 12:08) [29]> [28] Inovet © (12.08.15 11:58)
там буквой d обозначено изменение за итерацию т.е. дельта, чтобы не было недоразумений, вдруг.
← →
Dimka Maslov © (2015-08-12 12:11) [30]
> А зачем здесь численные методы?
Движение шашки после удара интегрируется численно.
>
> Да какой курсовой.
Действительно тянет на курсовую, тем более, что все эти параметры надо либо обоснованно вычислить, либо подобрать.
> не накаждой же итерации вычисляются проекции векторов
На каждой. Не на каждой должны рисоваться. Но и рисуются на каждой.
← →
Inovet © (2015-08-12 12:29) [31]> > не накаждой же итерации вычисляются проекции векторов
>
> На каждой. Не на каждой должны рисоваться. Но и рисуются на каждой.
Я не это имелл ввиду. Спрашивал о чём-то навроде преобразования из полярной системы координат в декартову.
← →
Inovet © (2015-08-12 12:46) [32]> [30] Dimka Maslov © (12.08.15 12:11)
> Действительно тянет на курсовую, тем более, что все эти
> параметры надо либо обоснованно вычислить, либо подобрать.
Окрываем какой-нибудь справочник и берём из него. Можно и выдумать примерно реалистичные.
Для горизонтальной доски и шашек модуль
a = g*k1
для шашек просто учитываем пр передаче момента импульса. Собственно сам момент для этой модели и не надо, хватит угловой скорости.
← →
Inovet © (2015-08-12 12:58) [33]Да с вращением взаимодействие несколько сложнее получится, без энергии таки никак. Вращательное и поступательное будут взаимно преобразовываться. Ну а в общем добавится ещё один параметр - угловая скорость.
← →
Inovet © (2015-08-12 13:37) [34]> [26] Dimka Maslov © (12.08.15 10:39)
> До этого нам надо ещё 8 классов окончить и в университет поступить.
До этого ты говорил в первом лице единственном числе. Т.е. у вас сейчас меньше 8 классов? Надо думать, больше 7. Ну тогда всё и так круто.
← →
Dimka Maslov © (2015-08-12 16:26) [35]
> Спрашивал о чём-то навроде преобразования из полярной системы
> координат в декартову.
Там можно код посмотреть. Всё сразу понятно станет:
https://scratch.mit.edu/projects/72547490/#editor
тыкаемся в элемент "force".
> Т.е. у вас сейчас меньше 8 классов?
Пока дочка у бабушки, я развлекаюсь в одиночку. Потом, когда она вернётся, будем развлекаться на пару. И если про простое столкновение ещё можно ей объяснить, на примере тех же шашек. То со всеми трениями и вращениями - уже надо ждать.
← →
Inovet © (2015-08-12 17:01) [36]> [35] Dimka Maslov © (12.08.15 16:26)
Ну всё, тогда вопрос снимается.:) Дочке - успехов в образовании!
← →
Inovet © (2015-08-12 17:08) [37]И да. Все советы о левых модельных системах измерений отменяются - всё делам в Си, ибо пока нефиг грузить мозг второстепенными вещами.
← →
Dimka Maslov © (2015-08-12 18:41) [38]
> Все советы о левых модельных системах измерений отменяются
Там всё равно единица измерения времени - шаг, а расстояния - пиксель. Кстати, кто не хочет играть в Чапаева, может поиграть в Каммерера.
https://scratch.mit.edu/projects/72909568/
← →
Mystic © (2015-08-18 19:05) [39]В реальной игре, помниться, шашки подскакивали в результате столкновения, переворачивались.
А так тут начинающий выигрывает.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2016.05.01;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.003 c