Tengo una lista de puntos x, y almacenados como un vector de vectores, y quiero averiguar los límites.obteniendo los límites de una lista de puntos x, y
Por ejemplo, dada la siguiente:
[[0 0] [20 30] [-50 -70] [200 300]]
El resultado sería:
{:x -50, :y -70, :x2 200, :y2 300}
Esto es lo que tengo hasta ahora. Da el resultado deseado, pero parece detallado y no muy clojure-ey para mí.
(defn get-stroke-bounds [vector-of-points]
(reduce (fn [m [x y]]
{:x (min (:x m Integer/MAX_VALUE) x)
:y (min (:y m Integer/MAX_VALUE) y)
:x2 (max (:x2 m Integer/MIN_VALUE) x)
:y2 (max (:y2 m Integer/MIN_VALUE) y)})
{}
(vector-of-points)))
¿Alguna idea sobre cómo mejorar? ¡Gracias!
¡Asignando "primero" y "segundo" a la lista para obtener algo ordenable! ¡Por supuesto! ¡Gracias! – jhickner