В сегодняшнем выпуске рассылки Адель Файзрахманов расскажет вам о интересном практическом приеме, позволя.щем создавать реалистичную шахматную доску. Для того, чтобы задать вопрос о работе в Photoshop или компьютерной графике, заполните, пожалуйста, форму ниже.
Трёхмерная шахматная доска
Это одно из моих произведений, созданных в программе 3D Studio Max(на доске
нехватает нескольких фигур, но это не так уж важно). Наверно, у каждого любителя
Photoshop, возникнет мысль: "А как это сделать в Photoshop'e?". У меня она тоже
возникла и я решил попробовать.
Начнём. Создаём новый файл(Ctrl-N) размером примерно 400х400 с прозрачным
фоном(именно с прозрачным(или Transparent - как вам больше нравится)). В правом
нижнем углу окна программы пишем "1600%" и нажимаем Enter. Дальше выбираем
инструмент Прямоугольное выделение(Rectangular Marque) и ставим такие параметры
Потом щелкаем мышкой где-нибудь на изображении, лучше подальше от края.
Должен появиться маленький выделенный квадратик. Заливаем его
белым(Редактирование>Залить(Edit>Fill) и выбираем Белый(White) и жмём
Ок). Потом щелкнув мышкой так чтобы новый выделенный квадрат стал рядом с
предыдущим( правее его) заливаем всё
чёрным(Редактирование>Залить(Edit>Fill) и выбираем Чёрный(Black) и
жмём Ок). В принципе, так можно сделать всю доску 8х8, если достаточно
терпения(хотя я сделал так: сделав квадрат 2х2 я его скопировал в буфер и
вставил 15 раз и инструментом Перемещение(Move) растащил всё на свои места, а
потом слил всё в один слой Слой>Обьединить с видимым(Layer>Merge
Visible)).
Теперь проверьте, чтобы в палитре слоёв у вас был только один слой(если нет,
то Слой>Обьединить с видимым(Layer>Merge Visible)). Идём в
настройки(Редактирование>Препочтения>Основные(Edit>Preferences>General))
и в пункте Интерполяция(Interpolation) выбираем Соседним точкам(Nearest
Neighbor), жмём Ок. Трансформируем нашу доску (Ctrl-T или
Редактирование>Произвольная трансформация(Edit>Free Tranform)), удерживая
Shift тянем доску за один из уголков так, чтобы доска оказалась чуть меньше
размера всего изображения(кстати если вы ещё находитесь на увеличении 1600%, то
у вас это вряд ли получится. Чтобы это исправить у нас есть инструмент
Лупа(Zoom)).
Следующий шаг - деревянная часть доски. Сделаем копию слоя с доской (Кстати,
пора бы уже начать называть наши слои; пусть один слой(тот, который оказался при
копировании наверху) назовём Доска, а другой Дерево) ). Напомню, копия делается
перетаскиванием слоя в палитре слоёв на пиктограмму нового слоя. Теперь
выделим слой Дерево. Чуть не забыл, в
настройках(Редактирование>Препочтения>Основные(Edit>Preferences>General))
в пункте Интерполяция(Interpolation) надо снова выбрать Бикубическая(Bicubic).
Нажмём Ctrl-T или выберем в меню Редактирование>Произвольная
трансформация(Edit>Free Tranform) и в палитре опций в пунктах W: и H: напишем
110%.
Нажимаем на кнопку с галочкой. Теперь в качестве основного цвета надо выбрать
цвет дерева(у меня это R:156, G:97, B:0). Выбираем
Редактирование>Залить(Edit>Fill) и заливаем основным цветом.
Теперь выберем слой Доска и нажмём Ctrl-E. Тем самым получится один слой
- Дерево(преименуем в Доска, нажав правой кнопкой на названии слоя в
палитре слоёв, выбираем пункт Свойства слоя(Layer properties)и переименовываем).
Теперь нажимаем Ctrl-T и трансформируем доску, чтобы получилось примерно
так.
Чтобы получилось так, нужно доску таскать за уголки с нажатой клавишей Ctrl.
Теперь создадим новый слой(щелчок на пиктограмме нового слоя в палитре слоёв).
Назовём его Стол. Поместим его ниже Доски(в палитре слоёв). И
Редактирование>Залить(Edit>Fill) и выбираем Чёрный. Теперь создаём ещё
один слой, называем его Тень, помещаем выше Доски. Выбираем инструмент Овальная
область(Elliptical Marque) и если там ещё остались старые настройки то поставим
всё на место.
Проведём овал так, чтобы он только касался нижней и правой части доски и,
если хотите, чуть выходил за левый и верхний.
Теперь нажимаем Ctrl-Alt-D или Выделение>Перо(Select>Feather) и ставим
10(эту цифру можно варьировать в разумных пределах). Потом Ctrl-Shift-I и,
удостоверившись что в палитре слоёв выбран слой Тень, заливаем его Чёрным.
Рисунок можно уже считать законченным, но мне не нравится то, что белые
клетки доски неестественно яркие. Поэтому создаём новый слой. Заливаем его
черным. Переносим в палитре слоёв его на самый верх. Там же, в палитре,
устанавливаем прозрачность слоя на 20%(можно меньше, можно больше).
Вот так, абсолютно ничего "трёхмерного" не делая, можно сделать симпатичный
трёхмерный рисунок. Можно пойти ещё дальше. Создать новый слой. С помощью
инструмента полигональное лассо(Polygonal Lasso) на рисовать боковые грани к
двум сторонам доски(точне там где они должны быть видны) и залить эти грани
цветом немного темнее того, чем заливали деревянную часть доски. Потом,
выбрав слой Тень, отключим его видимость(надо только нажать на "глаз" возле
его названия в палитре слоёв).
Попытался я и фигуры шахматные нарисовать
но что-то они у меня некрасивые получились, поэтому я и рисовать дальше не
стал и рассказывать как я рисовал не буду(я их рисовал с помощью инструмента
Овальное выделение и команды Залить(Fill) из меню Редактирование(Edit)).
Алгоритм "По соседним точкам"
Возможно не всем понятны те фокусы, которые мы делали в
настройках Photoshop'а в пункте Интерполяция. В этом пункте мы выбираем тот
алгоритм, который использует Фотошоп чтобы преобразовывать размеры(хотя не
только размеры, но и повороты) изображения. К сожалению, я не являюсь
программистом Adobe и доступа к исходным текстам программы Photoshop у меня тоже
нет, поэтому всё что вы прочитаете ниже это только мои домыслы, возможно
неправильные.
Алгоритм "По соседним точкам" наверно знаком каждому программисту, который
хоть раз задумывался над вопросом изменения размеров изображения. Используя этот
алгоритм, мы не получим новых цветов. Т.е. если, мы используем только белый и
чёрный, мы никогда не получим серый или какой нибудь ещё. Если короче, то можно
увидеть всю убогость этого алгоритма посмотрев на это
Транформация методом "По соседним
точкам" картинки 2х2 пиксела с параметрами ширины(W:):150% и
Высоты(H:):150%
Переходим к более интересным алгоритмам.
Если представить что любое изображение - это функция зависящая от двух
переменных(х и у), возможно векторная с тремя координатами(R,G,B) или
одномерная, которая получается из векторной взаимно однозначным соответствием
f=216*R+28*G+B(если вспомнить 0<R,G,B<255). Но у нас
есть только табличное представление этой функции. Так вот, в основу этих
алгоритмов входит интерполирование этой функции : в билинейном алгоритме
линейной функцией между каждыми двумя соседними точками; а в бикубическом
кубическим сплайном(что, конечно, более точно) или кривой Безье, что одно и то
же. Правда в бикубическом уже между четырьмя соседними точками(допустим при
фиксированном у-ке четыре точки соседние по оси х). Итак, имея математическое
описание изображения уже легко делать все эти изменения размера и повороты, а
потом тоже достаточно легко преобразовать это математическое представление в
картинку. Теперь понятно, что если бы мы, увеличивая нашу шахматную доску,
выбрали один из этих алгоритмов мы получили бы расплывчатое изображение с плавно
перетекающими друг в друга цветами белого и чёрного.
P.S. это приложение я написал для того, чтобы поделится
своими мыслями насчёт алгоритмов Photoshop'a и буду очень рад письмам от людей
которые знаю об этом больше, чем я.