a:
1
Atomaire acties
559
h
a. b.
Fig. 3. Snijdende segmenten.
alle segmenten begrenzen twee verschillende deel-
vlakken. Aangezien we het hebben over een opdeling
van het grondvlak, mag het niet zo zijn dat een seg
ment (deel van een grens) een begrenzing vormt van
een deelvlak met zichzelf (fig. 3c);
Fig. 3c. Doorsnijding van hetzelfde vlak is niet toegestaan.
alle segmenten maken deel uit van een minimale
grens van zowel het linker als het rechter deelvlak.
Onder een minimale grens van deelvlak X verstaan we
de grens die wordt gevormd als we, uitgaande van een
willekeurig segment dat deel uitmaakt van de grens
van X, „rondlopend" langs de volledige grens, X hele
maal omsluiten (dat wil zeggen, X ligt ofwel binnen
ofwel buiten de volledige grens). Of X volledig binnen
dan wel buiten de grens ligt, valt op te maken uit de
links/rechts informatie van de segmenten (fig. 4). Hier
vormt a-b-e-f-c-d-l-k een minimale (buiten)grens
van X en een minimale (binnen)grens van A, g-h-j-i
zowel een minimale (binnen)grens van X als een mini
male (buiten)grens van Z en b-e-f-c een minimale
(buiten)grens van Y. Alle segmenten van deze gren
zen moeten ook de goede links/rechts informatie
hebben. Neem bijvoorbeeld de grens g-h-j-i:
g-h moet aangeven dat X links en Z rechts ligt;
h-j (eigenlijk j-h) moet aangeven dat Z links en X
rechts ligt;
j-i moet aangeven dat X links en Z rechts ligt;
i-g moet aangeven dat X links en Z rechts ligt;
voor ieder deelvlak D moet gelden dat van de ver
zameling mogelijke minimale grenzen van D er één is
(zeg c) die een minimale buitengrens is van D. Voor
a
d
Y
P
q
A
e
f
h
B
X
Z
r
s
J
k
1
alle andere minimale grenzen van D moet gelden dat:
zij binnen c liggen;
een binnengrens zijn van D;
geen andere minimale grens van D bevatten.
We eisen dat er voor deelvlak X een buitengrens c is
van X (a-b-e-f-c-d-l-k) (fig. 4). De links/rechts infor
matie van deze grens moet zodanig zijn, dat X aan de
binnenzijde ligt. Voor alle andere minimale grenzen
van X (in dit voorbeeld alleen g-h-j-i), nemen we aan
dat voor de links/rechts informatie moet gelden:
alle minimale grenzen binnen c liggen (dit klopt
voor g-h-j-iHier wordt uitgesloten dat er even
tueel nog een binnengrens van X buiten de om
sluitende grens zou liggen;
alle minimale grenzen een binnengrens zijn van X
(dit klopt in het geval g-h-j-i!). Hier wordt uitge
sloten dat er, behalve c, een andere buitengrens
van X is;
alle andere minimale grenzen geen minimale grens
van X bevatten (dit klopt voor g-h-j-iI). Hier wordt
uitgesloten dat binnen Z nog een minimale grens
zit van X.
De gebruiker wijzigt de gegevens door middel van het uit
voeren van acties. Dergelijke acties kunnen bijvoorbeeld
zijn het verplaatsen van een segment en het toevoegen
of verwijderen van een segment. We beschouwen hier
alleen die acties, die eventueel van invloed kunnen zijn
op de consistentie van de gegevens. Deze acties zijn te
verdelen in drie klassen:
vormverandering van een grens;
samenvoegen van twee deelvlakken;
splitsen van een deelvlak.
Fig. 4. Deelvlakken en minimale grenzen.
NGT GEODESIA 90 - 12
Fig. 5. Wijzigen van rechte in boogstraal.
Vormverandering van een grens
De vorm van een grens kan op één van de volgende
manieren worden gewijzigd:
de vorm van een segment kan worden veranderd.
Hierbij wordt bijvoorbeeld een rechte in een boog ver
anderd of de kromming van een boog wordt aange
past (fig. 5). Hier kunnen problemen optreden, omdat
deelvlak Y eerst binnen X lag en na de operatie buiten
X komt te liggen. Als de links/rechts informatie van de
segmenten van Y niet wordt gewijzigd, is het bestand
inconsistent;
een knoop kan worden verschoven. Hierbij worden de
coördinaten van de knoop gewijzigd. De segmenten
die eindigen in de knoop, „bewegen" elastisch mee
(fig. 6). Hier kunnen problemen optreden, die equi
valent zijn met de problemen als gevolg van vorm
verandering;