stringtranslate.com

Упаковка (графика)

В компьютерной графике обертывание — это процесс ограничения положения областью. Хорошим примером обертывания являются обои , один узор, повторяющийся бесконечно на стене . Обертывание используется в 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;

См. также перенос текста