Упаковка (графика) - Wrapping (graphics)
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В компьютерной графике оберточная бумага это процесс ограничения позиции областью. Хороший пример упаковки: обои на стену, один шаблон повторяется бесконечно над стена. Обертка используется в 3D компьютерная графика повторить текстура через многоугольник, устраняя необходимость в больших текстурах или множестве полигонов.
Завершить позицию Икс на область шириной ш, рассчитать значение .
Выполнение
Для вычислительных целей обернутое значение Икс' из Икс можно выразить как
куда - максимальное значение в диапазоне, а - наименьшее значение в диапазоне.
Псевдокод для переноса значения в диапазон, отличный от 0–1,
функция wrap (X, Min, Max: Real): Real; X: = X - Int ((X - Мин) / (Макс - Мин)) * (Макс - Мин); если Х <0 тогда // Это устраняет проблему, вызванную использованием Int вместо Floor X: = X + Max - Min; возвращаться ИКС;
Псевдокод для переноса значения в диапазон 0–1 является
функция обертка (X: Real): Real; X: = X - Int (X); если Х <0 тогда Х: = Х + 1; возвращаться ИКС;
Псевдокод для переноса значения в диапазон 0–1 без ветвления есть,
функция обертка (X: Real): Real; возвращаться ((X mod 1.0) + 1.0) mod 1.0;