Está en la página 1de 7

 

No os perdáis mi futuro contenido, seguidme en Twitter y Youtube 😁

Funciones, sistemas y puntos

¿Qué es una Función?


En el mundo de la programación es normal encontrar funciones. Por lo general
una función es una pauta o serie de instrucciones que toma una información
inicial (entrada / input) y devuelve nueva información (salida / output). Esta
función puede tomar variables, números, texto y devolver todo tipo de
información o simplemente realizar una acción.

Sin embargo en las matemáticas una función sólo implica números. Toma unos
números, se aplican unas reglas y se devuelve un nuevo número. Una de las
formas para de nir una función en las matemáticas es por ejemplo una tabla de
paridad ordenada con las entradas y salidas de la función para sus valores. Por
ejemplo supongamos que la función toma un número (x) y devuelve el doble de
éste (y):

Tabla de paridad ordenada

Las tablas de paridad ordenadas son útiles, pero tienen muchas limitaciones
debido a que para determinar una salida antes hay que describir todas las
posibilidades anteriores.

La otra forma de de nir una función es utilizar una fórmula o ecuación que
relacione los dos números. Por ejemplo la tabla anterior se podría de nir
utilizando la ecuación y = 2x, donde x es la entrada e y es la salida. Esta es la
manera cómoda y rápida, pues nos permite tomar cualquier entrada y determinar
su salida sin describir todas las posibilidades, sólo sustituyendo el valor de x en
la ecuación y resolviéndola.

Quizá ahora te estás preguntando qué tienen que ver las funciones con los
videojuegos, pues mucho, porque precisamente se utilizan para poder “poner”
cosas en la pantalla del ordenador. Siendo más especí cos, cuando hablamos de
poner, en realidad nos referimos a posicionar en la pantalla, pero para posicionar
debemos seguir algunas reglas y aquí es dónde aparecen los sistemas de
coordenadas.

El sistema de coordenadas
Este sistema de representación consiste en una rejilla formada por un eje-
x horizontal y otro eje-y vertical. El primero representa la anchura y el segundo la
altura. Gracias a este sistema los programadores de videojuegos pueden
posicionar cualquier objeto sobre el plano 2D formado por el sistema simulando
la pantalla del ordenador:
Eje de coordenadas cartesianas

Para hacerlo se utilizan los puntos.

¿Qué es un Punto?
Un punto es un objeto que indica un lugar particular en el sistema de
coordenadas. La notación de un punto es P(x,y), donde P es el nombre del punto,
x representa la coordenada horizontal e y su coordenada vertical.

El lugar donde se cruzan los ejes se conoce como el punto de origen y se


corresponde con las coordenadas (0,0). A partir del origen el valor de las x es
positivo a la derecha y negativo a la izquierda. Así como el valor de las y es
positivo hacia arriba y negativo hacia abajo.

Representar los puntos es bastante fácil, sólo hay que ir contando las distancias
y marcar el lugar donde se cruzan la proyecciones  de los ejes:
Representación de algunas coordenadas en el sistema cartesiano

Gracias a este sistema se pueden utilizar funciones para mover los objetos
alrededor de la pantalla a partir de sus coordenadas x e y. Sin embargo hay que
diferenciar un punto importante antes de dar el tema por zanjado, y es que las
pantallas no utilizan el sistema cartesiano para visualizar la información.

Coordenadas en la pantalla
La diferencia entre el sistema cartesiano y de la pantalla varía en el eje-y debido
a que las pantallas están creadas para visualizar de arriba hacia abajo. Eso se
traduce en que el eje de las y es positivo hacia abajo y negativo hacia arriba, o
también que el origen se encuentra en la esquina superior izquierda, mientras que
para el sistema cartesiano está en la esquina inferior izquierda, tal como muestra
la siguiente gura:
¿En qué nos afecta ésto? Pues que si quieres crear tu motor de renderizado el
último paso es convertir las coordenadas cartesianas en coordenadas de
pantalla, pero ésto suele ser un proceso automático en muchas librerías y
frameworks. Incluso hay entornos completos como GameMaker que utilizan
directamente coordenadas de pantalla para ahorrarse este paso.

Representación de objetos 3D
Hemos estado hablando de cómo representar objetos en el plano pero... ¿qué hay
de los objetos en tres dimensiones? ¿Cómo se representan?

En el caso de los videojuegos en 3D la cosa se complica un poco más, pero las


bases son fundamentalmente las mismas. Lo que se hace es añadir un tercer eje-
z al sistema de coordenadas para simular la profundidad:
Sistema cartesiano tridimensional

Por tanto se añade la nueva coordenada z y un punto en el espacio


tridimensional se de nirá P(x,y,z), siendo el origen el punto (0,0,0). Normalmente
cuanto más cerca del usuario esté el punto la profundidad será más positiva
(estará por encima) y cuanto más lejos será más negativa (estará por debajo).

Esta interpretación es ámpliamente utilizada en las matemáticas y también la


utilizan la mayoría de programadores, además de ser un estándar OpenGL, pero
no es la única. En la siguiente imagen vemos un ejemplo de representación de un
punto:
Representación de un punto en el espacio 3D

Cómo veis es algo más complicado de intuir pero en esencia es lo mismo que las
dos dimensiones, así que tiempo al tiempo.

También podría gustarte