4. 3. Grafik-Programmierung



Ähnliche Dokumente
Leere Zeilen aus Excel-Dateien entfernen

Graphic Coding. Klausur. 9. Februar Kurs A

Wie Sie mit Mastern arbeiten

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Aktivierung von Makros in den Erfassungshilfen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

GEONET Anleitung für Web-Autoren

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

Text-Bild-Link-Editor

Professionelle Seminare im Bereich MS-Office

Microsoft Outlook 2010 Handbuch

So wird s gemacht - Nr. 24

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Sie können auf der linken Seite die gewünschten Untergruppen wählen bis Sie zu einer Auflistung der ausgesuchten Artikel gelangen.

Einführung in die Programmierung

Einführung in die Programmierung (EPR)

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

1 Schritt für Schritt zu einem neuen Beitrag

Datenübernahme aus Fremdprogrammen

Installationsanleitung. Lohn Manager 9.5

Was ist neu? In diesem Kapitel: Die Oberfläche 24 Vorlagen, Schablonen und Shapes 25 Neue Arbeitstechniken 27

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

1. Trennlinie mit hr Eine dünne Trennlinie wie die obige in der Regio-Farbe (gelb) kann man recht einfach erstellen. Dafür reicht der Befehl

Tipps und Tricks zu den Updates

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

InSite-Webportal SCHNELL Anleitung

Navigation. Drucken Klicken Sie auf ein Symbol, um nähere Informationen zu erhalten. Papierhandhabung Anzeigen der Online-Informationen

GPS Garmin MapSource - Track erstellen und nutzen

Installations- und Bedienungsanleitung für Macro Excel_Table Version 10

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil)

SMS-Dienst SMS-Dienst procar informatik AG Stand: FS 04/2011 Eschenweg Weiterstadt 1

Zwischenablage (Bilder, Texte,...)

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Satzhilfen Publisher Seite Einrichten

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

ECDL 2007 Modul 3 MS Word 2007

Lubuntu als Ersatz für Windows

SIMULATION. example Data Transfer (XDT) Protocol. entwickelt im Rahmen der Bachelor-Arbeit. von. Tobias Weimann. User-Manual

Erste Schritte mit

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Bedienungshinweise für das Smartboard. Basisfunktionen

Wir lernen PowerPoint - Fortsetzung-Animationen

> Internet Explorer 7

Anwendungshinweise zur Anwendung der Soziometrie

Hilfestellung: P.A.P.A. die kaufmännische Softwarelösung. Teilrechnung mit einzelnen Rechnungen. Inhalt

Anwendungsbeschreibung an einem Beispiel

2. Im Admin Bereich drücken Sie bitte auf den Button Mediathek unter der Rubrik Erweiterungen.

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Histogramm und Wahrscheinlichkeitsnetz 1/16

Anleitung zur Verwendung der VVW-Word-Vorlagen

Grafischer Tischeplan

DDS-CAD Technik-Telegramm Ausgabe 3 - Dezember 2011

Definition und Begriffe

Produktschulung WinDachJournal

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

3. Drucken und Exporte

Professionelle Seminare im Bereich MS-Office

Umgang mit Schaubildern am Beispiel Deutschland surft

Eine Datei mit dem BvLArchivio -Plug-in archivieren

Raumbuch in AutoCAD Architecture 2014

Einführungskurs MOODLE Themen:

Word 2010 Grafiken exakt positionieren

Änderungen in Version 12

1 Mathematische Grundlagen

4.1 Wie bediene ich das Webportal?

FLASH IMAGESLIDER PROFESSIONELL 4

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

AutoCAD Dienstprogramm zur Lizenzübertragung

etax.schwyz: Suche nach Steuerfalldateien

Grundlagen. 1. Grundlagen

Wonneberger Homepage

BEDIENUNGSANLEITUNG: EINREICH-TOOL

3. auf Symbol klicken erstellt von Erika Völkel

Anleitung für Ingenieurbüros zur Erstellung von TGA-Plänen für AutoCAD und AutoCAD pit-cad

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Umwandeln und Exportieren von Adobe-Illustrator-Dateien in Illustrator für Artcut

Fakultät Angewandte Informatik Lehrprofessur für Informatik

Sichern auf den zentralen TSM-Servern unter Windows. Sichern auf den zentralen TSM-Servern unter Windows

DVB-T DA2 Hybrid Seite 1 von 10

Vortrag Postscript, Einführung, Koordinatgeometrie und Prozeduren

teamsync Kurzanleitung

1. Melden Sie sich als Administrator an und wechseln Sie zum Desktop

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Programmierkurs Java

MSXFORUM - Exchange Server 2003 > Archivierung mit Exchange eigenen Mitteln

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Diese CD ersetzt die ursprünglich auf der RAVE-CD enthaltenen Repair Operation Times (ROTs) und die auf der KSD-CD enthaltenen Fehlercodes.

Transkript:

4. 3. Grafik-Programmierung es gibt wenig Standards auch in C sind die zur Verfügung stehenden Grafik-Befehle abhängig vom Betriebssystem und von der verwendeten C- Erweiterung grundsätzliche Unterscheidung: 2D-Grafik, 3D-Grafik weitere Unterscheidung nach dem Zweck: Diagramme, Funktionsdarstellungen, Visualisierung von Messergebnissen grafische Benutzungsoberflächen (Fenster, Buttons, Slider...) Bildmanipulation Konstruktion (CAD) Architektur (virtuelle Gebäude, Landschaften...) Computerkunst Animation fotorealistische Darstellung Virtual Reality hier 2 Beispiele angedeutet (überblicksartig; zur praktischen Anwendung Handbücher und Internet-Seiten konsultieren): Borland Graphics Library für C/C++ VRML

4. 3. 1. Die Borland-Grafikbibliothek 2D-Grafik steht nur unter Borland C++ zur Verfügung nicht mehr letzter Stand der Technik (heute wird mehr mit OpenGL und anderen, stärker event-orientierten Libraries gearbeitet) aber leicht zu verstehen und schnell zu implementieren ähnliche Funktionen (mit ggf. anderer Notation) auch in anderen prozeduralen Sprachen, z.b. PostScript, wiederzufinden Nachteil: keine Interaktion mit der Maus vorgesehen für Maus-Eingabe müssen andere Libraries herangezogen werden Beispielprogramm: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main() int gdriver=detect, gmode, errorc, l, r, o, u; char txt[80]; /* Initialisieren der Grafik: */ initgraph(&gdriver, &gmode, "\\TC\\BGI\\"); /* Fehlermeldung bei fehlgeschlagener Initialisierung: */ errorc = graphresult(); if (errorc!= grok) printf("grafikfehler: %s\n", grapherrormsg(errorc)); printf("druecken Sie eine beliebige" "Taste!"); getch(); exit(1);

/* Positionieren des Grafik-Cursors: */ moveto(20, 30); /* Zeichnen einer diagonalen Linie von der aktuellen Position aus: */ lineto(40, 50); /* Setzen der Farbe für folgende Zeichenbefehle: */ setcolor(14); /* 14 = gelb */ /* Zeichnen einer Linie von (40; 50) bis (80; 90): */ line(40, 50, 80, 90); /* Zeichnen eines einzelnen Pixels bei Position (100, 50) mit Farbe 1: */ putpixel(100, 50, 1); /* Ausgabe eines Texts an der aktuellen Grafik-Cursor-Position: */ outtext("marke A"); /* Textausgabe an Position (200, 70): */ outtextxy(200, 70, "Marke B"); /* Ermitteln d. aktuellen Grafikcursor-Pos.: */ sprintf(txt, "(%d, %d)", getx(), gety()); outtextxy(200, 100, txt); /* Zeichnen eines Kreises mit Mittelpkt. (300, 100) und Radius 50: */ circle(300, 100, 50); /* Zeichen eines Rechtecks mit gegebener ob. linker und unt. rechter Ecke in der Mitte des Bildschirms: */ l = getmaxx()/2-50; o = getmaxy()/2-40; r = getmaxx()/2 + 50; u = getmaxy()/2 + 40; rectangle(l, o, r, u);

/* Warten auf Tastendruck, um Zeichnung betrachten zu lassen: */ getch(); /* Beendigen der Grafikanzeige: */ closegraph(); return 0; Es gibt weitere Befehle für Kreisbögen, Ellipsenbögen, Füllen von Recktecken und Polygonen, Wechseln zwischen Text- und Grafikmodus... siehe Handbuch. 4. 3. 2. VRML "Virtual Reality Modelling Language" Beschreibungssprache für VR-Szenen eigene Beschreibungssprache nicht unmittelbar mit C kompatibel VRML-Dateien sind Textdateien man kann mit C- Programmen VRML-Dateien schreiben lassen zur Ausführung der VRML-Dateien sind Internet-Browser geeignet (Microsoft Explorer, Netscape) aber mit Plugin (Zusatzsoftware, kostenlos) Spezifikation von 3D-Objekten und Szenen Seite mit Links zu verschiedenen Download-Sites: http://www.web3d.org/vrml/vrml.htm

VRML-Umfang: 3D-Grafik + Dynamik (Animation) + Interaktion + Klang + Internetfähigkeit VRML-Dateien Endung.wrl ("world") ASCII-Datei (genauer: ab V. 2.0 UTF-8 Zeichensatz gem. ISO 10646-1:1993) Aufbau einer VRML-Datei: Header (Version und Zeichensatzangabe, obligatorisch) Zeilenkommentare VRML-Knoten innerhalb der Knoten-Spezifikationen: Felder (= festgelegte Attributierungen von Knoten, denen Werte zugewiesen werden) PROTO-Statements ROUTE-Statements Zuordnung von Feldangaben zu Knoten mit geschweiften Klammern... Gruppierung von Knoten durch Gruppen-Knoten, "Kinder" in eckigen Klammern [... ]

Beispiel einer VRML 2.0 - Datei: #VRML V2.0 utf8 Shape geometry Box size 1 4 1 appearance Appearance material Material diffusecolor 0.5 0.5 0.5 enthält Seitenlängen (size) und Farbspezifikation (mittleres Grau; 3 Zahlenangaben: Rot-, Grün- und Blaukomponente). Ergebnis: (Vordergrund = Schaltfläche des VRML-Browsers, zur virtuellen Navigation)

weiteres Beispiel: Pyramide als Körper mit durch Punktindices definierten Facetten #VRML V2.0 utf8 Shape geometry IndexedFaceSet colorpervertex FALSE coord Coordinate point [ -2 0-2 # Ecke 0 2 0-2# Ecke 1-2 0 2 # Ecke 2 2 0 2 # Ecke 3 0 3 0 # Ecke 4 = Spitze ] coordindex [ 4 1 0-1, 431-1, 423-1, 402-1, 2013#Boden ] color Color color [ 1 0 0, 010, 001, 110, 101]

Ergebnis: Grundlegende Datenstruktur in VRML zur Beschreibung komplexerer Objekte und Szenen: Szenengraph Es gibt Objektknoten, Transformationsknoten (stehen für Drehungen, Verschiebungen etc.) und Gruppenknoten

jeder Knoten gilt nur für die im Graphen darunterliegenden Elemente z.b. wird im abgebildeten Beispiel t1 auf obj1 angewandt, aber nicht auf obj2. selbe Datenstruktur (weiter ausgebaut) auch in Java 3D (Java- Erweiterung für 3D-Grafik). Beispiel für Verwendung eines Transform-Knotens in VRML: #VRML V2.0 utf8 Transform translation 0 0-5 children [ Shape geometry Sphere radius 0.2 appearance Appearance material Material diffusecolor 1 0 0 ] beschreibt rote Kugel, die um 5 Längeneinheiten in negativer z-richtung verschoben ist. Szenengraph: