Witam, od kilkudziesieciu godzin próbuję stworzyć algorytm do swojego projektu na Analizę Algorytmów i mówiąc delikatnie na razi odbijam się od ściany.
W ogólności problem jest taki jak w temacie. Jest obszar w wymiarach [0,a] x [0,b] a wewnątrz jest n punków(współrzędne dodatnie, całkowite). Znaleziony wielokąt nie może mieć w środku żadnych punków.
wielokąt jest ortagonalny jeśli jego wszystkie krawędzie są równoległe do którejś osi układu współrzędnych, zaś wielokąt ortagonalny jest wypukły jeśli nie istnieje żadna prosta rónoległa do osi układu wsp. mająca więcej niż jeden odcinek wspólny z wielokątem.
Czyli dla przykładu z czegoś takiego: powstanie takie coś:
Mój aktualny pomysł, a raczej zalążek pomysłu jest taki:
- Posortować punkty według x-ów(i y jeśłi x równe)
- Omiataniem "przemielić" zbiór.
No i z tym mieleniem mam problem. Mam wrażenie, że tak naprawdę każdy(a przynajmniej większość punktów) na lini omiatającej poprzedzającej aktualną może mi napsuć i generować nowe kształty(nie jestem przekonany, czy to zdanie jest zrozumiałe ^^). Generalnie chodzi o to, że na razie każdy mój pomysł ma kosmiczną złożoność obliczeniową, co sugeruje, że mój tok rozumowania nie jest najlepszy/poprawny.