3.2 Determina¸c˜ao da Parti¸c˜ao por Varrimento
3.2.4 An´alise detalhada de eventos
Utilizaremos as letras α, β e γ para representar partes (ou a totalidade) do estado da linha de varrimento. Por exemplo, “α ⇒ α, e” indica que do estado α se obt´em α, e. Ou seja, indica que o estado da linha de varrimento inicial ´e α e que ap´os a an´alise do p-segmento e e actualiza¸c˜ao do estado da linha de varrimento se obt´em α, e. Este estado traduz uma actualiza¸c˜ao em que o p-segmento e foi adicionado ao final do estado da linha de varrimento inicial.
Nas figuras que acompanham a descri¸c˜ao da an´alise de casos, os p-segmentos assinalados a cinzento constituem o estado actual da linha de varrimento.
An´alise sequencial de casos
A descri¸c˜ao seguinte requer uma leitura sequencial: a condi¸c˜ao indicada em cada caso pres- sup˜oe j´a a n˜ao verifica¸c˜ao das condi¸c˜oes que definem os casos precedentes. `A semelhan¸ca do que acontece na descri¸c˜ao das implementa¸c˜oes doutros algoritmos geom´etricos, o n´umero de casos em que se divide acaba por n˜ao facilitar a sua leitura. Para futura referˆencia e completude do texto, opt´amos por incluir esta an´alise exaustiva de casos, a qual poder´a ser ´util a algu´em interessado em efectuar uma implementa¸c˜ao do m´etodo.
Seja e = (a, b) o p-segmento activo do evento e e0 = (a0, b0) o seu sucessor, se existir. Seja
E = (A, B) o primeiro p-segmento do estado da linha de varrimento tal que a ≤ B. O p-segmento que segue E ser´a designado por E0 = (A0, B0), caso exista.
1. a > Bf. O ´ındice f significa que Ef = (Af, Bf) ´e o ´ultimo p-segmento de ELV . Como
a > Bf, o p-segmento e est´a al´em do ´ultimo p-segmento do ELV . N˜ao h´a altera¸c˜oes
na estrutura que representa a parti¸c˜ao. ELV ´e actualizado tal como exemplifica a Figura 3.16: α ⇒ α, e. e (a) Ef (b) l a b Bf Af
Partic¸˜ao de Pol´ıgonos Ortogonais 45 2. b < A. N˜ao h´a sobreposi¸c˜ao entre os p-segmentos e e E. A estrutura que repre- senta a parti¸c˜ao n˜ao sofre altera¸c˜oes. Actualizamos ELV como a Figura 3.17 ilustra:
α, E, β ⇒ α, e, E, β. (a) e (b) E l a b B A
Figura 3.17: (a) Caso b < A. (b) ELV no final da an´alise do p-segmento e.
3. a = A e b = B. O p-segmento e origina o fecho uma pe¸ca. Como podemos observar na Figura 3.18, essa ´e a ´unica opera¸c˜ao a realizar sobre a estrutura que representa a parti¸c˜ao. A actualiza¸c˜ao de ELV ´e tal como exemplificado na Figura 3.18: α, E, β ⇒
α, β. e E (a) (b) l a b B A
Figura 3.18: (a) Caso a = A e b = B. (b) ELV no final da an´alise do p-segmento e. 4. a = A e b < B. Neste caso, prolongamos o segmento e a partir de b. Podemos ter
um de trˆes casos 4.1, 4.2 e 4.3, tal como est´a exposto nas Figuras 3.19 a 3.21.
(a) e E (b) l a b B A
Figura 3.19: (a) Caso a = A e b < B e n˜ao existe sucessor de e. (b) ELV no final da an´alise do p-segmento e.
46 Partic¸˜ao de Pol´ıgonos Ortogonais 4.1 Al´em de a = A e b < B, n˜ao existe sucessor de e. A Figura 3.19 exemplifica
este caso.
4.2 Al´em de a = A e b < B, existe e0 sucessor de e e ´e tal que a0 > B. Esta situa¸c˜ao
est´a ilustrada na Figura 3.20.
(a) e E (b) e’ l a b B A a’ b’
Figura 3.20: (a) Caso a = A e b < B e o sucessor de e ´e tal que a0 > B. (b) ELV no final
da an´alise do p-segmento e.
Os casos 4.1 e 4.2 s˜ao tratados do mesmo modo: prolongamos o p-segmento e at´e B. Esta extens˜ao ir´a fechar uma pe¸ca. Al´em desta opera¸c˜ao, ´e tamb´em necess´ario criar pontos de Steiner e dividir arestas. Observando as Figuras 3.19 e 3.20, verificamos que ELV ´e actualizado de igual modo em ambos os casos:
α, E, β ⇒ α, (b, B), β.
4.3 No caso da Figura 3.21 prolongamos o p-segmento e at´e a0. Esta extens˜ao ir´a
limitar parte duma pe¸ca. Esta pe¸ca ´e fechada quando a0 = B, se existir algum e0
tal que isso se verifique, ou quando a extens˜ao do p-segmento e atingir B.
(a) e E e’ (b) l a b B A a’ b’
Figura 3.21: (a) Caso a = A e b < B e o sucessor de e ´e tal que a0 ≤ B. (b) ELV no final
da an´alise do p-segmento e.
A actualiza¸c˜ao de ELV ter´a em conta a possibilidade de haver novos p-segmentos que ir˜ao ocupar o lugar do p-segmento E no ELV . Assim, ELV ´e actualizado:
α, E, β ⇒ α, (b, a0), γ em que γ representa o resto de ELV ainda a calcular
Partic¸˜ao de Pol´ıgonos Ortogonais 47 no ELV com a elimina¸c˜ao ou n˜ao de segmentos l´a existentes no in´ıcio da an´alise do p-segmento corrente. Continuamos a an´alise no caso 7 a partir de e0 para
obter γ.
5. a < A. Significa que b = A. Prolongamos o p-segmento e a partir de b. Tal como no caso 4 existem trˆes possibilidades. A Figuras 3.22 a 3.24 ilustram estas trˆes situa¸c˜oes. 5.1 Al´em de a < A, n˜ao existe sucessor de e. Esta situa¸c˜ao ´e an´aloga ao caso 4.1 e
est´a ilustrada na Figura 3.22.
(a) e E (b) l a b B A
Figura 3.22: (a) Caso a < A e n˜ao existe sucessor de e. (b) ELV no final da an´alise do
p-segmento e.
5.2 Al´em de a < A, existe e0 o sucessor de e e ´e tal que a0 > B. Este caso ´e
semelhante ao caso 4.2, estando exemplificado na Figura 3.23.
(a) e E (b) e’ l a b B A a’ b’
Figura 3.23: (a) Caso a < A e o sucessor de e ´e tal que a0 > B. (b) ELV no final da
an´alise do p-segmento e.
5.3 Al´em de a < A, existe e0 sucessor de e e ´e tal que a0 ≤ B. A Figura 3.24 ilustra
este caso que ´e an´alogo ao caso 4.3.
O tratamento de cada uma das situa¸c˜oes ´e an´alogo `as suas correspondentes no caso referido. Assim, a actualiza¸c˜ao de ELV para os exemplos da Figura 3.22 e da Fi- gura 3.23 fica α, E, β ⇒ α, (a, B), β. No exemplo da Figura 3.24 a actualiza¸c˜ao do
48 Partic¸˜ao de Pol´ıgonos Ortogonais (a) e E (b) e’ l a b B A a’ b’
Figura 3.24: (a) Caso a < A e o sucessor de e ´e tal que a0 ≤ B. (b) ELV no final da
an´alise do p-segmento e.
estado da linha de varrimento ´e α, E, β ⇒ α, (a, a0), γ em que γ representa o mesmo
que em 4.3. Nesta situa¸c˜ao, continuamos a an´alise caso 7, a partir de e0 para obter γ.
6. A < a. Como exemplificado na Figura 3.25, prolongamos o p-segmento e desde A at´e a. Esta extens˜ao ir´a limitar parte duma pe¸ca. Actualizamos ELV : α, E, β ⇒
α, (A, a), γ em que γ representa a inc´ognita que ´e o restante estado da linha de
varrimento. Prosseguimos a an´alise no caso 7 com os p-segmentos e e E.
E e l (a) (b) e a A
Figura 3.25: (a) Caso A < a. (b) Neste momento, apenas conhecemos parte do novo ELV . A an´alise do p-segmento e ainda n˜ao est´a conclu´ıda.
7. 7.1 b < B. Prolongamos o p-segmento e a partir de b, sendo a an´alise an´aloga `a do caso 4.3.
7.2 b = B. O actual ELV ´e α, (A, a), γ em que A representa o extremo inferior do
p-segmento (A, a). Como neste momento n˜ao h´a novos p-segmentos a acrescentar
a ELV , podemos escrever o novo estado da linha de varrimento α, (A, a), β. Como podemos observar na Figura 3.26 (a), o p-segmento e fecha uma pe¸ca. 7.3 a = B e b < A0. Como n˜ao h´a novos p-segmentos a acrescentar a ELV escreve-
Partic¸˜ao de Pol´ıgonos Ortogonais 49 7.4 a = B e b = A0. Prolongamos o p-segmento e a partir de b. Fazendo E = E0 a
an´alise ´e an´aloga `a do caso 5. A Figura 3.26 (c) exemplifica a actualiza¸c˜ao de
ELV : α, (A, a), γ ⇒ α, (A, b), γ
e E’ e E’ (a) (b) e (c) a b B B A’ B A’ a b a b Figura 3.26: (a) b = B (b) a = B e b < A0 (c) a = B e b = A0