Área de un polígono
En este artículo vamos a hacer una función en MATLAB que calcula el área de un polígono.
Vamos a empezar deduciendo una fórmula general a partir de las coordenadas de sus vértices.Supongamos primero que es un triángulo con vértices [math] V_i = (x_i,y_i), \; i=1,2,3[/math] . Si definimos [math] \{ \vec i, \vec j\} [/math] los vectores de la base cartesiana en la que están dados los vértices, entonces dos lados del triángulo están formados por los vectores:[math] \vec{V_1V_2} = (x_2-x_1)\vec i + (y_2-y_1)\vec j, \qquad \vec{V_1V_3} = (x_3-x_1)\vec i + (y_3-y_1)\vec j. [/math]
El módulo del producto vectorial de estos vectores es el área del paralelogramo que forman, es decir el doble del área del triángulo. Por tanto,
[math] \begin{eqnarray*} S&=&\frac12 |\vec{V_1V_2} \times \vec{V_1V_3}| = \frac12|((x_2-x_1)(y_3-y_1)-(x_3-x_1)(y_2-y_1))\vec k|\\ &=&\frac12|y_1(x_3-x_1)+y_2(x_1-x_3)+y_3(x_2-x_1)|=\frac12|\sum_{i=1}^3y_i(x_{i-1}-x_{i+1})|, \end{eqnarray*} [/math]
tomando la regla de que [math]x_0=x_3, \; x_4=x_1[/math].
En el caso de un polígono convexo podemos numerar los vértices en sentido antihorario, triangulizarlo usando las diagonales a partir de un vértice y sumar el área de los triángulos que se formanSiguiendo el mismo proceso anterior para calcular el área de cada triángulo llegamos fácilmente a una fórmula similar. Concretamente, en el caso particular del pentágono de la figura,
[math] \begin{eqnarray*} S&=&\frac12 |\vec{V_1V_2} \times \vec{V_1V_3}|+\frac12 |\vec{V_1V_3} \times \vec{V_1V_4}|+\frac12 |\vec{V_1V_4} \times \vec{V_1V_5}| \\ &=& \frac12 |\vec{V_1V_2} \times \vec{V_1V_3}+\vec{V_1V_3} \times \vec{V_1V_4}+\vec{V_1V_4} \times \vec{V_1V_5}| =\frac12|\sum_{i=1}^5y_i(x_{i-1}-x_{i+1})|, \end{eqnarray*} [/math]
tomando la regla de que [math]x_0=x_5, \; x_6=x_1[/math]. El punto clave aquí es la primera igualdad, que se puede hacer porque los tres vectores [math]\vec{V_1V_2} \times \vec{V_1V_3}, \; \vec{V_1V_3} \times \vec{V_1V_4}, \; \vec{V_1V_4} \times \vec{V_1V_5} [/math] tienen la misma dirección y sentido. Sólo cambia su módulo. Por tanto, en este caso el módulo de la suma es lo mismo que la suma de los módulos.
En el caso general de n vértices, la fórmula quedaría:
[math] S=\frac12|\sum_{i=1}^ny_i(x_{i-1}-x_{i+1})| [/math]
tomando la regla de que [math]x_0=x_n, \; x_{n+1}=x_1[/math].
Por último, si el polígono es no convexo, es fácil ver que la misma fórmula se verifica. Basta observar que el área de la parte que está en la envolvente convexa del polígono, pero no en el polígono, aparece dos veces y con signos contrarios.