У меня есть список точек x, y, сохраненных как вектор векторов, и я хочу узнать границы.
Например, с учетом этого:
[[0 0] [20 30] [-50 -70] [200 300]]
* 1005результат будет:
{:x -50, :y -70, :x2 200, :y2 300}
Вот что у меня так далеко.Это дает желаемый результат, но мне кажется многословным и не очень замкнутым.
(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)))
Есть идеи, как его улучшить?Спасибо!