Grundlagen der 3D-Computergrafik Programmieren mit OpenGL
|
|
|
- Frida Beck
- vor 10 Jahren
- Abrufe
Transkript
1 Grundlagen der 3DComputergrafik Programmieren mit OpenGL Marc Wagner 13. November 1998 Was ist OpenGL? OpenGL (Open Graphics Library) ist ein Softwareinterface zum Erzeugen schneller, bewegter 3D Computergrafiken, das in etwa 120 verschiedene Funktionen zur Verfügung stellt. OpenGL ist hardware und betriebssystemunabhängig, was den Vorteil hat, daß ein OpenGLProgramm auf verschiedenen Rechnern beziehungsweise Betriebssystemen lauffähig ist. Als Konsequenz daraus ergibt sich jedoch, daß OpenGL keine Funktionen zur Verwaltung von zum Beispiel Fenstern oder Benutzereingaben zur Verfügung stellt. Es ist jedoch möglich zu diesem Zweck selbst eine Library zu entwerfen oder eine bereits existierende zu verwenden (zum Beispiel glaux.lib für Windows 95). Darüber hinaus gibt es noch die hardware und betriebssystemunabhängige OpenGL Utility Library (GLU), die weitere nützliche Grafikfunktionen zur Verfügung stellt, und somit für mehr Benutzerfreundlichkeit sorgt. Es existieren OpenGLImplementationen für verschiedene Programmiersprachen. Die Beispiele in diesem Skript wurden jedoch ausschließlich mit C++ erstellt. Die OpenGLCommandSyntax Alle OpenGLFunktionen beginnen mit gl, alle OpenGLKonstanten mit GL_. Manche Funktionen bestehen in mehreren Versionen, die sich in der Anzahl und der Art ihrer Parameter unterscheiden, im Wesentlichen jedoch das gleiche leisten. In einem solchen Fall wird nach dem Funktionsnamen noch die Anzahl der Parameter, gefolgt von einer Abkürzung des Parametertyps angegeben. Ein eventuell folgendes v signalisiert, daß die sogenannte Vektorversion verwendet wird, das heißt, die Parameter werden nicht einzeln angegeben sondern in einem Array gespeichert, wobei der Funktion ein Zeiger auf dieses Array übergeben wird. Zum Beispiel erzielen die drei Zeilen glvertex2i(1, 3); // Funktion erwartet zwei 32bitinteger Werte glvertex3f(1.0, 3.0, 0.0); // Funktion erwartet drei 32bitfloatingpoint Werte GLfloat array[2] = {1.0, 3.0}; glvertex2fv(array); // Funktion erwartet einen Zeiger das gleiche Resultat. Darüber hinaus stellt OpenGL Äquivalente zu den meisten Grunddatentypen zur Verfügung, wie zum Beispiel GLfloat oder GLint, die ebenfalls alle mit den Buchstaben GL beginnen. Diese sollten im Sinn der problemlosen Portierbarkeit von OpenGLProgrammen wann immer möglich verwendet werden. Das Erstellen dreidimensionaler Objekte Der erste Schritt auf dem Weg zu einem 3DComputerbild besteht darin, die Objekte, die später zu sehen sein sollen, in einem, dem Computer verständlichen, Format zu definieren. Diese dreidimensionalen Objekte, setzen sich in OpenGL ausschließlich aus Polygonen zusammen. Polygone wiederum werden durch Angabe ihrer Eckpunkte spezifiziert. Ein Würfel zum Beispiel besteht aus sechs Polygonen, definiert jeweils durch vier Eckpunkte. Wie werden Punkte im dreidimensionalen Raum definiert? Jeder dreidimensionale Punkt in OpenGL wird durch einen Vektor, bestehend aus vier Komponenten beschrieben, sogenannten homogenen Koordinaten. Der Vektor (x, y, z, w) T beschreibt den Punkt, mit xkoordinate x/w, ykoordinate y/w und zkoordinate z/w im dreidimensionalen Raum. OpenGL verwendet das rechtshändige 1
2 Koordinatensystem, bei dem die xachse nach rechts, die y Achse nach oben und die zachse auf den Betrachter zeigt. Die wkoordinate ist bei verschiedenen Matrizenabbildungen notwendig, wie zum Beispiel der Translation, hat jedoch bei der Angabe von Punkten im Normalfall den Wert 1. Um einen Vektor in OpenGL anzugeben verwendet man die Funktion glvertex*(). void glvertex{2 3 4}{s i f d}[v](type coords); Dient der Angabe eines Punktes durch zwei bis vier Koordinaten (x, y, z, w). Bei Verwendung von weniger als vier Parametern wird w auf 1, bei Verwendung von weniger als drei Parametern z auf 0 gesetzt. glvertex*() muß zwischen glbegin() und glend() aufgerufen werden. Zum Beispiel gibt der Befehl glvertex2f(1.5, 4.0); den Vektor (1.5, 4.0, 0.0, 1.0) T an. Was muß bei der Definition von Polygonen beachtet werden? Polygone in OpenGL müssen konvex sein. Ein Polygon ist konvex genau dann, wenn jede Linie zwischen zwei belieben Punkten im Inneren des Polygons ebenfalls in dessen Inneren liegt. Natürlich ist es möglich nichtkonvexe Polygone zu erstellen, indem man verschiedene konvexe Polygone in geeigneter Weise zusammensetzt. Ferner müssen die Eckpunkte eines Polygons in einer Ebene liegen. Ist dies nicht der Fall, würde ein konvexes Polygon von einem bestimmten Blickwinkel aus betrachtet zu einem nichtkonvexen Polygon werden. Eine einfache Methode, dieser Schwiergkeit zu entgehen, besteht darin, Objekte nur aus Dreiecken aufzubauen, da drei Punkte stets in einer Ebene liegen. Außerdem sollte beachtet werden, daß Polygone eine Vorderund eine Rückseite haben. Erscheinen die Vektoren eines Polygons gegen den Uhrzeigersinn, betrachtet man die Vorderseite, erscheinen sie im Uhrzeigersinn, die Rückseite. Bedeutung gewinnt dieser Sachverhalt dadurch, daß man verschiedene Einstellungen, die grafische Darstellung betreffend, für Vorderund Rückseiten vornehmen kann. Es ist daher zu empfehlen, bereits bei der Erstellung von Objekten die Ausrichtung der Polygone einheitlich zu gestalten, da es meistens sehr zeitaufwendig ist, dies im nachhinein zu korrigieren. 2
3 Wie werden Polygone definiert? Polygone werden durch Angabe Ihrer Eckpunkte in Vektorform zwischen den Funktionen glbegin() und glend() definiert. void glbegin(glenum mode); Markiert den Anfang einer Liste von Vektoren. Der Parameter mode gibt die Art und Weise an, in der diese Vektoren verarbeitet werden. void glend(void); Markiert das Ende einer Liste von Vektoren. Zum Beispiel definiert die Befehlsfolge glbegin(gl_polygon); glvertex3f(1.0, 0.0, 0.0); glvertex3f(0.0, 1.0, 0.0); glvertex3f(2.0, 0.0, 1.0); glend(); ein Dreieck mit den Eckpunkten (1.0, 0.0, 0.0) T, (0.0, 1.0, 0.0) T und (2.0, 0.0, 1.0) T. Wie werden Objekte mit gekrümmten Oberflächen dargestellt? Da sich die Oberfläche eines Objekts in OpenGL ausschließlich aus Polygonen zusammensetzt, scheint es auf den ersten Blick unmöglich, Objekte mit gekrümmten Oberflächen, wie zum Beispiel eine Kugel darzustellen. Dies wäre jedoch ein gewaltiger Nachteil, da in der realen Welt die meisten Objekte irgendwelche Rundungen aufweisen. Man behilft sich, indem man sehr viele kleine Polygone verwendet. Diese approximieren die gewünschte Oberfläche ziemlich genau, und erwekken dadurch den Anschein einer Rundung. 3
4 Wie wird die Farbe eines Polygons ausgewählt? In OpenGL existieren zwei grundlegend verschiedene Methoden, eine gewünschte Farbe zu spezifizieren, der RGBAMode und der ColorIndexMode. Um hier die richtige Entscheidung treffen zu können, ist ein gewisses Basiswissen, Computerfarben betreffend, erforderlich. Farben auf einem Computerbildschirm Ein Computerbild besteht aus einer Ansammlung von Bildpunkten, sogenannten Pixeln. Ein Pixel ist der kleinste Bereich auf einem Computerbildschirm, dem eine bestimmte Farbe zugewiesen werden kann. Jeder Pixel auf dem Monitor sendet eine gewisse Menge an rotem, grünem und blauem Licht aus. Durch geeignete Kombination der einzelnen Farbanteile kann jede vom menschlichen Auge wahrnehmbare Farbe dargestellt werden. Eine gewisse Vorstellung, welche Kombinationen welche Farben erzeugen, vermittelt ein Blick auf den hier abgebildeten Farbwürfel. Zum Beispiel ergibt eine Mischung von rotem und grünem Licht die Farbe gelb. Der RGBAMode Der RGBAMode ist der wesentlich häufiger verwendete Modus. Eine gewünschte Farbe wird spezifiziert, indem man den jeweiligen Anteil an rotem (R), grünem (G) und blauem (B) Licht direkt angibt. Der vierte Wert, der sogenannte Alpha Wert (A), dient vorwiegend dem Blending, einer Technik, die einem Objekt eine gewisse Transparenz zuweist. Mit der Funktion glcolor*() legt man die gegenwärtige Objektfarbe fest. void glcolor{3 4}{b s i f d ub us ui}[v](type colors); Setzt die gegenwärtige Objektfarbe gemäß der angegebenen Parameter (R, G, B, A), die bis zum nächsten Aufruf dieser Funktion beibehalten wird. Bei Gleitkommazahlen bedeutet 1.0 das Maximum, 0.0 das Minimum des entsprechenden Farbanteils. Bei Angabe von nur drei Parametern wird der AlphaWert automatisch auf 1.0 gesetzt. Zum Beispiel werden nach dem Befehl glcolor3f(1.0, 1.0, 0.0); alle Objekte gelb gezeichnet, solange bis die nächste Farbänderung stattfindet. Einige Techniken, wie zum Beispiel Lighting, TextureMapping oder Fog, können nur bei Verwendung des RGBAMode voll ausgenutzt werden. Der ColorIndexMode Der ColorIndexMode verwendet eine sogenannte Palette. Eine Palette ist eine Ansammlung von Farben, wobei jeder Farbe eine eindeutige Zahl zugeordnet ist, ihr Index. Paletten werden vom jeweiligen Betriebssystem verwaltet. OpenGL stellt daher auch keine Funktionen, das Erstellen und Verändern von Paletten betreffend, zur Verfügung. Eine Farbe wird im ColorIndexMode einfach über ihren Palettenindex angegeben, mittels der Funktion glindex*(). void glindex{s i f d}[v](type index); Zum Zeichnen von Objekten wird nach diesem Aufruf die dem Parameter index entsprechende Palettenfarbe verwendet. Sie wird bis zum nächsten Aufruf dieser Funktion beibehalten. Es gilt zu beachten, daß man durch Ändern einer Palettenfarbe, mit der bereits Objekte gezeichnet wurden, auch deren Farben verändert. Im ColorIndexMode können manche Möglichkeiten von OpenGL, wie zum Beispiel Lighting, TextureMapping oder Fog nur eingeschränkt oder gar nicht verwendet werden. 4
5 Ein Beispiel: Definition eines mehrfarbigen Würfels Die folgende Funktion Cube() erstellt einen mehrfarbigen Würfel im RGBAMode. Die Ausrichtung der sechs Polygone wurde auf eine Weise konstant gehalten, daß ihre Vorderseiten nach außen, ihre Rückseiten ins Innere des Würfels weisen. void Cube(void) { glcolor3f(1.0, 0.0, 0.0); // Vorderseite in Rot glbegin(gl_polygon); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glend(); glcolor3f(0.0, 1.0, 0.0); // Rückseite in Grün glbegin(gl_polygon); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glend(); glcolor3f(0.0, 0.0, 1.0); // Linke Seite in Blau glbegin(gl_polygon); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glend(); glcolor3f(1.0, 1.0, 0.0); // Rechte Seite in Gelb glbegin(gl_polygon); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glend(); glcolor3f(1.0, 0.0, 1.0); // Oberseite in Magenta glbegin(gl_polygon); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glend(); } glcolor3f(0.0, 1.0, 1.0); // Unterseite in Cyan glbegin(gl_polygon); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glvertex3f(0.5, 0.5, 0.5); glend(); Die KameraAnalogie Ein Foto zu machen hat viel gemeinsam mit dem Erstellen eines dreidimensionalen Computerbildes. Man plaziert die Kamera und die zu fotografierenden Objekte an geeigneter Stelle und richtet die Kamera auf den gewünschten Zielpunkt aus. Diesem Vorgang entsprechen bei OpenGL die sogenannten Viewing und Modeling Transformations, die die Objekte relativ zu einer imaginären Kamera anordnen. Dann ist es bei einer echten Fotografie noch wichtig, ein entsprechendes Objektiv zu wählen, damit später genau der gewünschte Ausschnitt auf dem Bild zu sehen ist. Das Pendant in OpenGL ist die ProjectionTransformation. Nachdem man den Auslößer betätigt hat, muß das Foto noch in der gewünschten Größe entwickelt werden. Dieser Vorgang wird in OpenGL durch die ViewingTransformation repräsentiert. Die vier eben genannten Transformations haben die Aufgabe, jedem vorhandenen Vektor einen entsprechenden Punkt auf dem Computerbildschirm derart zuzuordnen, daß der Anschein einer realistischen, dreidimensionalen Szene entsteht. Die Viewing und Modeling Transformations sowie die ProjectionTransformation werden, da es sich um lineare Abbildungen handelt, durch Matrizen dargestellt. 5
6 Allgemeines über Matrizenoperationen in OpenGL Die Viewing und ModelingTransformations werden in der sogenannten ModelviewMatrix, die Projection Transformation in der ProjectionMatrix gespeichert. Es existiert in OpenGL sowohl ein ModelviewMatrix Stack als auch ein ProjectionMatrixStack, wobei beide zu Programmbeginn jeweils nur ein Element enthalten. Die beiden aktuellen Matrizen sind die jeweils obersten der beiden Stacks. Darüber hinaus existiert noch ein dritter Stack, der TextureMatrixStack, auf dessen Bedeutung hier nicht näher eingegangen wird. Sämtliche Funktionen, die der Manipulation von Matrizen dienen, beeinflussen nur die oberste Matrix des aktuellen Stacks. Der aktuelle Stack läßt sich mit Hilfe der Funktion glmatrixmode() auswählen. void glmatrixmode(glenum mode); Wählt den aktuellen MatrixStack aus, der solange als aktueller Stack gilt, bis die Funktion erneut mit einem anderen Parameter aufgerufen wird. Als Parameter sind zulässig GL_MODELVIEW, GL_PROJECTION und GL_TEXTURE. Mit Hilfe der MatrixStacks ist es möglich, Matrizen zu speichern, um sie später erneut zu verwenden. Der Befehl glpushmatrix() kopiert die oberste Matrix des aktuellen Stacks und legt diese Kopie oben auf dem Stack ab. Da immer nur die oberste Matrix eines Stacks verändert werden kann, bleibt dessen zweites Element unverändert erhalten. Der Befehl glpopmatrix() entfernt das oberste Element des aktuellen Stacks und macht damit die Matrix darunter wieder zur aktuellen Matrix. Der ModelviewMatrixStack ist besonders bei der Konstruktion von Objekten hilfreich, die eine gewisse Hierarchie besitzen, das heißt deren Position voneinander abhängig ist. Ein gutes Beispiel hierfür ist ein mehrgliedriger Roboterarm. void glpushmatrix(void); Kopiert die oberste Matrix des aktuellen Stacks, und legt die Kopie oben auf dem Stack ab. void glpopmatrix(void); Entfernt die oberste Matrix des aktuellen Stacks. Eine weitere, sehr wichtige Funktion, Matrizen betreffend, ist glloadidentity(). Dadurch wird die aktuelle Matrix durch die Identität ersetzt. Da die meisten anderen MatrizenFunktionen MatrizenMultiplikationen durchführen, ist es wichtig glloadidentity() zu benutzen, bevor man beginnt, eine neue Transformation zu definieren. void glloadidentity(void); Ersetzt die gegenwärtige Matrix durch die Identität. Die Viewing und ModelingTransformations Es ist unbedingt notwendig, die Viewing und die ModelingTransformations als eine Einheit zu betrachten. Unter ViewingTransformations versteht man das Ausrichten und Positionieren der imaginären Kamera, unter ModelingTransformations das Anordnen der abzubildenden Objekte. Ein einfaches Beispiel macht den engen Zusammenhang deutlich. Bewegt man die Kamera eine bestimmte Strecke in xrichtung, hat man dadurch den selben Effekt erzielt, den ein Verschieben aller Objekte um die gleiche Strecke in negative xrichtung bewirkt hätte. OpenGL kombiniert daher die Viewing und ModelingTransformations zu einer einzigen sogenannten ModelviewMatrix. Sämtliche mit glvertex*() angegebenen Vektoren werden mit der, zum jeweiligen Zeitpunkt des Funktionsaufrufs, obersten Matrix des ModelviewStacks abgebildet. Die imaginäre Kamera befindet sich stets im Nullpunkt mit Blick in negative zrichtung. Obwohl ihre Position konstant ist, ist es möglich, den Effekt einer Kamerabewegung zu erzielen, in dem man die ModelviewMatrix bereits vor der Angabe des ersten Vektors verändert, und damit jeden Vektor beeinflußt. Die Funktionen gltranslate*(), glrotate*() und glscale*() führen jeweils eine MatrizenMultiplikation mit der obersten Matrix des aktuellen Stacks durch und ersetzen diese durch das Ergebnis. Ist M die aktuelle Matrix und N die durch den Funktionsaufruf beschriebene Matrix, wird M durch MN ersetzt. Es ist wichtig, sich darüber im klaren zu sein, daß die Reihenfolge von Matrizen Multiplikationen entscheidend ist, das heißt die Matrix AB ist im Allgemeinen nicht gleich der Matrix BA. Als Konsequenz daraus ergibt sich, daß die zuletzt angegebene Matrix zuerst auf die entsprechenden Vektoren angewendet wird. 6
7 void gltranslate{f d}(type x, TYPE y, TYPE z); Multipliziert die aktuelle Matrix mit einer Matrix T, die einen Vektor, entsprechend der angegebenen Parameter, in x, y, und zrichtung verschiebt. void glrotate{f d}(type angle, TYPE x, TYPE y, TYPE z); Multipliziert die aktuelle Matrix mit einer Matrix R, die einen Vektor um den Winkel angle gegen den Uhrzeigersinn um die Achse dreht, die durch den Vektor (x, y, z) T definiert wird. void glscale{f d}(type x, TYPE y, TYPE z); Multipliziert die aktuelle Matrix mit einer Matrix S, die einen Vektor, entsprechend der angegebenen Parameter, in x, y, und zrichtung skaliert. Man sollte sich vor jedem dieser Funktionsaufrufe vergewissern, daß der ModelviewStack auch der aktuelle ist, und falls nicht glmatrixmode() mit dem Parameter GL_MODELVIEW anwenden. Ein Beispiel: Aufbau einer Szene, die mehrere Objekte enthält Die folgende Funktion Modelview() erzeugt geeignete Viewing und ModelingTransformations, um mittels der oben definierten Funktion Cube() drei Würfel an verschiedenen Positionen in die Szene einzufügen. void Modelview(void) { glmatrixmode(gl_modelview); // Macht die ModelviewMatrix zur aktuellen Matrix glloadidentity(); // Setzt die ModelviewMatrix gleich der Identität glpushmatrix(); gltranslatef(0.0, 0.0, 5.0); // Verschiebt Cube1 und Cube2 nach hinten glpushmatrix(); gltranslatef(1.25, 1.25, 0.0); // Verschiebt Cube1 nach linksunten 7
8 glrotatef(210.0, 0.0, 1.0, 0.0); // Dreht Cube1 210 Grad um die yachse Cube(); // Zeichnet Cube1 glpopmatrix(); glpushmatrix(); gltranslatef(1.25, 1.25, 0.0); // Verschiebt Cube2 nach rechtsoben Cube(); // Zeichnet Cube2 glpopmatrix(); glpopmatrix(); // Die aktuelle ModelviewMatrix ist nun wieder die Identität } gltranslatef(0.0, 0.0, 8.0); // Verschiebt Cube3 nach hinten glrotatef(35.0, 0.0, 1.0, 0.0); // Dreht Cube3 40 Grad um die yachse glrotatef(35.0, 0.0, 0.0, 1.0); // Dreht Cube3 35 Grad um die zachse glscalef(6.0, 3.5, 2.0); // Skaliert Cube3 Cube(); // Zeichnet Cube3 Die ProjectionTransformation Mittels der ProjectionTransformation definiert man, welcher Ausschnitt der Szene auf dem Bild zu sehen sein wird, und in welcher Art und Weise die Objekte erscheinen werden. Die ProjectionTransformation beschreibt ein sogenanntes ViewingVolume, einen von sechs Ebenen, sogenannten ClippingPlanes, begrenzten Bereich, dessen Inhalt später auf dem Monitor abgebildet wird. Jede ClippingPlane teilt den dreidimensionalen Raum in zwei Bereiche auf, wobei für einen von beiden gilt, daß Objekte und Vektoren darin nicht weiter beachtet werden. Das bedeutet, alles was sich auf dieser Seite der ClippingPlane befindet, wird auf dem 3DBild nicht erscheinen. Eine ProjectionTransformation kann entweder eine PerspectiveProjection oder eine OrthographicProjection sein, zwei Methoden die sich grundlegend unterscheiden. 8
9 Die PerspectiveProjection Die PerspectiveProjection erzeugt wesentlich realistischere Bilder, da Objekte, die weiter entfernt sind, kleiner erscheinen, als solche, die sich nahe beim Betrachter befinden. Die horizontale und vertikale Ausdehnung des Viewing Volumes nimmt daher proportional zur Entfernung von der imaginären Kamera zu. Das ViewingVolume definiert gleichzeitig den Blickwinkel der Kamera, den man nicht zu groß wählen sollte, da die Objekte sonst stark verzerrt dargestellt werden. Mit der Funktion glfrustum() erzeugt man eine entsprechende Matrix für eine PerspectiveProjection. void glfrustum(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, Gldouble far); Erzeugt eine Matrix für ein PerspectiveViewingVolume und multipliziert sie mit der aktuellen Matrix. Das Bild des PerspectiveViewingVolumes erläutert die Bedeutung der Parameter. Es ist wichtig daran zu denken, daß beim Aufruf von glfrustum() der ProjectionMatrixStack der aktuelle Stack sein sollte. Die OrthographicProjection Bei der Orthographic Projection ist die Größe, in der ein Objekt auf dem 3DBild erscheint, völlig unabhängig von dessen Entfernung zur imaginären Kamera. Die horizontale und vertikale Ausdehnung des ViewingVolumes ändert sich daher nicht. Verwendung findet diese Methode vor allem bei schematischen Darstellungen, bei denen es darauf ankommt, Längen und Winkelverhältnisse konstant zu halten. Der Befehl glortho() erzeugt eine entsprechende Matrix für eine OrthographicProjection. void glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); Erzeugt eine Matrix für ein OrthographicViewingVolume und multipliziert sie mit der aktuellen Matrix. Das Bild des OrthographicViewingVolumes erläutert die Bedeutung der Parameter. Auch für diese Funktion gilt, daß der ProjectionMatrixStack der aktuelle sein sollte. 9
10 Die ViewportTransformation Die ViewportTransformation bestimmt die Größe des Bildes auf dem Monitor in Pixeln, wobei Breite und Höhe voneinander unabhängig angegeben werden können. Stimmt das Seitenverhältnis des ViewingVolumes nicht mit dem des Bildes überein, wird es verzerrt dargestellt. Zur Angabe der ViewportTransformation verwendet man die Funktion glviewport(). void glviewport(glint x, GLint y, GLsizei width, GLsizei height); Definiert das Rechteck im betreffenden Fenster, in dem das 3DBild zu sehen sein wird. x und y geben die linke, untere Ecke an, width und height die Breite und Höhe des Rechtecks. Zum Beispiel legt der Funktionsaufruf glviewport(0, 0, 300, 200); die Größe des Bildes auf eine Breite von dreihundert und eine Höhe von zweihundert Pixeln fest, wobei seine linke, untere Ecke mit der linken, unteren Ecke des betreffenden Fensters übereinstimmt. Die Reihenfolge der Transformations Bild 12 zeigt die verschiedenen Schritte einer VektorTransformation in der Reihenfolge, in der sie der Computer ausführt. Zuerst wird der entsprechende Vektor mit der ModelviewMatrix abgebildet. Die resultierenden Koordinaten nennt man EyeCoordinates. Dann folgt die Abbildung mit der ProjectionMatrix, die alle Eye Coordinates innerhalb des ViewingVolumes in einen Würfel mit einer Kantenlänge von zwei Einheiten projeziert, in desen Mitte sich der Nullpunkt befindet. Das Ergebnis sind sogenannte ClipCoordinates. Nun findet die PerspectiveDivision statt, bei der die x, y, und zkoordinaten eines Vektors durch seine w Koordinate geteilt werden. Die dadurch entstandenen NormalizedDeviceCoordinates werden jetzt nur noch mit Hilfe der ViewportTransformation in das gewünschte Fenster projeziert, das Resultat sogenannte WindowCoordinates. 10
11 Der Framebuffer Zu jedem Pixel des entstehenden 3DBildes muß eine bestimmte Menge an Informationen, das heißt eine gewisse Anzahl von Bits, gespeichert werden. Diese Bits, für jeden Bildpunkt die gleiche Anzahl, werden in sogenannten Bitplanes gespeichert. Jede Bitplane enthält genau ein Bit pro Pixel, ganz offensichtlich nicht ausreichend für ein ansprechendes Computerbild. Jedes Bild ist daher mit mehreren Bitplanes verbunden. Die Menge aller vorhandenen Bitplanes nennt man den Framebuffer. Der Framebuffer besteht je nach Art und Komplexität des OpenGLProgramms aus verschiedenen kleineren Buffern. Hier sollen nur die beiden wichtigsten näher erläutert werden, der ColorBuffer und der DepthBuffer. Das Erzeugen eines mit einem entsprechenden Framebuffer verbundenen Fensters ist abhängig vom verwendeten Betriebssystem. OpenGL stellt deshalb dafür keine Funktionen zur Verfügung. Es gibt jedoch Hilfsbibliotheken, zum Beispiel die bereits erwähnte glaux.lib für Windows 95, die Funktionen beinhalten, die diese Aufgabe erleichtern. Der ColorBuffer Im ColorBuffer wird die Farbe jedes einzelnen Bildpunktes gespeichert. Da die Farbinformationen die Basis eines jeden Computerbildes bilden, muß jedes OpenGLProgramm einen ColorBuffer erzeugen. Die Anzahl der Bitplanes im ColorBuffer sollte abhängig von der Leistungsfähigkeit der zur Verfügung stehenden Hardware gewählt werden. Jeder Funktionsaufruf zum Zeichnen eines auf dem Bild sichtbaren Polygons verändert den Inhalt des ColorBuffers. Bei Programmstart beziehungsweise bei Zeichenbeginn eines Bildes sollte der Inhalt des ColorBuffers mit der Funktion glclear() gelöscht werden. void glclear(glbitfield mask); Löscht alle angegebenen Buffer. Der Parameter mask sollte eine beliebige bitweise Kombination folgender Konstanten sein: GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_STENCIL_BUFFER_BIT, GL_ACCUM_BUFFER_BIT. Die Farbe, mit der der ColorBuffer gelöscht wird, kann mit den Funktionen glclearcolor() im RGBAMode beziehungsweise glclearindex() im ColorIndexMode angegeben werden. void glclearcolor(glclampf red, GLclampf green, GLclampf blue, GLclampf alpha); void glclearindex(glfloat index); Diese Funktionen geben die Farbe an, mit der der ColorBuffer gelöscht wird. Die Löschfarbe bleibt bis zum nächsten Aufruf dieser Funktionen erhalten. Zum Beispiel bewirkt die Anweisungsfolge glclearcolor(0.0, 1.0, 0.0, 0.0); glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); daß Color und DepthBuffer gelöscht werden, der ColorBuffer mit grüner Farbe. Der DepthBuffer Im DepthBuffer wird der Abstand eines jeden Pixels in zrichtung von der imaginären Kamera gespeichert. Der DepthBuffer wird daher auch häufig als zbuffer bezeichnet. Bevor der Inhalt des ColorBuffers durch einen Funktionsaufruf zum Zeichnen eines Objekts verändert wird, wird für jeden Pixel ein sogenannter DepthTest durchgeführt, bei dem die Entfernung des gegenwärtig gespeicherten Bildpunktes mit der des neuen Bildpunktes verglichen wird. Nur wenn sich der neue Pixel näher an der imaginären Kamera 11
12 befindet, wird der Wert im ColorBuffer überschrieben. Der DepthBuffer gewährleistet also, daß nahe Objekte weiter entfernte verdecken, und sollte daher bei fast allen dreidimensionalen Darstellungen verwendet werden. Bei Programmstart beziehungsweise bei Zeichenbeginn eines Bildes sollte der Inhalt des DepthBuffers mit der Funktion glclear() gelöscht werden. Darüber hinaus muß der DepthTest mit dem Funktionsaufruf glenable(gl_depth_test); einmalig aktiviert werden. Ein Beispiel: Ein vollständiges OpenGLProgramm Das folgende OpenGLProgramm erstellt ein 3DComputerbild, auf dem mehrere Würfel zu sehen sind. Die Funktionen OpenAWindow(), erzeugt ein Fenster im RGBAMode, vierhundert mal vierhundert Pixel groß, verbunden mit einem Color und einem DepthBuffer, und KeepTheWindowOnTheScreenForAWhile(), verhindert, daß das Fenster nach Ausführung des Programms sofort automatisch geschlossen wird, müssen entsprechend des verwendeten Betriebssystems implementiert werden. Die einzige im Programm vorkommende und bisher noch nicht behandelte OpenGLFunktion ist glflush(), die gewährleistet, daß alle bis dahin angegebenen GrafikBefehle augenblicklich ausgeführt werden. void glflush(void); Sorgt dafür, daß alle bisher aufgerufenen und zur Verarbeitung noch ausstehenden OpenGLFunktionen sofort ausgeführt werden. Insbesondere wenn ein OpenGLProgramm in einem Netzwerk ausgeführt wird, das heißt das Programm läuft auf einem Rechner, während ein anderer die Grafikausgabe übernimmt, oder wenn eine GrafikPipeline zur Verfügung steht, kommt es häufig vor daß nicht jeder Grafikbefehl einzeln und unverzüglich ausgeführt wird. Es ist durchaus möglich, daß der Aufruf von glflush() bei manchen Programmen beziehungsweise Systemen überflüssig ist, sollte aber sicherheitshalber immer verwendet werden. #include <WhateverYouNeed.h> main() { OpenAWindow(); glenable(gl_depth_test); // Aktiviert den DepthTest glviewport(0, 0, 400, 400); // Die Bildgröße wird auf 400 mal 400 Pixel festgelegt glmatrixmode(gl_projection); // Macht die ProjectionMatrix zur aktuellen Matrix glloadidentity(); // Setzt die Projection Matrix gleich der Identität glfrustum(1.0, 1.0, 1.0, 1.0, 1.0, 50.0); // Erzeugt ein PerspectiveViewingVolume glclearcolor(0.0, 0.0, 0.0, 0.0); // Setzt die Löschfarbe des ColorBuffers auf Schwarz glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); // Löscht Color und // FrameBuffer Modelview(); // Erzeugt und plaziert die Objekte in der Szene glflush(); // Gewährleistet die Ausführung aller bisher angegebenen Grafikbefehle } KeepTheWindowOnTheScreenForAWhile(); 12
13 DisplayListen DisplayListen dienen dem Steigern der Geschwindigkeit eines OpenGLProgramms, besonders dann, wenn dieses in einem Netzwerk ausgeführt wird. Es ist nämlich häufig der Fall, daß das eigentliche Programm auf einem Rechner, dem sogenannten Client, läuft, während ein anderer Computer, der sogenannte Server, die Grafikausgabe übernimmt. Mittels einer DisplayListe wird eine Reihe von OpenGLFunktionen zusammengefaßt, vom Client zum Server geschickt, und dort in hardwaregünstiger Form gespeichert, wo sie nun beliebig oft verwendet werden kann. Anstatt nun jedesmal alle in der Liste enthaltenen Befehle über das Netz zu schicken, wird vom Client lediglich die entsprechende DisplayListe aufgerufen, und dadurch diese, die ja bereits in einem günstigen Format beim Server vorliegt, auf dem ServerComputer ausgeführt. Aber auch wenn man nicht in einem Netzwerk arbeitet, kann durch DisplayListen die Leistung eines Programms gesteigert werden, da ihr Inhalt beim Erzeugen in eine Form umgewandelt wird, die schneller von der entsprechenden GrafikHardware verarbeitet werden kann. Wann sind DisplayListen zu empfehlen? DisplayListen sollte man vor allem dann verwenden, wenn das OpenGLProgramm in einem Netzwerk eingesetzt werden soll, oder viele zeitintensive Funktionsaufrufe enthält, die eventuell mehrmals auszuführen sind. Ein gutes Beispiel hierfür sind Matrizenoperationen. Beim Speichern in DisplayListen wird bereits ein Teil der notwendigen Berechnungen, wie zum Beispiel das Ermitteln der Inversen, nötig bei den meisten Matrizenoperationen, ausgeführt und abgespeichert. Außerdem werden eventuell hintereinander stattfindende Matrizenmultiplikationen, wie sie häufig bei den Viewing und ModelingTransformations vorkommen, zu einer einzigen Matrix kombiniert. Weitere Hauptanwendungsgebiete finden sich bei der Verwendung von Texturen, dem Festlegen von Materialeigenschaften und dem Definieren von Lichtquellen. Wie verwendet man DisplayListen? Man erzeugt eine neue DisplayListe, indem man zwischen den Funktionen glnewlist() und glendlist() die zu speichernde Befehlsfolge angibt. void glnewlist(gluint list, GLenum mode); Diese Funktion markiert den Beginn einer neuen DisplayListe. Über den Parameter list gibt man einen positiven, eindeutigen Index an, mit dessen Hilfe man später die Liste aufrufen kann. Der Parameter mode kann entweder den Wert GL_COMPILE oder GL_COMPILE_AND_EXECUTE annehmen. In letzterem Fall wird die Liste nicht nur erzeugt, sondern auch sofort ausgeführt. void glendlist(void); Diese Funktion markiert das Ende einer DisplayListe. 13
14 glnewlist() erwartet als Parameter einen eindeutigen Index. Durch Einsetzten dieses Werts in die Funktion glcalllist() wird die sofortige Ausführung der in der DisplayListe gespeicherten Befehle veranlaßt. void glcalllist(gluint list); Diese Funktion veranlaßt die Ausführung der in der DisplayListe, mit Index list, gespeicherten Grafikbefehle. In einer DisplayListe werden ausschließlich OpenGLFunktionen gespeichert. Der Inhalt einer DisplayListe kann nach ihrer Erzeugung nicht mehr verändert werden. Ein Beispiel: Mehrfache Verwendung einer DisplayListe Wir fügen obigem Programm die folgende Funktion hinzu, und ersetzen in der Funktion main() den Aufruf von Modelview() durch einen Aufruf von DisplayList(). Der durch Cube() definierte Würfel wird in der DisplayListe mit Index 1 gespeichert. Diese wird dann dreiundsechzigmal aufgerufen, um eine aus Würfeln bestehende Ebene zu erzeugen. void DisplayList(void) { int i1, i2; glmatrixmode(gl_modelview); glloadidentity(); glnewlist(1, GL_COMPILE); // Markiert den Anfang einer neuen DisplayListe mit Index 1 Cube(); glendlist(); // Markiert das Ende der DisplayListe } // Hier wird eine Ebene, bestehend aus sieben mal neun Würfeln, erzeugt for(i1 = 4; i1 < 5; i1++) for(i2 = 7; i2 < 0; i2++) { glpushmatrix(); gltranslatef((glfloat)i1*2.0, 1.5, (GLfloat)i2*2.0); glcalllist(1); // Ruft die DisplayListe auf glpopmatrix(); } 14
15 Welche Möglichkeiten bietet OpenGL noch? Da selbst bei den bisherigen Grundlagen nur die wichtigsten Punkte angesprochen werden konnten, ist es ausgeschlossen, im Rahmen dieses Vortrags sämtliche Möglichkeiten detailliert zu erläutern, die OpenGL bietet. Zumindest einige davon sollen aber noch in Ansätzen erwähnt werden. Besteht der Wunsch, diese Methoden ins eigene Programm einfließen zu lassen, wird man am Studium weiterführender Literatur nicht vorbeikommen. Empfohlen sei hier der OpenGL Programming Guide, der als Hauptreferenz bei der Ausarbeitung dieses Vortrags diente. Lighting Um einigermaßen realistische Szenen mit OpenGL zu erstellen, ist es fast zwangsläufig notwendig, Beleuchtungseffekte, das sogenannte Lighting, einzusetzen. OpenGL gestattet es, bis zu acht Lichtquellen gleichzeitig in einer Szene zu plazieren. Jede von ihnen kann mit verschiedenen Eigenschaften versehen werden, mit deren Hilfe unterschiedliche Lichtquellen simuliert werden können, wie zum Bespiel die Sonne, ein Scheinwerfer oder eine Glühlampe. Darüber hinaus weißt man Polygonen, genauer gesagt ihren Vektoren, nicht mehr nur eine einzige Farbe, sondern sogenannte Materialeigenschaften zu. Diese definieren sein Aussehen bei verschiedenen Lichtverhältnissen. Geschickt eingesetzt kann man dadurch den Eindruck erwecken, die Oberfläche bestünde aus einem bestimmten Material wie zum Beispiel Metall. Weder Schatten noch Spiegeleffekte werden von OpenGL automatisch erzeugt. Blending Unter Blending versteht man, den Farbwert eines neuen Objekts mit dem des Untergrunds in einer vorher definierten Art und Weise zu kombinieren. Bei dieser Technik findet häufig der bereits erwähnte AlphaWert Verwendung, mit dessen Hilfe man zum Beispiel festlegen kann, wie durchscheinend ein bestimmtes Objekt ist. In OpenGL wird die anzuwendende BlendingFunktion mittels glblendfunc() spezifiziert. void glblendfunc(glenum sfactor, GLenum dfactor); Der Parameter sfactor beschreibt die Modifikation der Objektfarbe, der Parameter dfactor beschreibt die Modifikation der Untergrundfarbe. Die beiden Farbwerte werden dann addiert, das Ergebnis in den ColorBuffer geschrieben. Um einem neuen Objekt eine gewisse Transparenz zuzuweisen, würde man also den Funktionsaufruf glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA); verwenden. Eine weitere Möglichkeit wäre aus einem bestehenden Bild einen bestimmten Anteil einer Farbe, zum Beispiel 60% der Farbe Rot, herauszufiltern. Man würde die BlendingFunktion mittels glblendfunc(gl_zero, GL_SRC_COLOR); spezifizieren und ein Polygon mit dem RGBAWert (0.4, 1.0, 1.0, 1.0) über die ganze Szene zeichnen. Für eine genaue Beschreibung sämtlicher Parameter siehe den OpenGL Programming Guide. 15
16 Antialiasing Da der Pixel die kleinste Einheit auf dem Monitor ist, dem eine bestimmte Farbe zugewiesen werden kann, erscheinen Linien oder Kanten oft etwas gezackt und daher unnatürlich. Verwendet man Antialiasing, wird ermittelt, welcher Bruchteil eines Pixels von einem Objekt tatsächlich eingenommen wird. Gemäß dessen wird eine Farbkombination gebildet, eine Mischung aus Objekt und Untergrundfarbe, deren Wert der betreffende Bildpunkt dann erhält. Fog Durch die Verwendung von Fog, erreicht man, daß weiter entfernte Objekte zunehmend verblassen und schließlich ganz verschwinden. Fog wird häufig bei der Darstellung von Außenszenen eingesetzt, wobei dadurch der Anschein von Nebel, Rauch oder Wolken erweckt wird. Insbesondere bei großen Szenen kann sich Fog positiv auf die Geschwindigkeit des OpenGLProgramms auswirken, da weit entfernte Objekte nicht mehr gezeichnet werden müssen. Texturen Texturen sind unabdingbar beim Erstellen realistischer 3DBilder. Eine Textur ist im Normalfall ein zweidimensionales, rechteckiges Bild von einer bestimmten Oberfläche wie zum Beispiel einer Steinwand, einer Tapete oder einer Holzplatte. Eine Textur wird durch Angabe entsprechender TexturKoordinaten auf eine bestimmte Oberfläche projeziert, ähnlich dem Aufkleben eines Abziehbilds. Die linke untere Ecke einer Textur hat die Koordinaten (0.0, 0.0), die rechte obere Ecke die Koordinaten (1.0, 1.0). Jedem Vektor weißt man mit Hilfe der Funktion gltexcoord*() die gewünschten Textur Koordinaten zu. void gltexcoord{ }{s i f d}{v}(type coords); gltexcoord*() weißt einem Vektor die Texturkoordinaten (s, t, r, q) zu. r hat momentan noch keine Bedeutung und wird daher ignoriert, q entspricht der wkoordinate bei der Defininition normaler Vektoren. Ein Vektor erhält also effektiv die beiden Texturkoordinaten (s/q, t/q). Der diesen Koordinaten entsprechende Teil der Textur wird dann auf das Polygon projeziert. Dadurch lassen sich auf einfache Weise sehr realistische Effekte erzielen, wie sie bei ausschließlicher Verwendung von Materialeigenschaften gar nicht möglich wären. 16
17 Animierte Szenen Um eine flüssig wirkende, animierte Szene zu erzeugen, sollte ein OpenGLProgramm mindestens zwanzig Bilder pro Sekunde erzeugen. Fällt die Leistung unter diesen Wert, wirkt die Bewegung der Objekte ruckartig. Zeichnet man diese Bilder der Reihe nach in den sichtbaren ColorBuffer, auch genannt FrontBuffer, erhält man ein höchst unbefriedigendes Resultat. Da das aktuelle Bild komplett gelöscht bevor das darauf folgende aufgebaut wird, und dieser Aufbau ebenfalls eine gewisse Zeit in Anspruch nimmt, sieht der Betrachter je nach Geschwindigkeit des Systems eine Mischung von halbfertigen und fertigen Szenen. Im schlimmsten Fall blitzen die zum Schluß gezeichneten Objekte nur ganz kurz auf. Man schafft Abhilfe, in dem man einen zusätzlichen, nicht sichtbaren ColorBuffer, den sogenannten BackBuffer verwendet. In diesen BackBuffer werden der Reihe nach alle Bilder der Szene gezeichnet. Nachdem ein Bild fertiggestellt ist, tauscht man mittels einer bestimmten Funktion die Inhalte von Front und BackBuffer einfach aus. Das Ergebnis ist eine fließend wirkende Animation. 17
Datensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Plotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
Wie Sie mit Mastern arbeiten
Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint
Photopaint - Linsen. (Speichere deine Arbeit von Anfang an regelmäßig unter dem Namen Linsen.cpt )
Photopaint - Linsen Arbeiten mit Linsen (Speichere deine Arbeit von Anfang an regelmäßig unter dem Namen Linsen.cpt ) Für diese Übung öffne die Datei Winter.jp2 du kannst natürlich auch mit jeder anderen
Im Original veränderbare Word-Dateien
Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik
Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG
Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich
Advanced Rendering Interior Szene
Advanced Rendering Interior Szene in Cinema 4D 11-11.5 Als erstes, sollten Sie ihre Szene in Cinema 4D öffnen. vergewissern sie sich, ob alle Licht quellen die evtl. mit importiert wurden, aus der Szene
Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.
Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:
Berechnungen in Access Teil I
in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer
Herstellen von Symbolen mit Corel Draw ab Version 9
Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten
Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])
3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere
Bilder Schärfen und Rauschen entfernen
Bilder Schärfen und Rauschen entfernen Um alte Bilder, so wie die von der Olympus Camedia 840 L noch dazu zu bewegen, Farben froh und frisch daherzukommen, bedarf es einiger Arbeit und die habe ich hier
1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Erstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Zwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
Kreatives Gestalten mit Flash 5.0
Kreatives Gestalten mit Flash 5.0 Animationen, Effekte und Anwendungen für das WWW Bearbeitet von Isolde Kommer 1. Auflage 2000. Buch. 444 S. Hardcover ISBN 978 3 446 21463 7 Format (B x L): 20,1 x 23,6
SICHERN DER FAVORITEN
Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich
3.2 Spiegelungen an zwei Spiegeln
3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen
AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Ein Bild in den Text einfügen
Bild in einen Artikel einfügen Ein Bild in den Text einfügen Positioniert den Cursor an der Stelle im Text, egal ob bei einem Artikel oder einer WordPress-Seite, wo das Bild eingefügt werden soll. Hinter
Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)
1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) D A S S O L L T E N N A C H E U R E M R E F E R A T A L L E K Ö N N E N : Kostenfunktion, Erlösfunktion und Gewinnfunktion aufstellen, graphisch
Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 [email protected] - www.forums9.ch
Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 [email protected] - www.forums9.ch Tutorial Speichern Wer ein Fotobuch zusammenstellen möchte, der sucht oft auf dem ganzen Computer und diversen
Objektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
Hilfe Bearbeitung von Rahmenleistungsverzeichnissen
Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...
Ebenenmasken Grundlagen
Ebenenmasken Grundlagen Was sind Ebenmasken? Was machen sie? Wofür braucht man sie? Wie funktionieren sie? Ebenmasken sind eines der sinnvollsten Tools in anspruchvollen EBV Programmen (EBV = elektronische
TeamSpeak3 Einrichten
TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen
Zahlen auf einen Blick
Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.
Die Übereckperspektive mit zwei Fluchtpunkten
Perspektive Perspektive mit zwei Fluchtpunkten (S. 1 von 8) / www.kunstbrowser.de Die Übereckperspektive mit zwei Fluchtpunkten Bei dieser Perspektivart wird der rechtwinklige Körper so auf die Grundebene
Suche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
Arbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
Animationen erstellen
Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung
Gruppenrichtlinien und Softwareverteilung
Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden
Erklärung zum Internet-Bestellschein
Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und
EasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht
Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb
Die Komprimierung: Die Abkürzung JPG (oder auch JPEG) steht für "Joint Photographic Experts Group". Dieses Bildformat ist nach der Expertengruppe, die es erfunden hat, benannt. Die Komprimierung empfiehlt
Step by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen
Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und
Hinweise zum Übungsblatt Formatierung von Text:
Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger
Farbtypen. Bedeutung von Farben 1. Drucken. Arbeiten mit Farben. Papierhandhabung. Wartung. Problemlösung. Verwaltung. Index
Bedeutung von Farben 1 Ihr Drucker bietet Ihnen die Möglichkeit, Farben als Kommunikationsmittel einzusetzen. Farben wecken die Aufmerksamkeit, schaffen Respekt und verleihen Ihren Ausdrucken oder sonstigen
Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.
Millennium SMS Service Schnellübersicht Seite 1 von 6 1. Tägliche Arbeiten mit der SMS Bestätigung Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.
Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
Gimp Kurzanleitung. Offizielle Gimp Seite: http://www.gimp.org/
Gimp Kurzanleitung Offizielle Gimp Seite: http://www.gimp.org/ Inhalt Seite 2 Seite 3-4 Seite 5-6 Seite 7 8 Seite 9 10 Seite 11-12 Ein Bild mit Gimp öffnen. Ein Bild mit Gimp verkleinern. Ein bearbeitetes
Bilder zum Upload verkleinern
Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr
Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Dateiabgleich im Netzwerk über Offlinedateien Dateiabgleich im Netzwerk über Offlinedateien
Viele Digitalbilder in einem Rutsch verkleinern (z.b. zur Verwendung in einer Präsentationsschau) Nachfolgend der Arbeitsvorgang:
Viele Digitalbilder in einem Rutsch verkleinern (z.b. zur Verwendung in einer Präsentationsschau) Digitalkameras liefern für bestimmte Zwecke (z.b. Präsentationsschauen) viel zu große Bilder z.b. 4032
Programme im Griff Was bringt Ihnen dieses Kapitel?
3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich
Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:
Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle
Die Dateiablage Der Weg zur Dateiablage
Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen
Kurzeinführung LABTALK
Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,
Excel 2013. Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F
Excel 2013 Peter Wies 1. Ausgabe, März 2013 Fortgeschrittene Techniken EX2013F 15 Excel 2013 - Fortgeschrittene Techniken 15 Spezielle Diagrammbearbeitung In diesem Kapitel erfahren Sie wie Sie die Wert-
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!
Stefan Böttner (SB4) März 2013 Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Verwendbar ab EEP7.5(mitPlugin5) + EEP8 + EEP9 Abmessung: (B 12m x H 12m) Die Einsatzhöhe
Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen
Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:
Step by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl
Step by Step Remotedesktopfreigabe unter Windows Server 2003 von Remotedesktopfreigabe unter Windows Server 2003 Um die Remotedesktopfreigabe zu nutzen muss diese am Server aktiviert werden. Außerdem ist
Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)
Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein) Öffne ein neues Bild ca. 200 x 200, weiß (Datei - neu) Aktiviere
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2
Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Installationsvoraussetzungen: Die Update-Routine benötigt das DotNet-Framework 4.0 Client Profile, das normalerweise über
Hohe Kontraste zwischen Himmel und Landschaft abmildern
PhotoLine-Bildbearbeitung Erstellt mit Version 16.11 In diesem Beispiel möchte ich zeigen, wie ich zur Zeit Landschaftsbilder mit hohen Kontrasten bearbeite. "Zur Zeit" deshalb, weil sich das natürlich
Partitionieren in Vista und Windows 7/8
Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".
1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen
3D-Rendering Ulf Döring, Markus Färber 07.03.2011 1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen Anzeigefläche (a) Worin besteht das Sichtbarkeitsproblem?
Visio 2013. Grundlagen. Linda York. 1. Ausgabe, Oktober 2013
Visio 2013 Linda York 1. Ausgabe, Oktober 2013 Grundlagen V2013 2 Visio 2013 - Grundlagen 2 Einfache Zeichnungen erstellen In diesem Kapitel erfahren Sie wie Sie Shapes einfügen, kopieren und löschen was
Seite 1 von 14. Cookie-Einstellungen verschiedener Browser
Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht
Erzherzog Johann Jahr 2009
Erzherzog Johann Jahr 2009 Der Erzherzog Johann Tag an der FH JOANNEUM in Kapfenberg Was wird zur Erstellung einer Webseite benötigt? Um eine Webseite zu erstellen, sind die folgenden Dinge nötig: 1. Ein
Fotos verkleinern mit Paint
Fotos verkleinern mit Paint Warum Paint? Sicher, es gibt eine Menge kostenloser guter Programme und Möglichkeiten im Netz zum Verkleinern von Fotos. Letztendlich ist es Geschmackssache, aber meine Erfahrungen
Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel
Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel 2 Inhaltsverzeichnis 1 Cookies 4 1.1 Regelungen......................................... 4 1.2 Verwaltung..........................................
Bauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
Eigenen Farbverlauf erstellen
Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites
Kapitel 3 Frames Seite 1
Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
impact ordering Info Produktkonfigurator
impact ordering Info Copyright Copyright 2013 veenion GmbH Alle Rechte vorbehalten. Kein Teil der Dokumentation darf in irgendeiner Form ohne schriftliche Genehmigung der veenion GmbH reproduziert, verändert
Anleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
ACDSee 2009 Tutorials: Rote-Augen-Korrektur
In diesem Tutorial lernen Sie den schnellsten Weg zum Entfernen roter Augen von Ihren Fotos mit der Rote-Augen- Korrektur. Die Funktion zur Reduzierung roter Augen ist ein Untermenü des Bearbeitungsmodus.
Speicher in der Cloud
Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG
Funktionsbeschreibung Website-Generator
Funktionsbeschreibung Website-Generator Website-Generator In Ihrem Privatbereich steht Ihnen ein eigener Websitegenerator zur Verfügung. Mit wenigen Klicks können Sie so eine eigene Website erstellen.
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Stift-Karussell in M-Plot einrichten
Einsteiger Fortgeschrittene Profis [email protected] Version 1.0 Voraussetzungen für diesen Workshop Die M-Quest Suite 2005 oder höher ist auf einem Rechner installiert Das Produkt M-Plot Suite ist
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt
Was man mit dem Computer alles machen kann
Was man mit dem Computer alles machen kann Wie komme ich ins Internet? Wenn Sie einen Computer zu Hause haben. Wenn Sie das Internet benutzen möchten, dann brauchen Sie ein eigenes Programm dafür. Dieses
Wie halte ich Ordnung auf meiner Festplatte?
Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,
eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -
eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In - Übersicht: Nach dem Herunterladen und Ausführen des Installationsprogamms für das eduvote PowerPoint Add-In befindet sich rechts
Einfügen von Bildern innerhalb eines Beitrages
Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de
Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken
Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Mit Anleitung zur Erstellung einer FTP Verbindung unter Windows 7 Matthias Lange
Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball
Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball Inhalt 1. Login: Wo und Wie kann ich mich einloggen?... 2 Die Webseite: www.basketplan.ch... 2 Mein Klub-Login?... 2 2. Orientierung: Was
Textgestaltung mit dem Editor TinyMCE Schritt für Schritt
Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Folgender Artikel soll veröffentlicht und mit dem Editor TinyMCE gestaltet werden: Eine große Überschrift Ein Foto Hier kommt viel Text. Hier kommt
Flugzeugen einen Glanz aufmalen
Flugzeugen einen Glanz aufmalen Grundlagen Einige Flugzeuge wie die von Martinair Cargo oder JAL Cargo haben eine silberchromfarbene Lackierung. Um diesen Glanz bei einem Repaint anzuwenden, muss man mit
Formular»Fragenkatalog BIM-Server«
Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument
Satzhilfen Publisher Seite Einrichten
Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,
PTV VISUM TIPPS & TRICKS:
PTV VISUM TIPPS & TRICKS: LUFTBILD VON GOOGLEMAPS EINFÜGEN Wie fügt man ein richtig georeferenziertes Luftbild von GoogleMaps ein? Der vorherige Beitrag zum Thema Wie wählt man ein passendes Koordinatensystem
Exchange Export. Mailbox Export
Exchange Export Mailbox Export msontheimer 18.06.2010 Inhalt Exchange Mailbox Export... 3 Rechte anpassen... 3 Zugriffsrechte anpassen... 3 SendAs-Rechte anpassen... 3 Mailbox Export... 4 Skript Anpassung...
