Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 3

Вычисление траектории движения шайбы и ее скорость перемещения по игровому полю

03.03.2018, 06:43. Показов 4893. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане!
Подскажите пожалуйста. Имеется самодельный стол для аэрохоккея. На него установлена usb-камера , которая подключена к raspberry pi 3. На raspberry pi загрузил библиотеку OpenCV и с помощью нее на языке python распознаю шайбу и выдаю ее координаты и радиус. Зная её любых два положения на столе (две точки, желательно нынешнее и предыдущее), необходимо определить траекторию и скорость, движения этой шайбы. Код пишу на python.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2018, 06:43
Ответы с готовыми решениями:

Каков будет период движения шайбы, если её скорость в нижней точке поверхности увеличить вдвое
Добрый день. Есть вот такая задача Шайба может без трения двигаться по гладкой поверхности, имеющей форму вогнутой окружности....

По заданным уравнениям движения точки найти уравнение траектории, найти положение точки на траектории, ее скорость
По заданным уравнениям движения точки найти уравнение траектории, найти положение точки на траектории, ее скорость, полное, касательное и...

Вычисление траектории движения заряженных частиц
Посоветуйте, пожалуйста, литературы для данной темы курсовой: "Вычисление траектории движения заряженных частиц в неоднородных...

9
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 3
03.03.2018, 07:03  [ТС]
Я предполагаю что это кинематика точки. И так как у нас движение происходит всего в двух плоскостях, то задаются два уравнения движения x=x(t) y=y(t). Прикрепляю фото о данной теории. Но исходя из этого я не знаю как определить траекторию движения, зная лишь координаты двух точек. Подскажите, пожалуйста. Может я ошибаюсь. Уравнение может есть какое, не могу найти. Спасибо.
Миниатюры
Вычисление траектории движения шайбы и ее скорость перемещения по игровому полю   Вычисление траектории движения шайбы и ее скорость перемещения по игровому полю   Вычисление траектории движения шайбы и ее скорость перемещения по игровому полю  

0
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
04.03.2018, 21:46
Цитата Сообщение от Skiff_24 Посмотреть сообщение
Зная её любых два положения на столе (две точки, желательно нынешнее и предыдущее), необходимо определить траекторию и скорость, движения этой шайбы
Есть:
начальная точка (x1,y1) в которой шайба находилась в момент t1
конечная точка (x2,y2) в которой шайба находилась в момент t2

Пройденное расстояние https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \sqrt {(x2-x1)^2 + (y2-y1)^2}
Времени прошло https://www.cyberforum.ru/cgi-bin/latex.cgi?\Delta t = t2-t1
Средняя скорость https://www.cyberforum.ru/cgi-bin/latex.cgi?V = S/\Delta t

Что значит определить траекторию?
0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,024
05.03.2018, 13:31
Траектория - это последовательность значений функций x(t), y(t) для t от t_0 до некоторого t_n
Чем больше кадров, которые вы успеваете распознать во время движения, тем точнее будет траектория (больше значений x(t) и y(t)) и тем точнее вы сможете определить среднюю скорость и ускорение (замедление) шайбы.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
05.03.2018, 17:25
Цитата Сообщение от Skiff_24 Посмотреть сообщение
задаются два уравнения движения x=x(t) y=y(t).
Уравнение движения одно. Просто у вас есть две точки.
Механика за 7-й класс, вроде бы. Теория, если учебнкиа нет под рукой: https://ru.wikipedia.org/wiki/... 0%B8%D0%B5 .
Назовем ваши координаты x0, y0, x1, y1, разница во времени t, начальная скорость по вертикали vy0.
x1=x0+vx*t, где vx - скорость по х, постояннный множитель, потому что горизонтальная составляющая скорости не меняется.
y1=y0+vy0*t+gt^2/2.
Итого, если я правильно умею считать до 10, имеем 2 уравнения, 2 неизвестных - vx, vy0. Всё линейно, аж до скуки.
0
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 3
06.03.2018, 08:43  [ТС]
Определить траекторию - это знать куда прилетит шайба, чтобы робот мог вовремя переместиться и отбить эту шайбу. Мы можем построить прямую исходя из двух точек: М1=(x1;y1) M2=(x2;y2). Для этого нам надо будет найти направляющий вектор M1M2, который имеет координаты (x2-x1,y2-y1). Из этого получим канонической уравнение ((x-x1)/(x2-x1), (y-y1)/(y2-y1)). Из него получим уравнение и по уравнению получим прямую. Моя мысль правильная? Или я ошибаюсь?
0
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
06.03.2018, 12:16
Цитата Сообщение от Skiff_24 Посмотреть сообщение
Определить траекторию - это знать куда прилетит шайба, чтобы робот мог вовремя переместиться и отбить эту шайбу. Мы можем построить прямую исходя из двух точек: М1=(x1;y1) M2=(x2;y2). Для этого нам надо будет найти направляющий вектор M1M2, который имеет координаты (x2-x1,y2-y1). Из этого получим канонической уравнение ((x-x1)/(x2-x1), (y-y1)/(y2-y1)). Из него получим уравнение и по уравнению получим прямую. Моя мысль правильная? Или я ошибаюсь?
Верно. В простейшем случае направление задается прямой, определенной по двум точкам. В чем сомнения?

Есть, конечно, некоторые сложности. Когда шайба ударяется о борт (или другое препятствие) и первая точка была зафиксирована до удара, а вторая точка после удара. Тогда эти две точки не задают направление движения шайбы. Эту пару нужно просто игнорировать при определении траектории.

Если расстояние между точками не велико, то текущую скорость можно принять как среднюю скорость между двумя точками. А текущее ускорение определить как разность между двумя вычисленными скоростями, т.е. ускорение можно определить по трем точкам.

Зная скорость, ускорение и направление, можно спрогнозировать движение шайбы. Следует также, наверное, учитывать и удары противника по шайбе - при них меняется ускорение и направление шайбы.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
12.03.2018, 13:58
Цитата Сообщение от Skiff_24 Посмотреть сообщение
Из этого получим канонической уравнение ((x-x1)/(x2-x1), (y-y1)/(y2-y1)). Из него получим уравнение и по уравнению получим прямую. Моя мысль правильная? Или я ошибаюсь?
А, это ж аэрохоккей.
Сорян, спутал с настольным теннисом. Тут даже ускорения нет, совсем всё скучно.
0
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
12.03.2018, 14:07
Цитата Сообщение от dondublon Посмотреть сообщение
Тут даже ускорения нет, совсем всё скучно.
Как нет? Скорость ведь не постоянная.

При движении шайбы скорость уменьшается (из-за трения).
При ударе об борт тоже уменьшается.
При ударе игрока по шайбе скорость увеличивается.

Если надо научиться отбивать шайбу, то все это надо учитывать
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
12.03.2018, 16:59
Цитата Сообщение от vrm2 Посмотреть сообщение
Как нет? Скорость ведь не постоянная.
При движении шайбы скорость уменьшается (из-за трения).
Полагаю, трение там пренебрежимо мало. На то он и аэро, что шайба скользит на "воздушной подушке".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2018, 16:59
Помогаю со студенческими работами здесь

Перемещение по игровому полю
Здравствуйте, помогите пожалуйста. У меня есть следующее задание, нужно создать следующую игру в консоли: Есть прямоугольное поле в...

Перемещение квадрата по игровому полю
Всем привет.Есть задача Переместить квадрат вводим координаты объекта(х,у) и он перемещается в заданную точку. либо перемещаем объект...

Перемещение символов по игровому полю
Задание прикрепил в картинке, void transers(const int r, const int c, char map, int x, int y) { int i = 0, a = 0; char buff;...

Реализация передвижения объекта по игровому полю
Всем добрый вечер Сделал игровое поле из speedbuttons, как сделать так чтобы компьютер перемещал значение свойства caption с одной клетки...

Определить скорость шайбы у основания горы
Шайбу пускают вверх по наклонной плоскости со скорость V=6,12(м/с) у основания горы.С какой скоростью шайба вернется в нижнюю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru