1 Regelbasierte Modellierung Eine weitere Methode zur Modellierung der Constraints ist die Regelbasierte Modellierung. Unter Anwendung von geeigneten Regeln werden die Punktkoordinaten sequentiell berechnet. Eine gegebene Menge von Constraint wird durch Rückführung auf einfachere geometrische Konstrukte gelöst. Der Ansatz benutzt dabei die Technik der Expertensysteme. Die geometrischen Elemente und die Constraints sind Fakten im Sinne der Expertensysteme. Durch die Anwendung von Produktionsregeln werden für bestimmte geometrische Konstellationen Koordinatenbestimmungen gemacht und damit Fakten auf einem höheren Niveau erzeugt. Dieser Prozess wird solange fortgeführt, bis entweder alle Koordinaten bestimmt sind oder keine Regel mehr angewandt werden kann. Ansätze in dieser Richtung stammen findet man u.a. in [Brüderlin85, Brüderlin93, Roller90, Verroust, Schonek, Roller, 1992]. Die folgende Darstellung orientiert sich an [Verroust, Schonek, Roller, 1992]. Betrachtet werden hierbei Linien mit ihren Endpunkten und Maßrestriktionen. Gekrümmte Elemente wie Kreise oder Kreisbögen werden auf Punktpaare zurückgeführt. Liegt z.B. ein Punkt auf einem Kreis, so ist der Abstand zwischen Punkt und Mittelpunkt des Kreises identisch mit dem Radius des Kreises. Auch die Bedingung dass 2 Kreise tangential sind sich wie im vorigen Kapitel gezeigt abbilden auf die Bedingung dass der Abstand der Mittelpunkt die Summe oder die Differenz der Radien ist. Ebenso kann, wie auch im vorigen Kapitel gezeigt, die Tangentialbedingung zwischen einer Geraden und einem Kreis durch den rechten Winkel im Tangentialpunkt definiert werden. Daher wird im Folgenden angenommen, dass alle Constraints in Maß- und Winkelrestriktionen übersetzt worden sind. Zur Beschreibung der geometrischen Beziehungen wird eine auf [Sunde87] zurückgehende Notation mit so genannten CASets und CD-Sets benutzt. Diese sind wie folgt definiert: • • Ein CA-Set ist eine Menge von Punktepaaren mit gegenseitig festgelegten Winkeln. Die Punktepaare können dabei auch gemeinsame Punkte haben. Ein CD-Set ist eine Menge von Punkten, deren Lage zu einander festgelegt ist. Die CD-Sets bilden jeweils einen Rigid, d.h. eine Konstruktion, die nur noch als ganzes verschoben oder gedreht werden kann. Die Beziehungen definieren jeweils einen CA- oder CD-Set. Durch die Regeln werden aus zwei oder mehreren CA- oder CD-Sets jeweils neue größere CA- bzw. CD-Sets erzeugt. Das Modell ist vollständig bestimmt, wenn alle Punkte zum selben CD-Set gehören. Diese Regeln haben die Form: WENN Bedingung DANN Konklusion Bedingung ist ein logischer Ausdruck, Konklusion erzeugt neue CA- bzw. CD-Sets. Die initialen Sets werden aus den Constraints abgeleitet: • WENN ein Winkel zwischen 2 Punktepaaren festgelegt wird, DANN wird ein CASet erzeugt. 2 • WENN ein Abstand Constraint zwischen 2 Punkten festgelegt wird, DANN wird ein CD-Set mit diesen beiden Punkten erzeugt. • WENN 2 Punkte fixiert sind, DANN wird ein CD-Set mit den beiden Punkten erzeugt und ein CA-Set mit den beiden Punkten und zwei Punkten auf der XAchse. Diese elementaren CA und CD Sets werden mit Hilfe der folgenden Konstruktionsregeln zusammengefasst. • WENN ein Punktepaar zu 2 verschiedenen CA Sets gehört DANN werden diese CA Sets zusammengefasst. Die folgenden Regeln beschreiben die Konstruktionsregeln für Dreiecke. • WENN 3 CD-Sets jeweils paarweise einen gemeinsamen Punkt haben DANN werden die CD-Sets vereinigt. (Dreieck aus 3 Strecken) C:\CadV orlesung\alter1.K OG 79.5 72.8 82.4 • WENN zwei CD-Sets einen gemeinsamen Punkt haben UND der gemeinsame Punkt und jeweils ein Punkt aus beiden CD-Sets in einen CA-Set sind, DANN werden die beiden CD-Sets vereinigt. (Dreieck Strecke, Winkel, Strecke) C:\CadV orlesung\alter2.K OG 72.8 61 82.4 WENN 2 CA Sets 2 Punkte gemeinsam haben, die in einem CD Set sind, DANN bilden die 3 Sets einen CD Set (Dreieck Winkel, Strecke, Winkel) 3 C:\CadVorlesung\alter3.KOG 82.4 WENN 2 CD Sets einen Punkt gemeinsam haben und in beiden CD Sets jeweils ein Punktepaar aus einem CA Set vorkommt DANN werden die Sets zu einem CD Set (Dreieck Winkel, Strecke, Strecke). C:\CadV orlesung\alter4.K OG 82.4 Eine andere Regel wird eingeführt um ein Winkel Constraint zwischen zwei nicht adjazenten CD Sets zu behandeln. Diese Regel erzeugt ein Viereck. WENN die 2 CD Sets, (A, B) und (C, D), keinen Punkt gemeinsam haben und zwischen ihnen die CA Sets (A, B, C),(B, C, D) und (C, D, A) existieren DANN werden die Sets zu einem CD Set vereinigt. C:\CA DV orlesung\alter5.K OG 4 Die Konstruktion des CD Sets (A, B, C, D) ist wie folgt möglich: C und D seinen vorgegeben. B liegt auf einer Linie, die durch C, D und den Winkel 107 gegeben ist. A liegt auf einer Linie, die durch C, D und den Winkel 93 gegeben ist. Der Abstand von A zur Linie B, C ist 72.8*sin(99). Damit liegt A auf einer Parallelen zu B, C mit diesem Abstand. Damit ist A bestimmt. Der Abstand von B zu A, D ist 72.8*sin(360-99-107-93). Damit liegt B aus einer Parallelen zu A, D mit diesem Abstand. Damit ist B bestimmt. Bei n Punkten hat man maximal 2*n-3 Constraints für die Form. Davon können maximal n-1 Winkel- Constraints sein. Einfache Modelle mit n-1 Winkel-Constraints und n-2 Abstand-Constraints. Dabei gibt es 2 Fälle: (1): Die CD-Sets sind alle adjazent. Dann wird aus den Sets ein CD-Set. C:\CadVorlesung\alter6.KOG 5 (2): Man hat 2 Set Mengen, die nicht adjazent sind. Dann erhält man zunächst 2 CDSets, die mit der Regel für die Vierecke vereinigt werden. Im Beispiel wird zunächst A, B, C zu einem CD Set zusammen gebracht. Die für das weitere Vorgehen relevanten Punkte sind A und C. Die Winkel A, C, D und C, A, E liegen fest. Damit kann das Viereck A, C, D, E berechnet werden. C:\CadVorlesung\alter7.KOG Die anderen Möglichkeiten einfache voll bestimmte einfache Modelle sind n-2 Winkel und n-1 Abstände bzw. n-3 Winkel und n Abstände. Auch diese lassen sich auf die obigen Regeln zurückführen. Im Folgenden sollen einige Klassen von Modellen beschrieben werden: • Loop Configuration Model Ein geometrisches System ist ein Loop Configuration Model (LC Model), wenn alle Linien, die in einer Abstands- oder Winkelrestriktion vorkommen eine einfache Schleife bilden. D.h. der Endpunkt einer Linie Beispiel: C:\cad95\lc.KOG Aus den Abstands Bemaßungen ergibt sich: 6 CD(1,2), CD(2,3), CD(3,4), CD(4,5) Aus den Winkel Bemassungen: CA(6,1,2), CA(1,2,3), CA(2,3,4), CA(3,4,5), CA(4,5,6) Die Anwendung der Regeln ergibt: CD(1,2)+CA(1,2,3)+CD(2,3) => CD(1,2,3) CD(1,2,3)+CA(2,3,4)+CD(3,4) => CD(1,2,3,4) CD(1,2,3,4)+CA(3,4,5) => CD(1,2,3,4,5) CD(1,2,3,4,5)+CA(6,1,2)+CA(4,5,6) => CD(1,2,3,4,5,6) // 2 Seiten 1 Winkel // 2 Seiten 1 Winkel // 2 Seiten 1 Winkel // 1 Seite 2 Winkel Compound Loop Configuration Model Ein geometrisches Modell ist ein Compound Loop Configuration Model (CLC-Modell), wenn es sich aus LC-Modellen zusammensetzt. Dabei müssen die LC-Modelle so geordnet werden können, dass die Restriktionen in jedem LC Modell auch in der Vereinigung der Vorgänger enthalten sind. C :\cad95\clc.K OG Initiale Sets: CD(1,2), CD(2,3), CD(3,4), CD(4,5), CD(6,1), CD(3,6) CA(6,1,2), CA(3,4,5), CA(4,5,6) Zunächst kann gebildet werden: 1. LC Set: CD(6,1)+CA(6,1,2)+CD(1,2) => CD(6,1,2) CD(6,1,2)+CD(2,3)+CD(3,6) => CD(1,2,3,6) 2. //2 Seiten 1 Winkel //3 Seiten LC Set: CD(3,4)+CA(3,4,5)+CD(4,5) => CD(3,4,5) Aus den beiden LC-Sets wird gebildet: //2 Seiten 1 Winkel 7 CD(3,4,5) => CA(4,5,3) // Wenn die Form von 3,4,5 festliegt ist der Winkel bei 5 bestimmt CA(4,5,3)+CA(4,5,6) => CA(3,5,6) CD(1,2,3,6)+CA(3,5,6)+CD(3,4,5) => CD(1,2,3,4,5,6)//2 Seiten 1 Winkel Allerdings gibt es auch Systeme, die sich nicht in LC Modelle zerlegen lassen. Diese haben zyklische Bezüge zwischen den LC Modellen. Beispiel: C:\cad95\clc2.K OG Bei allen vorkommenden Dreiecken sind jeweils nur 2 Constraints gegeben. Auch die Regel für Vierecke ist nicht anwendbar. Diese regelbasierte Methode hat ihre Begrenzungen. Ein endlicher Regelsatz kann nicht alle Fälle von Winkel- und Abstand Constraints zwischen n Punkten lösen. Die Regeln erlauben es aber die durch die Constraints gegebenen Gleichungen in eine Folge von Gleichungsmengen zu zerlegen, sodass nur jeweils die Gleichungen einer Menge gleichzeitig gelöst werden müssen. Dies entspricht den starken Komponenten bei der Graphen basierten Methode. Ein weiterer Nachteil ist, dass das Laufzeitverhalten der benutzten Expertensysteme i.A. nicht sehr gut ist. Daher ist es sinnvoll den Lösungsweg einer Konfiguration zu merken und bei einer Neuberechnung, z.B. nach Verschieben von Punkten oder Ändern von Werten, direkt zu benutzen.