Mam wiele linii poziomych i pionowych, które tworzą prostokąt, takich jak w tym przykładzie.Biorąc pod uwagę wiele linii poziomych i pionowych, jak znaleźć wszystkie prostokąty, które mają wewnątrz podarty prostokąt?
Czy istnieje algorytm lub kod, który może zlokalizować każdy prostokąt, który nie zawiera innego prostokąta. Mam na myśli, że największy prostokąt na tym obrazie nie jest prostokątem, którego szukam, ponieważ zawiera w sobie inne prostokąty.
Prostokąty, których szukam, muszą być puste. Mam listę punktów początkowych i końcowych każdej linii, jak (a, b) do (c, d). Chcę w rezultacie listę prostokątów (x, y, w, h) lub równoważnych.
Należy zauważyć, że niektóre linie mają linie przecinające je pod kątem prostym, na przykład górna linia najszerszego prostokąta na tym obrazie to pojedyncza linia, której przecinająca się pionowa linia biegnie w dół.
co lista, coś jak '[((x1, y1), (x1, y2)), ((x1, y2), (x1, y3)), ((x1, y1), (x1, y3)), ...] '? – Aprillion
Po prostu pomaluj swój obszar metodą wypełnienia powodzi z dowolnego białego punktu. Każdy obszar z 4 rogami byłby pożądany prostokątem. –
To nie jest mapa bitowa, mam tylko listę linii poziomych i pionowych. Bez wypełnienia powodziowego. Nie jestem pewien, co masz na myśli na liście z rosnącymi y1, y2, y3, potrzebuję tylko listy prostokątów w wyniku, ale jej reprezentowane. – Phil