martes, 15 de julio de 2008

Polygon

En ocasiones olvido que no es necesario reinventar la rueda, que afortunadamente hay mucho trabajo hecho y que funciona mejor del que podamos desarrollar nosotros en una tarde 'bien aprovechada'.

Ayer estuve leyendo 'Programa como un Pythonista: Python Idiomático', de David Goodger y traducido por Raúl González Duque, donde se recuerda que es bueno revisar los paquetes disponibles para python, que ahorra tiempo. Y así es como hace un rato descubrí la clase Polygon.

Con esta clase creo objetos 'poligonales', y entre muchos de sus métodos está Polygon.center() y Polygon.area(), que me ahorra la vida de unas cuantas neuronas

>>> from Polygon import *
>>> poligono = Polygon(((400, 300), (700, 300), (900, 600), (200, 600)))
>>> poligono.center()
(550.0, 470.0)
>>> poligono.area()
150000.0

Por supuesto, existen mas métodos, pero de momento con estos tengo suficiente. Aunque el centro que calcula esta clase es el geográfico, y no el cruce de diagonales, creo que de momento me servirá. De todas formas siempre puedo ampliar la clase, ya que el código para calcular el cruce de diagonales ya está escrito.

Con la nueva información la interfaz gráfica queda como sigue

No hay comentarios: