Articulo de referencia

Envoltura (gráficos)

En gráficos por computadora, el envolvimiento [ 1 ] es el proceso de limitar una posición a un área. Un buen ejemplo de envolvimiento es el papel tapiz , un patrón único que se ...

En gráficos por computadora, el envolvimiento [ 1 ] es el proceso de limitar una posición a un área. Un buen ejemplo de envolvimiento es el papel tapiz , un patrón único que se repite indefinidamente sobre una pared . El envolvimiento se utiliza en gráficos 3D por computadora para repetir una textura sobre un polígono , eliminando la necesidad de texturas grandes o múltiples polígonos.

Para ajustar una posición x a un área de ancho w , calcule el valor.incógnita=incógnita mod w{\displaystyle x'=x{\text{ mod }}w}.

Implementación

Para fines computacionales, el valor envuelto x' de x se puede expresar como

incógnita=incógnita(incógnitaincógnitamin)/(incógnitamáximoincógnitamin)(incógnitamáximoincógnitamin){\displaystyle x'=x-\lfloor (x-x_{\text{min}})/(x_{\text{max}}-x_{\text{min}})\rfloor \cdot (x_{\text{max}}-x_{\text{min}})}

dóndeincógnitamáximo{\displaystyle x_{\text{máx}}}es el valor más alto del rango, yincógnitamin{\displaystyle x_{\text{min}}}es el valor más bajo del rango.

El pseudocódigo para envolver un valor en un rango distinto de 0-1 es

función wrap(X, Mín, Máx: Real): Real; X := X - Int((X - Mín) / (Máx - Mín)) * (Máx - Mín); Si X < 0 entonces // Esto corrige el problema causado por usar Int en lugar de Floor X := X + Máx - Mín; devolver X;

El pseudocódigo para envolver un valor en un rango de 0 a 1 es:

función wrap(X: Real): Real; X := X - Int(X); si X < 0 entonces X := X + 1; devolver X;

El pseudocódigo para envolver un valor en un rango de 0 a 1 sin bifurcación es:

función wrap(X: Real): Real; return ((X mod 1.0) + 1.0) mod 1.0;

Véase también

Referencias

  1. "Envoltura - Conocimientos y referencias" . Taylor & Francis .