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