Векторная графика на рассеянных кривых


    Векторное изображение на рассеянных кривых

    Долгое время возможности векторной графики были ограничены только линейными и круговыми градиентами, в результате чего можно было создавать лишь «плоские» изображения с определённым набором фигур. Настоящим прорывом стали смешанные градиенты (gradient mesh), которые впервые сделали векторную графику фотореалистичной. Группа французских исследователей под руководством Александрины Орзан (Alexandrina Orzan) из Технологического института в Гренобле в 2008 году сделала следующий шаг на пути развития векторной графики. Они разработали инструменты для генерации векторной графики на рассеянных кривых (diffusion curves), в том числе программу для автоматической конвертации растровых изображений в векторные.

    Что такое рассеянные кривые? Это обычные кривые Безье, но с информацией о цвете в ключевых точках, между которыми градиент меняется с помощью многосеточного метода. Лучше всего это можно понять на нескольких кадрах видеопрезентации.

    Иллюстрация







    Рассеянные кривые позволяют в совсем крохотном объёме информации закодировать довольно сложное и большое изображение. Это именно то, что нужно при конвертации растровой графики в векторную.

    Автоматический конвертер, созданный Орзан с коллегами, генерирует результат, зачастую очень близкий к оригиналу. При этом возможен существенный выигрыш в размере файла, при сохранении всех преимуществ векторной графики. Огорчает лишь то, что рассеянные кривые так и не внесены в стандарт SVG, так что данный алгоритм можно реализовать только в отдельном формате файлов.

    Результат автоматической векторизации








    Созданные вручную изображения











    Графический редактор Diffusion Curves под Windows можно скачать здесь (требует хорошей видеокарты: GeForce 6800 или выше).
    Научная работа.
    Страница с дополнительной информацией и ссылками на смежные исследования.

    via Hacker News
    Поддержать автора
    Поделиться публикацией

    Комментарии 40

      0
      Вы сыграли на конрасте) И вручную создают шедевры используя Gradient meash
        +1
        Пользуясь случаем хочу спросить. В AI создаются очень фотореалистичные иллюстрации с помощью gradient mesh. Может быть кто-нибудь в курсе, существует ли какое нибудь расширение или скрипт для автоматизации этого процесса? Когда сетка уже есть, дальнейшая работа почти механическая, заключается в том чтобы взять пипеткой цвет с оригинала и покрасить им нужную точку gradient mesh. Неужели только вручную?

        Кстати, у MS было исследование на тему gradient mesh. Там софтинка сама строила сетку и сама ее раскрашивала. Не помню как она называется, да и сомневаюсь что есть в свободном доступе.
          0
          Только руками, в этом и весь минус, но в умелых руках получаются шедевры.
            +4
            Для примера, как говорится
            dribbble.com/shots/606051-Blue-Tooth/attachments/48930
              0
              В приведенном Вами примере не используются gradient mesh. Там все на блендах сделано.
              Но в целом про градиент меши да, в умелых руках случаются шедевры.
                0
                Ну тут форма сложновата, что бы чисто мешами. Но принцип тот же.
              0
              Ну вообще AI/Corel имеют неплохую поддержку скриптинга, не знаю как в AI, в Corel это возможно думаю, по крайней мере там есть инструменты замера цвета в пикселе картинки
            +1
            Разрешение и количество точек на дюйм стремительно растет — того гляди придется с лупой смотреть на экран. Такие технологии, похоже, спасают ситуацию, но такой вектор потребует нехилых вычислений. Если, не кэшировать в растр, конечно.
              0
              Можно ли в будущем переложить эти вычисления на сервер? а отдавать уже под нужное разрешение растр
                0
                Вычислений, да, но их можно оптимизировать а не рубить в лоб. Эта тупая реализация, скорее просто иллюстрация потенциальных возможностей, собственно эта тема то вообще баянистая.
                Тупая реализация, нам так же намекает на возможность использования специализированных, аппаратных вычислителей.
                В своё время примитивная по современным меркам 3D графика, тоже казалась неподъемной задачей, так же может случиться и тут. Увидел бы кто в этом коммерческий смысл…
                –23
                пацанва где скачать порно бесплатно? рутрекер не помогает
                +40
                Простите, что не по теме, но вижу на последней картинке танцующего человечка.
                  0
                  Похоже у Вас очень хорошо развито определенное направление в образном мышлении!
                    +3
                    Ну это сразу бросается в глаза :-) Попробуйте, например, наклонить голову вправо набок и посмотреть на «тень» стакана — сразу должно напомнить автомобиль 20-х годов с большими круглыми фарами и одним поднятым дворником в правой части.
                      +2
                      Честное слово — увидел всё, кроме дворника )) Где дворник?))
                    –2
                    Gangnam style?
                      0
                      Скорее упячкамэн какой-то.
                      0
                      Неправда. Он сидит на коленях и пытается распутать руки, связанные за спиной (если смотреть на оригинал). Выражение лица тоже больше к этому варианту подходит :)
                      +1
                      У рассеянных кривых есть совершенно конкретные проблемы, которые пока не удалось решить. Так что в SVG их пока не надо.

                      Зато в SVG 2.0 будут градиентные меши, что уже большой плюс.

                      Ну и, в общем, не новая это тема :) Ей уже года четыре :)
                      +4
                      Судя по изображениям, создание таких кривых больше похоже на гадание на кофейной гуще, чем точное задание цветов в определенных точках. Фильтры в SVG позволяют и так добиться очень неплохой реалистичности.
                      Упс..
                      image
                        0
                        Разница, как я понимаю, в занимаемом объеме. Ну и плюс в вашем примере градиенты довольно-таки «ступенчатые».
                          +1
                          Это, я так понимаю, специально.
                            0
                            Вряд ли
                              +7
                              Вы работали когда-нибудь в Inkscape? Я работал. Убрать резкие переходы там можно в два клика.
                              Например, сравните изображение с фильтрами и без них
                              image
                              image
                                +2
                                И, для полного счастья
                                image
                                image


                                p.s. В Inkscape не поддерживаются меши, всё это — только плоскости с простой градиентной заливкой.
                                  0
                                  Поддерживаются. В нестабильной версии, по умолчанию выключено.
                                    0
                                    Они были добавлены в рамках GSoC 2011, если я не ошибаюсь, но в транк так и не были перенесены. Верно?
                                      0
                                      Неа. Это личная инициатива Тава. Он же и написал спеку для SVG, отработав её на инкскейпе. В транк перенесено этим летом.
                                  0
                                  Микуру-тян, ммм)
                            +1
                            Кааааак? Inkscape же тормозит как незнамо что! Пробовал работать, как только добавляешь немного svg фильтров даже простое перемещение объекта происходит с ощутимыми тормозами. Машинка вроде не слабая: i5 с 8 ГБ оперативы.
                              0
                              0.48.х — тормозит, 0.49/trunk — пошустрее. Там многопоточность для фильтров.
                                0
                                Трудно сказать. Микуру я рисовал на 2.0GHz Celeron/1GB ram, особых проблем с производительностью не испытывал. На рисунок (вернее сказать, «срисунок») ушло около полутора часов. Пример с Ferrari у меня открывается довольно долго (пару минут), но затем вполне комфортно с ним можно работать. Версия Inkscape — 0.47. Свежая 0.48.2 ощутимо медленнее. По субъективным ощущениям, на Windows работает медленнее, чем на Linux, но специально не замерял.
                              +1
                              Пусть Адоб купит эту разработку и будет счастье в люстре.
                                0
                                Интересная штука.
                                Я еще когда знакомился с меш-сеткой подумал, почему не сделали трассировку на основе меш-сетки: определить ключевые цветные точки и задать им цвет и наклон касательных.

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

                                Самое читаемое