Ответ: Забавные вещи люди в иле ваяют
german сказал(а):
Да, куртка очень классно вышла. Вот, еще примерчик кидаю. Но, с мешом
Вот глядя на курточку и на кошечку, родились у меня следующие мысли. Вернее, даже не родились, а обрели кое-какую законченную форму, поскольку крутились в голове уже давно. Итак:
Доводилось слышать мысль, что, дескать, Gradient Mesh (и даже просто Gradient) есть предательство чистой и светлой идеи векторной графики. То есть, будто бы это вовсе и не векторная графика, и что, мол, рисовать надо векторами «чистыми». Соответственно, всякие такие замуты, вроде этой курточки или этой кошечки, нужно рисовать либо «чистА» векторами (что и демонстрирует курточка), либо в растровом редакторе, «чистА расторм».
Однако при внимательном и пристальном рассмотрении легко придти к парадоксальному, на первый взгляд, выводу — эта курточка и есть предательство чистой и светлой идеи векторной графики, а кошечка, нарисованная Gradient Mesh-ами в этом смысле образец верности этой идее. Ниже я как раз и попытаюсь пояснить, почему сей вывод парадоксален лишь на первый взгляд.
Итак, взгляд первый, через Outline Preview.
Глядим на кошечку: четко видны границы немногочисленных объектов (хотя, я не видел исходников конкретно этой кошечки, я предполагаю на основании опыта), а границы и направления цветовых (полутоновых) переходов не видно. Прмерно так же выглядит в этом режиме и растровая графика. Самый очевидный (и ошибочный) вывод — не векторная это графика, не правильная.
Теперь глядим на курточку: всё видно — и границы объектов, и направления и границы цветовых переходов, образованных дополнителными объектами. Вот он, чистый вектор, во всей красе, можно заключить. А ни фига!
Взгляд второй, более пристальный и вдумчивый, через Preview обычное, в цвете.
В чём принципиальное отличие векторной графики от растровой? Самое принципиальное, глобальное? В том, что растровое изображение дискретное, состоящие из элементов фиксированного размера, формы и цвета. А векторное есть набор математических формул, описывающих изменение чего-либо (формы, цвета) от одной опорной точки о другой.
В простейшем случае это иллюстрируется изображением какой-нибудь загогулины при большом увеличении — на растровой картинке отчётливо видны «ступеньки», а векторное — гладкое. И на этом, как правило, объяснения и иллюстрации заканчиваются.
Но что демонстрирует этот пример? Только то, что точность описания формы границы изменения цвета в растровой графике конечна, а в векторной — бесконечна (грубо говоря, бесконечна, поскольку выше на порядки).
Но это резкий переход цвета, граница. А как же плавный переход цвета, полутона? В растровой графике всё понятно — цвет дискретно изменяется от пиксела к пикселу.
В векторной же есть два пути: создать Blend от объекта начального цвета к объекту конечного цвета, либо воспользоваться градиентом.
А что есть Blend? Это всё та же дискретная структура, где каждый элемент имеет равномерный цвет по всей площади. И не важно, что элементы эти имеют гладкие контуры и большую площадь, а не квадратную форму и меленькую площадь, какие имеет пиксел в растром изображении, важно то, что цвет от элемента к элементу изменяется дискретно. В растровой графике цвет изменяется дискретно, и здесь тоже — где же разница? А нету! В тот момент, когда радетель за «чистоту векторов» создает такой Blend, он, совершенно не отдавая себе отчёта в этом, предаёт эту «чистую и светлую» идею.
Создавая же плавные переходы цвета градиентами и Gradient Mesh-ами, автор абсолютно последователен в следовании этой идеи: ключевое отличие растровой графики от вектроной в том, что растровая численная, где числа забиты в таблицу битовой карты, а вектоорая графика — вычислительная, переводящаяся в конкретные численные значения на лету, непосредственно в устройстве вывода.
Недостатки первого подхода («читыми векторами», Blend-ами) видны на примере курточки даже и при таких размерах изображения — кое-где дискретность перехода цвета не увидеть не возможно. А было бы это решено Gradient Mesh-ами, там бы и намёка на эту дискретность не было.
А если увеличь картинку вдвое? А если напечатать на формате А1? А если на ещё большем формате?
Попробовать скрыть дискретность, сделать переход цвета визуально более плавным, путём увеличения шагов Blend-а — дык, это ещё дальше уйти от векторного (описанного формулами) в сторону растрового (дискретного, численного).
Вот такие вот мыслишки…