Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Немного анимации


Автор: IRQ 30.11.2006, 00:02
Народ. Есть такая тема. Надо сделать метод перехода. То есть задаём базовый кадр и конечный. И программа должна сгенерить промежуточные. Что-то типа Flash. Метод такой что выделанная группа элементов сначала закрашивается с краю. Потом рамка эта сужается и идёт так до центра. То есть как бы контур на каждом шаге сужается к центру или наоброт. Он может идти от центра к краю группы. Я вот думал. Не мог ничего придумать. Всё упирается в то, что всё зависит от формы конутра. То есть прямоугольник, круг, треугольник. А универсального не могу придумать. Надо как-то вот на каждом получить те элементы, которые будут загораться на этом шаге. У нас есть координаты элементов и их номера. Чтобы отличать друг от дргуа. Вот надо фактически на каждом шаге получить список номеров тех элементов, которые будут загораться. У меня повторюсь всё упирается в форму группы. Универсального алгоритма не вижу. Помогите разобраться.

Автор: SoWa 1.12.2006, 19:33
Берем центр, проводим ко всем точкам радиус векторы(если кривые фигуры) или к вершинам(если Н-угольник).
Делим их на число, коэффициент пропорциональности какой нибудь(увеличивать/уменьшать его каждый шаг будем).
Строим получившуюся фигуру.

PS
Ну тривиальная же задача. Иногда включайте математическое мышление.

Автор: IRQ 2.12.2006, 23:35
Ну так это для случая если контур в виде круга. Понятно что от центра к краям. Но ведь это круг. Для прямоугольника такая штука не прокатит. Или треугольника. Хотя частично я задачу уже решил smile

Автор: SoWa 3.12.2006, 08:45
Как для прямоугольника не прокатит?!
Берем радиус-вектора к вершинам. Уменьшаем. Получаем кординаты новых вершин. Соединим их.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)