Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.05.01;
Скачать: CL | DM;

Вниз

Такие вот дела.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.01 c
15-1439415001
Юрий
2015-08-13 00:30
2016.05.01
С днем рождения ! 13 августа 2015 четверг


15-1431731742
Германн
2015-05-16 02:15
2016.05.01
Какой бесплатный почтовый сервер можете посоветовать?


15-1440061124
Sha
2015-08-20 11:58
2016.05.01
Пятничная головоломка


15-1439585926
Sha
2015-08-14 23:58
2016.05.01
Головоломка выходного дня.


15-1438978574
Dimka Maslov
2015-08-07 23:16
2016.05.01
Такие вот дела.