2 / 2 / 0
Регистрация: 13.10.2018
Сообщений: 48
|
||||||
1 | ||||||
Как сделать анимацию движения объекта по кривой (алгоритм Безье)08.01.2021, 17:01. Просмотров 2130. Ответов 25
Смог написать программу для рисования кривой используя алгоритм Безье (anaconda), можете пожалуйста помочь, что нужно добавить, чтобы получилась анимация движения, например круга по этой кривой. Просят использовать ffmpeg, celluloid, matplotlib для анимации и Tkinter или что-то похожее для графического интерфейса, читал про библиотеки, но пока туго с пониманием того, как добиться нужного результата, надеюсь на вашу помощь.
Хочется, чтобы было вот так:
0
|
|
08.01.2021, 17:01 | |
Как сделать анимацию движения велосипеда? Как сделать анимацию движения по трассе Directx. Как сделать анимацию объекта Алгоритм движения касательной по кривой |
|
2 / 2 / 0
Регистрация: 13.10.2018
Сообщений: 48
|
|
11.01.2021, 13:12 [ТС] | 21 |
u235, А есть комментарии по поводу комментариев?
0
|
856 / 572 / 157
Регистрация: 07.11.2019
Сообщений: 1,329
|
|
11.01.2021, 13:19 | 22 |
Bronzor, нет, вроде бы все так, все по делу.
1
|
1080 / 692 / 114
Регистрация: 12.10.2013
Сообщений: 4,587
|
|
11.01.2021, 16:15 | 23 |
Если честно код визуально сильно бреинфаковый и что-то очень длинный для такой ерунды. Если бы писал такое с нуля то было один цикл for который рисует кривую отрезками.
И вот такие коменты Звучит круто…но хз что это. Как у времени может быть вектор…возникает образ Доктора Стрейнджа который управлял временем. Что это? Неплохо бы сначала задать где рисуем и отделить это визуально. А уже потом что рисуем. Кстати почему нет таких в коментах. ## -------------- И таких ##======== Почему одни точки задают а другие прописаны в коде? За что их так? Неплохо бы вообще таскать точки мышкой и убрать это эхо консольной эпохи типа введите координаты аля урок ЭВМ на бейске в школе 30 лет назад =). Что за псевдонаучные Тау? Откуда это вообще и зачем? В кривых Безье параметр t. Вот этот извращенский метод задания цвета, пофиксить бы на понятные простым смертным типа RGB 244,233,234.
1
|
2 / 2 / 0
Регистрация: 13.10.2018
Сообщений: 48
|
|
11.01.2021, 20:46 [ТС] | 24 |
Excalibur921,
Иначе пока никак, я и имеющий код плохо понимаю и сам не смогу ещё раз написать, было всего 7 практических задания по python, на первом уроке рассказали про input, print, циклы, условные ветвления и всё, после этого сразу заставили писать алгоритм Брезенхема для рисования линий, кругов, кривые Безье, перемещение, поворачивание, масштабирование объектов, теперь уже просят анимацию, графический интерфейс на tkinter, ничего непонятно, только требуют...
Сам до конца не понял, всё обрывисто и непонятно как соединить имеющеюся информацию в единое целое. Знаю, что контрольные точки задают направление кривой (вектор движения), в параметрической форме кубическая кривая Безье имеет параметр t различной степени и всё... Да стоит разделять главные куски это пожалуй сделаю. Да, выглядит топорно)) В идеале хотелось бы полноценный графический интерфейс, выбор количества точек, их перемещение, задание точных координат, анимация рисование, добавление реальных объектов (картинка, круг, квадрат) , но через 3 дня уже сдавать работу, а я и так в непонимании что происходит и нужно начать с базовых уроков, если бы кто-то помог и закомментировал было бы супер, но я и так очень благодарен, что мне помогли. Не только параметр t, но ещё и контрольные точки, по условию моего задания, координаты последней точки кривой нужно писать с помощью input() Согласен, но это меньшее из бед, пока что можно оставить.
0
|
2 / 2 / 0
Регистрация: 13.10.2018
Сообщений: 48
|
|
14.01.2021, 16:30 [ТС] | 25 |
u235,
Можно пожалуйста комментарий, а то не совсем ясно, что это значит. Добавлено через 2 часа 18 минут u235, Также имеется вопрос, а что нужно изменить, чтобы координаты можно было задавать прямо в окне? То есть появляется всплывающее окно, например, справа пишем координаты последней точки и слева появляется анимация?
0
|
856 / 572 / 157
Регистрация: 07.11.2019
Сообщений: 1,329
|
|
14.01.2021, 20:24 | 26 |
Bronzor, как вычислить значение полинома заданного коэффициентами? Скалярно умножить вектор коэффициентов на вектор степеней. Пример: p(t)=2t^2-3t+1. Вектор коэффициентов [1, -3, 2], вектор степеней [t**0, t**1, t**2]. Такой вектор степеней t - строка из матрицы Вандермонда. Кстати, можно было бы использовать np.vander().
Для задания координат в окне надо импортировать что-то типа tkinter или Qt хотя бы для того чтобы отрисовать это окно.
1
|
14.01.2021, 20:24 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Сделать анимацию движения нескольких эллипсов
Как сделать эффект движения объекта относительно заднего фона
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |