DOC

Werbung
11. Standardisierung, interaktive und
konstruktive Grafik
1. Grafische Standards
2. Grafische Eingabegeräte
3. Grafisches Kernsystem GKS
4. Datenaustauschformate
5. Makros und Variantenkonstruktion
6. Datenstrukturen
7. Parametrisierte Eingabesprache für die Konstruktion
8. Interaktive Routinen in JAVA3D
Grafische Standardisierung
GKS : Graphical Kernel System 1977
Deutschland als DIN 66252
API für 2D-Linear- und Vektorgrafik
plattform- und programmiersprachen-unabhängig
Extensible3D : X3D





2004
3D-Modellierungssprache, die auf XML oder VRML aufbaut
ist Nachfolger des VRML-Standards
seit 2004 ISO-Standard
virtuelle Welten, Spiele in Echtzeit
2005 soll X3D Bestandteil des MPEG4-Standard werden
 für X3D-Dateien ist ein Ergänzungsmodul (PLUGIN) für den Browser
erforderlich, um sie im Internet anschauen zu können
OPENGL : API für 3D-Grafik 1992
plattform- und programmiersprachen-unabhängig
250 Befehle für komplette Szenen in Echtzeit
muss für spezielle Konfiguration u. Sprache noch implementiert
werden, für gängige Systeme vorgefertigt
Grundlagen zur interaktiven Grafik
Die Eingabe grafischer Objekte
3 grundlegende Kommunikationsmodi (normiert im GKS):
1. Anforderungs-Modus (request mode)
das Programm fordert vom Eingabegerät Daten an und wartet
solange, bis diese eingetroffen sind
 dies erfordert u.U. eine Aktion des Benutzers (Interaktivität)
 Eingabegerät ist inaktiv, solange von der Applikation keine
Daten benötigt werden
 nach der Übertragung der angeforderten Daten wird das
Eingabegerät wieder in inaktiven Zustand versetzt
 d.h.: Interaktion dauert nur während der einzelnen
Anforderung an
Kontrollfluss-Schema:
2. Abfrage-Modus (sample mode)
Eingabegerät ist parallel zur Applikation die ganze Zeit aktiv
und aktualisiert laufend die gemessenen Daten.
 Daten stehen für das Programm jederzeit zur Verfügung
 keine Interaktion des Benutzers!
Kontrollfluss:
3. Ereignis-Modus (event mode)
 Programm und Eingabegerät arbeiten parallel und entkoppelt
 erfolgt am Eingabegerät eine Benutzereingabe, so werden
die Daten in einer Eingabewarteschlange (event queue) gespeichert (unter Beibehaltung der Reihenfolge: FIFO)
 jedes Datum führt die Information mit sich, von welchem
Eingabegerät es erzeugt wurde und zu welcher logischen
Eingabeklasse es gehört
 wenn das Programm eine Eingabe aus einer speziellen
Eingabeklasse benötigt, entnimmt es das nächste entspr.
Datum aus der Eingabeschlange
 ist noch kein entspr. Datensatz vorhanden, wird wie beim
Anforderungsmodus auf sein Eintreffen gewartet
 es stehen spezielle Funktionen zur Manipulation der
Eingabeschlange zur Verfügung (z.B. selektives Löschen
von Daten nach bestimmtem Zeitablauf)
Kontrollfluss:
Methoden der interaktiven Eingabe grafischer Daten:
 Eingabesprache (Kommandosprache):
Der Konstrukteur gibt Kommandos zum Zeichnen ein.
Vorteile:
Flexibilität;
Mächtigkeit der Sprache;
Präzision;
Speicherung der Kommandofolgen ist einfach;
Parametrisierung von Konstruktionen durch Verwendung von
Parametern ist auf übersichtliche Weise möglich –
Aufruf mit aktuellen Parametern ergibt eine spezielle,
auftragsgebundene Konstruktion.
Nachteile: Aufwand zum Erlernen der Sprache; Notwendigkeit
der Abstraktion
 Dialog:
Der Konstrukteur erhält vom Programm ein Angebot möglicher
grafischer Leistungen (Menü, Toolbox, Buttons mit Icons,
Hotkeys), aus dem er auswählen kann. Zusätzlich interaktive
Manipulation von grafischen Objekten am Bildschirm möglich
("Anklicken").
Vorteile: intuitive Bedienbarkeit, unmittelbarere Form der Interaktivität, Übersetzung in Zeichenketten entfällt
Nachteile: Aufwändige GUI; starrer; geringere Präzision.
Eingabetechniken beim Dialog:
Positionierung von Objekten, die in einem Menü angeboten
werden
Positionierung direkt am Cursor – Vereinbarung: Cursor-"hot
spot" entspricht dem Mittelpunkt des Objekts
oder:
Beziehung zwischen Cursor und Objekt wird beim Anklicken im
Menü festgelegt:
Eingabe einer Linie:
oft sinnvoll: Fangraster (bei den meisten Systemen ein- und
ausschaltbar):
ebenso wichtig: "Fangwirkung" bei schon konstruierten
Punkten, wenn neue Linien an diese anknüpfen sollen
 sonst Problem der Lückenhaftigkeit von Zeichnungen
 Fangwirkung muss aber auch regelbar bzw. abschaltbar
sein
Rubberband-Technik zur interaktiven Definition einer Linie bzw.
eines achsenparallelen Rechtecks:
(gepunktete Linie = Verlauf der Cursorbewegung)
dasselbe für die schrittweise Definition eines Kreisbogens:
zunächst Def. von Anfangs- und Endpunkt, dann interaktive
Veränderung des Bogens
interaktive Definition von Linienzügen (Polylinien) und
Balkendiagramm:
(aus Fellner 1992)
Makros
 Entwurf neuer Bauteile ist in vielen Bereichen kein Vorgang,
der beim "leeren Zeichenbrett" (leeren Monitor) beginnt:
DIN-Vorschriften, Standards, betriebseigene Festlegungen
erfordern oft die Benutzung bereits konstruierter Teile
Ein Makro ist (im Zusammenhang mit CAD) ein in Gestalt und
Dimension fest abgespeichertes Bauteil (bzw. die fest
abgespeicherte Konstruktionsfolge zu dessen Erzeugung).
 Einfügen in die Zeichung durch Aufruf und Laden aus einem
Speicher
 Positionierung in der Zeichnung (Verschieben, Drehen,
Spiegeln, Duplizieren)
Beispiel: Symbole in der Elektrotechnik, in der Gebäudeausrüstung, kartografische Symbole; standardisierte Bauteile
mit häufiger Verwendung
Arbeitsgänge zur Herstellung eines Makros:





interaktive Erstellung des Makros als Zeichnung
Abspeichern unter einem Namen
Entwurf eines Menüblattes
Abspeichern des Menüblattes unter einem Namen
Einordnung des Makros unter das Menüblatt (logische
Verknüpfung)
 Herstellung der Funktionalität zur Auswahl des Makros aus
dem Menüblatt in die aktuelle Zeichnung (semantische
Verknüpfung)
Variantentechnik
In den meisten CAD-Anwendungen gibt es Teilefamilien.
Maßvarianten: Gestalt stets konstant, nur Maße ändern sich
Gestaltvarianten: Gestalt und Maße ändern sich. Es ist ein
Grundprogramm erforderlich, das in Abhängigkeit von den
Eingabeparametern ggf. die notwendigen Fallunterscheidungen
trifft, um die korrekte Gestalt der Variante zu generieren.
Erfordernis für die automatische Verwaltung der Bemaßung in
CAD-Zeichnungen:
assoziative Bemaßung
d.h. bei Änderung der Gestalt wird automatisch die Maßkette
aktualisiert
Standardisierung in der 2D-Grafik: Das Grafische
Kernsystem (GKS)
Durch die GKS-Norm (ISO 7942) wurde eine genormte
Schnittstelle für die Vielfalt grafischer Anwenderprogramme und
Geräte geschaffen.
 GKS besteht aus einer Reihe von Funktionen, die zunächst
sprach- und geräteunabhängig definiert sind.
 Das Gesamtsystem der Funktionen wird in mehrere
Leistungsstufen unterteilt; je nach Anwenderanforderung
und Geräte-Ausstattung kann eine bestimmte
Leistungsstufe ausgewählt werden.
 Die Funktionen behandeln: Darstellungselemente, Attribute,
grafische Arbeitsstationen, Transformationen, Bildstruktur,
grafische Eingabe, Bilddateien, Abfragefunktionen.
Zu einer Beschreibung einer Funktion gehört:
 Name
 Anzahl, Datentypen und Bedeutung der Parameter
 Wirkung der Funktion: Änderung der grafischen Darstellung,
Rückgabe von Werten ans Anwenderprogramm, Änderung
des GKS-Zustandes, Fehlerbedingungen und -meldungen.
Abfragefunktionen (inquire functions) geben Informationen über
den Zustand des GKS-Systems (z.B. gesetzter Linientyp, aktive
Arbeitsstationen etc.).
Darstellungselemente im GKS:





Polyline
Polymarker
Füllgebiet (fill area)
Zellmatrix (cell array)
allgemeines Zeichenelement (GDP = general drawing
primitive)
 Text
Jedes Darstellungsprimitiv kann mit Attributen näher
beschrieben werden (z.B. Linienart, Linienbreite, Farbe etc.).
Attribute können global oder arbeitsstationsspezifisch vergeben
werden. Zusammengehörige Attribut-Sätze können in
"Bündeltabellen" abgespeichert werden.
Segmente (Gruppen):
Alle Darstellungselemente einer Zeichnung können beliebig zu
größeren Einheiten, den Segmenten, zusammengefasst
werden.
Ein Segment kann
 geschlossen transformiert werden (verschieben, drehen
usw.)
 wieder in Primitive zerlegt werden
 identifiziert werden (picking)
 Prioritäten bei Überlagerung erhalten
 weitere Segmente in sich aufnehmen
 in einem Segmentspeicher abgelegt werden
Koordinatensysteme:
Weltkoordinatensystem (WKS)
anwendungsspezifische Koordinaten, Maßeinheit beliebig;
können je nach Fachgebiet und Problem auf bestimmte
Intervalle begrenzt sein, müssen es aber nicht
Normalisiertes Koordinatensystem (NKS)
Standardfenster mit Koordinaten [0; 1]  [0; 1]
Gerätekoordinatensystem (GKS)
Erst für die Ausgabe der Zeichnung auf ein konkretes
Ausgabegerät wird ein gerätespezifisches Fenster definiert;
Bemaßung in Pixeln oder anderen, gerätespezifischen
Einheiten
Das Grafische Kernsystem stellt Transformationsfunktionen für
die Umrechnung bereit (WKS  NKS  GKS).
Arbeitsstationen-Konzept:
Das GKS def. abstrakte Arbeitsstationen, die für Eingabe-,
Ausgabe- oder E/A-Geräte stehen können. Spezifische
Fähigkeiten werden in Arbeitsstations-Beschreibungstabellen
gespeichert. Eine Arbeitsstation kann geschlossen, geöffnet
oder aktiv (= die aktuelle Zeichnung ausgebend) sein.
Dateiformate für die Speicherung und den Austausch von
Zeichnungen/Grafiken
Formate für die Vektorgrafik :
1. HPGL : Hewlett Packard Graphics Language
für Stiftplotter, ASCII-Dateien
2. PostScript : ADOBE Systems INC 1982
Seitenbeschreibungssprache
3. DXF : AUTOCAD/AUTODESK Data eXchange Format
ASCII-Datei aus 4 Sektionen
4. CGM : Computer Graphics Metafile
GKS Standard ISO 8632 - 1992
ASCII- und Binärdateien
bei kleinen Zeichnungen schon große Datenmengen
5. IGES : Initial Graphics Exchange Standard
Format für den Austausch in CAD/CAE-Systemen
mit Produkt- und Herstellungsinformationen
strukturierte ASCII- oder Binärdatei
6. STEP : Standard for the Exchange of Product Model Data
soll IGES ablösen
7. WMF : WINDOWS Metafile Format
Binärformat für das Graphics Device Interface (GDI)
von Microsoft/Windows Produkten
8. VRML: Virtual Reality Modelling Language
Sprache für 3D-Objekte mit Einbindung von Multimedia
Formate für die Rastergrafik :
1. BMP : Bitmap
Binär codiertes Rasterdatenformat mit Lauflängencodierung
in Windows und OS/2 für IBM-kompatible Computer
2. GIF : Graphics Interchange Format 1987
Aufnahme in die HTML-Spezifikation
3. TIFF : Tagged Image File Format
Verwendung beim Fax
4. IFF :
Interchange File Format 1985
Einbeziehung von Multimedia
5. JPEG : JOINT PHOTOGRAPHERS EXPERT GROUP
Standard ISO-10918 von der CCITT
Universelles Austauschformat Internet / WWW von 1993
mit Kompressionsverfahren separat für die drei Farbkanäle
verlustfreie oder verlustbehaftete Kompressionsvariante
Herunterladen