Давно собирался и наконец собрался сделать что-нибудь такое: процедурно-генерированное видео с какой-нибудь красивой геометрией. Если понравится, сделаю ещё.
Дискретные сдвиги в плоскости не очень (идеально было б, конечно, только скалировать, но для конкретной кривой может быть придется ее слишком сильно уменьшать. В крайнейм случае - просто плавное движение). А так выглядит славно! Изюму бы ей еще какого-нибудь... Что если как-нибудь интересно цвет менять, чтобы сначала было пестро, а потом сливалось при достаточном удалении?
Да, у меня сначала была та же проблема со скейлинго, и я её решил, апроксимировав его экспоненциальной функцией. Со сдвигом я попытался сделать то же самое (только приближал, естественно, функцией из другого семейства), но сходу у меня хорошо не получилось. Можно ещё сглаживать локально (и возможно я так и сделаю), но до этого у меня руки не дошли.
Не хочется вручную подбирать скейлинг и сдвиг. Хочется чтобы раз -- и они сами автоматически подобрались.
> А так выглядит славно! Изюму бы ей еще какого-нибудь... Что если как-нибудь интересно цвет менять, чтобы сначала было пестро, а потом сливалось при достаточном удалении?
Я попробую сделать видео с разбиением плоскости на такие фиговины. Будет цветное.
а как ты расчитываешь сдвиг? по позиции курсора или взвешиваешь с еще чем-нибуть типа центра масс? Я думаю, что хорошая функция скорости должна быть просто диффенцируема. Может быть просчитать скорости на несколько шагов вперед и зафиттить туда многочлен (пересчитывая каждый раз в скользящем окошке, так что лучше может быть сплайны)
На первом шаге я подбираю скейлинг и сдвиг так чтобы вся кривая точно попадала в экран минус десятипроцентные поля. (+ минимальное значение скейлинга, чтобы при рисовании первого сегмента окно стояло на месте) Потом я приближаю коэффицент скейлига глобальной функцией, а сдвиг вычисляю чтобы центрировать кривую относительно окна.
Я потом выложу код на Гитхаб и может напишу статью на Хабре -- мне кажется, там есть несколько интересных моментов.
Comments 4
А так выглядит славно! Изюму бы ей еще какого-нибудь... Что если как-нибудь интересно цвет менять, чтобы сначала было пестро, а потом сливалось при достаточном удалении?
Reply
Да, у меня сначала была та же проблема со скейлинго, и я её решил, апроксимировав его экспоненциальной функцией. Со сдвигом я попытался сделать то же самое (только приближал, естественно, функцией из другого семейства), но сходу у меня хорошо не получилось. Можно ещё сглаживать локально (и возможно я так и сделаю), но до этого у меня руки не дошли.
Не хочется вручную подбирать скейлинг и сдвиг. Хочется чтобы раз -- и они сами автоматически подобрались.
> А так выглядит славно! Изюму бы ей еще какого-нибудь... Что если как-нибудь интересно цвет менять, чтобы сначала было пестро, а потом сливалось при достаточном удалении?
Я попробую сделать видео с разбиением плоскости на такие фиговины. Будет цветное.
Reply
Reply
Я потом выложу код на Гитхаб и может напишу статью на Хабре -- мне кажется, там есть несколько интересных моментов.
Reply
Leave a comment