Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1438978574
Dimka Maslov
2015-08-07 23:16
2016.05.01
Такие вот дела.


15-1440192604
Юрий
2015-08-22 00:30
2016.05.01
С днем рождения ! 22 августа 2015 суббота


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


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


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский