Текстуры
Текстура поверхности - это детализация ее строения, учитывающая микрорельеф и особенности окраски. Во-первых, гладкая поверхность может быть покрыта каким-либо узором, и тогда при ее изображении решается задача отображения этого узора на проекции фрагментов поверхности (многоугольники). Во-вторых, поверхность может быть шероховатой, поэтому нужны специальные приемы имитации такого микрорельефа при закрашивании. Сначала рассмотрим методы отображения узоров. Чаще всего узор задается в виде образца, заданного на прямоугольнике в декартовой системе координат Теперь достаточно построить отображение области в пространстве текстуры в область параметров поверхности или и тем самым каждой точке поверхности будет соответствовать точка образца текстуры. Пусть, например, поверхность представляет собой один октант сферы единичного радиуса, заданный формулами а образец текстуры задан на квадрате Если положить Обратное отображение имеет вид следовательно, вертикальные и горизонтальные линии образца отобразятся на окружности большого круга сферы. Рис. 11.5. Текстура на сферической поверхности Пусть теперь нужно нанести текстуру при перспективном проецировании произвольно ориентированной прямоугольной грани. Грань задана в пространстве набором своих вершин Будем считать, что используется простейший случай перспективного преобразования, задаваемый формулами Найдем образ точки P при таком преобразовании: или Если теперь рассматривать эти соотношения как систему уравнений для нахождения параметров где Найденные параметры будут определять точку текстуры, соответствующую точке проекции. Рис. 11.6. Текстура при перспективной проекции Можно рассмотреть более общий случай перспективной проекции, задаваемый соотношениями Тогда уравнения для определения Соответственно, изменится и решение: В рассмотренных примерах мы имели дело с гладкими поверхностями. Можно имитировать шероховатость путем выбора подходящего образца нерегулярной текстуры, но все равно изображение будет выглядеть так, словно неоднородности нанесены на гладкой поверхности. Для моделирования микрорельефа Дж. Блин предложил метод, основанный на возмущении нормали к поверхности. Пусть, как и ранее, поверхность задана в параметрическом виде с помощью векторной функции Можно показать, что нормаль к новой возмущенной поверхности будет определяться выражением Применяя в модели освещения новую нормаль, можно получить эффект шероховатости поверхности. В качестве функции возмущения можно использовать произвольную дифференцируемую по каждой из переменных функцию. Вопросы и упражнения
|