1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 23
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Движение кружка на синусоиде21.03.2013, 22:59. Показов 2190. Ответов 2
Метки нет (Все метки)
Здравствуйте. Помогите решить проблему.
Задание такое: нарисовать синусоиду и через таймер показать движение шарика. Он должен как бы "катится по ней", т.е. быть над ней всё время. Т.е. нужно для каждой точки составлять уравнение нормали и через него рассчитывать заново центр кружка с каждым +=dx. Так вот, помогите советами, как это реализовать. Я сделал так: создал вектор из point'ов. Занёс в него все точки на интервале от 0 до какого-то числа. Нарисовал синусоиду. Попытался составить уравнение нормали, и проверил, как эта нормаль рисуется: оказалось, неправильно Вот отрывки из кода: Объявление переменных:
Сам вм_пэинт:
Добавлено через 6 минут
Добавлено через 5 минут Если взять
0
|
21.03.2013, 22:59 | |
Ответы с готовыми решениями:
2
Движение по синусоиде Движение по синусоиде Движение по синусоиде Движение спрайта по синусоиде |
Заблокирован
|
|
22.03.2013, 07:14 | 2 |
Многое зависит от соотношения "размаха" синусоиды и радиуса мячика.
Если посмотреть на рисунок, то g(x) на крутом подъеме и спаде заметно выше, чем в переходных точках. В таком случае есть смысл переходить с g(x) на k(x) при 1<|x|<2 плюс период. При анимации можно подобрать параметры, чтобы переход не был заметен. С другой стороны, если мячик маленький (движение по m(x)), то он практически на одинаковом расстоянии все время. Расчет по касательной в каждой точке очень "дорог", аналитической кривой в этом случае на получается (впрочем, над этим еще можно поработать). Пока что, такие соображения )
0
|
1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 23
|
|||||||||||
22.03.2013, 14:13 [ТС] | 3 | ||||||||||
IrineK, всё-таки по заданию требуется вычислять именно через нормаль. Да и шарик должен быть не очень малых размеров (там потом ещё по заданию нужно показать его вращение через поворот видимого радиуса).
Я ещё попробовал сделать как параметрические уравнения:
https://www.cyberforum.ru/atta... 1363946216 Потом для каждой точки пишу уравнение нормали. Для параметрической заданной кривой ведь уравнение такое же? Т.е. напр. к точке (crds[i].x, crds[i].y):
https://www.cyberforum.ru/atta... 1363947097
0
|
22.03.2013, 14:13 | |
22.03.2013, 14:13 | |
Помогаю со студенческими работами здесь
3
Вращение и движение по синусоиде звезды Движение круга по синусоиде (WinAPI) Графика, ООП: движение креста по синусоиде слева направо, вперед и назад Applet. Произвольное движение кружка Движение кружка при помощи таймера Движение по синусоиде Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |