[p9] cleanup

master
Jacopo De Simoi 3 months ago
parent f30dd40cf5
commit f225c51d96
  1. 31
      p9/p9.org

@ -103,21 +103,21 @@ OK, the datapoints are all corners. Now I know. Find which way is inside
#+end_src
#+begin_src emacs-lisp
(defun incompatible-p (rect corner)
(let ((minx (min (caar rect) (cadr rect)))
(maxx (max (caar rect) (cadr rect)))
(miny (min (cadar rect) (caddr rect)))
(maxy (max (cadar rect) (caddr rect)))
(px (caar corner))
(py (cadar corner))
(quadrant-list (cdr (assoc (cdr corner) quadrant-map))))
(or (and (= px minx) (< miny py) (< py maxy) (< 2 (length (-intersection '(1 4) quadrant-list)))) ; on left edge
(and (= px maxx) (< miny py) (< py maxy) (< 2 (length (-intersection '(2 3) quadrant-list))))
(and (= py miny) (< minx px) (< px maxx) (< 2 (length (-intersection '(3 4) quadrant-list))))
(and (= py maxy) (< minx px) (< px maxx) (< 2 (length (-intersection '(1 2) quadrant-list)))))))
(setq final-rects (-remove (lambda (rect) (--any (incompatible-p rect it) data-corners)) rects-sifted))
(-max (-map #'area final-rects))
(defun incompatible-p (rect corner)
(let ((minx (min (caar rect) (cadr rect)))
(maxx (max (caar rect) (cadr rect)))
(miny (min (cadar rect) (caddr rect)))
(maxy (max (cadar rect) (caddr rect)))
(px (caar corner))
(py (cadar corner))
(quadrant-list (cdr (assoc (cdr corner) quadrant-map))))
(or (and (= px minx) (< miny py) (< py maxy) (< 2 (length (-intersection '(1 4) quadrant-list)))) ; on left edge
(and (= px maxx) (< miny py) (< py maxy) (< 2 (length (-intersection '(2 3) quadrant-list))))
(and (= py miny) (< minx px) (< px maxx) (< 2 (length (-intersection '(1 2) quadrant-list))))
(and (= py maxy) (< minx px) (< px maxx) (< 2 (length (-intersection '(3 4) quadrant-list)))))))
(setq final-rects (-remove (lambda (rect) (--any (incompatible-p rect it) data-corners)) rects-sifted))
(-max (-map #'area final-rects))
#+end_src
#+RESULTS:
@ -144,6 +144,7 @@ OK, the datapoints are all corners. Now I know. Find which way is inside
| (11 1) | 9 | 5 |
| (11 1) | 2 | 5 |
| (11 1) | 2 | 3 |
| (11 1) | 7 | 3 |
| (11 7) | 9 | 7 |
| (11 7) | 9 | 5 |

Loading…
Cancel
Save