Entdecken Sie Millionen von E-Books, Hörbüchern und vieles mehr mit einer kostenlosen Testversion

Nur $11.99/Monat nach der Testphase. Jederzeit kündbar.

Zweidimensionale Computergrafik: Erkundung des visuellen Bereichs: Zweidimensionale Computergrafiken in Computer Vision
Zweidimensionale Computergrafik: Erkundung des visuellen Bereichs: Zweidimensionale Computergrafiken in Computer Vision
Zweidimensionale Computergrafik: Erkundung des visuellen Bereichs: Zweidimensionale Computergrafiken in Computer Vision
eBook261 Seiten1 Stunde

Zweidimensionale Computergrafik: Erkundung des visuellen Bereichs: Zweidimensionale Computergrafiken in Computer Vision

Bewertung: 0 von 5 Sternen

()

Vorschau lesen

Über dieses E-Book

Was ist zweidimensionale Computergrafik?


2D-Computergrafik ist die computergestützte Erzeugung digitaler Bilder – meist aus zweidimensionalen Modellen und durch dafür spezifische Techniken. Es kann sich auf den Zweig der Informatik beziehen, der solche Techniken umfasst, oder auf die Modelle selbst.


Wie Sie davon profitieren


(I) Erkenntnisse und Validierungen zu den folgenden Themen:


Kapitel 1: 2D-Computergrafik


Kapitel 2: Orthogonale Matrix


Kapitel 3: Ellipsoid


Kapitel 4: Rotation (Mathematik)


Kapitel 5: Transformationsmatrix


Kapitel 6: Rotationsmatrix


Kapitel 7: Rotationsformalismen in drei Dimensionen


Kapitel 8: Achsenwinkeldarstellung


Kapitel 9: Kinematik


Kapitel 10: Dreidimensionaler Rotationsoperator


(II) Beantwortung der häufigsten öffentlichen Fragen zur zweidimensionalen Computergrafik.


(III) Beispiele aus der Praxis für den Einsatz zweidimensionaler Computergrafiken in vielen Bereichen.


Für wen dieses Buch ist


Fachleute, Studenten und Doktoranden, Enthusiasten, Hobbyisten und diejenigen, die über Grundkenntnisse oder Informationen für jede Art von zweidimensionaler Computergrafik hinausgehen möchten.

SpracheDeutsch
Erscheinungsdatum5. Mai 2024
Zweidimensionale Computergrafik: Erkundung des visuellen Bereichs: Zweidimensionale Computergrafiken in Computer Vision

Mehr von Fouad Sabry lesen

Ähnlich wie Zweidimensionale Computergrafik

Titel in dieser Serie (100)

Mehr anzeigen

Ähnliche E-Books

Künstliche Intelligenz (KI) & Semantik für Sie

Mehr anzeigen

Ähnliche Artikel

Rezensionen für Zweidimensionale Computergrafik

Bewertung: 0 von 5 Sternen
0 Bewertungen

0 Bewertungen0 Rezensionen

Wie hat es Ihnen gefallen?

Zum Bewerten, tippen

Die Rezension muss mindestens 10 Wörter umfassen

    Buchvorschau

    Zweidimensionale Computergrafik - Fouad Sabry

    Kapitel 1: 2D-Computergrafik

    Das Erzeugen digitaler Bilder auf einem Computer, in der Regel aus zweidimensionalen Modellen (z. B. geometrische 2D-Modelle, Text und digitale Bilder) und die Verwendung von Methoden, die auf diese Art von Modellen zugeschnitten sind, wird als 2D-Computergrafik bezeichnet. Gemeint sind entweder die Modelle selbst oder der Bereich der Informatik, in dem sie enthalten sind.

    Typografie, Kartografie, technisches Zeichnen, Werbung usw. sind Beispiele für Anwendungen, die auf der Grundlage der 2D-Computergrafik aufbauen. Zweidimensionale Modelle werden in diesen Fällen der dreidimensionalen Computergrafik vorgezogen, da sie eine direktere Kontrolle über das Bild ermöglichen. Dies liegt daran, dass das zweidimensionale Bild mehr als nur eine Darstellung eines realen Objekts ist. Es hat auch einen zusätzlichen semantischen Wert (dessen Ansatz eher der Fotografie als der Typografie ähnelt).

    Dokumentbeschreibungen, die auf 2D-Computergrafiktechniken basieren, können in vielen Bereichen, einschließlich Desktop-Publishing, Technik und Wirtschaft, deutlich kleiner sein als das entsprechende digitale Bild. Da diese Darstellung in unterschiedlichen Auflösungen gerendert werden kann, um eine Vielzahl von Ausgabegeräten aufzunehmen, ist sie auch vielseitiger. Aus diesem Grund werden häufig 2D-Grafikdateien für die Archivierung und den Transport von Dokumenten und Bildern verwendet.

    Vektorgrafikgeräte aus den 1950er Jahren ebneten den Weg für die erste 2D-Computergrafik. In den folgenden Jahrzehnten wurden rasterbasierte Geräte zur Norm. Zwei der wichtigsten Neuerungen in diesem Bereich sind die PostScript-Sprache und das X-Window-System-Protokoll.

    Kombinationen aus geometrischen Modellen (auch als Vektorgrafiken bezeichnet), digitalen Bildern (auch als Rastergrafiken bezeichnet), zu setzendem Text (beschrieben durch Inhalt, Schriftstil und -größe, Farbe, Position und Ausrichtung), mathematischen Funktionen und Gleichungen und anderen Arten von Informationen sind in 2D-Grafikmodellen möglich. Zweidimensionale geometrische Transformationen, wie z. B. Verschiebung, Drehung und Skalierung, ermöglichen eine einfache und präzise Manipulation dieser Teile. Ein Objekt mit einer Self-Rendering-Methode, einem Verfahren, das Bildpixeln willkürlich Farben zuweist, beschreibt das Bild in objektorientierten Grafiken. In objektorientierten Programmierparadigmen werden komplexe Modelle aus Teilmodellen konstruiert.

    Die Prinzipien der euklidischen Geometrie, In der Geometrie bewegt eine Translation jeden Punkt um eine bestimmte Entfernung in eine Richtung.

    Eine Art von starrer Bewegung ist die Translation; Andere Arten sind Rotation und Reflexion.

    Es ist auch möglich, sich eine Verschiebung als den Prozess vorzustellen, bei dem jedem Punkt ein konstanter Vektor hinzugefügt wird, oder als ob der Ursprung des Koordinatensystems verschoben würde.

    Ein Übersetzungsoperator ist ein Operator T_\mathbf{\delta} , der T_\mathbf{\delta} f(\mathbf{v}) = f(\mathbf{v}+\mathbf{\delta}).

    Wenn v ein konstanter Vektor ist, dann funktioniert die Übersetzung Tv als Tv(p) = p + v.

    Theoretisch gilt: Wenn T eine Übersetzung ist, wenn A eine Teilmenge und T eine Funktion ist, dann ist die Übersetzung von A durch T das Bild von A unter T.

    Die Übersetzung von A von Tv wird oft A + v geschrieben.

    Jede Übersetzung in einem euklidischen Raum ist auch eine Isometrie. Die Menge aller Translationen wird als Translationsgruppe T bezeichnet und ist eine gewöhnliche Untergruppe der euklidischen Gruppe E, die isomorph zum Raum selbst ist (n ). Die orthogonale Gruppe O ist ein Isomorphismus der Quotientengruppe E(n) durch T. (n ):

    E(n ) / T ≅ O(n ).

    Im Gegensatz zu einer linearen Transformation handelt es sich bei einer Translation um eine affine Transformation. Der Translationsoperator wird in der Regel durch eine Matrix dargestellt, wodurch er linear wird, wenn homogene Koordinaten verwendet werden.

    Wir schreiben also den 3-dimensionalen Vektor w = (wx, wy, wz) mit 4 homogenen Koordinaten als w = (wx, wy, wz, 1).

    Jeder homogene Vektor p (in homogenen Koordinaten) muss mit dieser Translationsmatrix multipliziert werden, wenn ein Objekt durch einen Vektor v übersetzt werden soll:

    T_{\mathbf{v}} = \begin{bmatrix} 1 & 0 & 0 & v_x \\ 0 & 1 & 0 & v_y \\ 0 & 0 & 1 & v_z \\ 0 & 0 & 0 & 1 \end{bmatrix}

    Das Produkt der Multiplikation ist wie in der folgenden Tabelle dargestellt:

    T_{\mathbf{v}} \mathbf{p} = \begin{bmatrix} 1 & 0 & 0 & v_x \\ 0 & 1 & 0 & v_y\\ 0 & 0 & 1 & v_z\\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ p_z \\ 1 \end{bmatrix} = \begin{bmatrix} p_x + v_x \\ p_y + v_y \\ p_z + v_z \\ 1 \end{bmatrix} = \mathbf{p} + \mathbf{v}

    Um die Umkehrung einer Translationsmatrix zu finden, drehen Sie einfach die Richtung des Vektors um:

    T^{-1}_{\mathbf{v}} = T_{-\mathbf{v}} . \!

    Ebenso ergibt die Multiplikation der Vektoren das Produkt zweier Translationsmatrizen:

    T_{\mathbf{u}}T_{\mathbf{v}} = T_{\mathbf{u}+\mathbf{v}} . \!

    Die Multiplikation von Translationsmatrizen ist kommutativ, da die Vektoraddition kommutativ ist (im Gegensatz zur Multiplikation beliebiger Matrizen).

    Eine Rotationsmatrix ist in der linearen Algebra eine Matrix, die ein Objekt im euklidischen Raum dreht.

    R={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}

    dreht Punkte in der kartesischen xy-Ebene gegen den Uhrzeigersinn um einen Winkel θ um den Ursprung des kartesischen Koordinatensystems.

    Eine Rotationsmatrix R wird verwendet, um die Drehung zu bewirken. Die Koordinaten jedes Punktes müssen als Vektor in vertikaler Richtung ausgedrückt werden, der aus den Koordinaten des Punktes besteht.

    Die Matrixmultiplikation Rv ergibt einen gedrehten Vektor.

    Zur Verdeutlichung: Der Nullvektor (d.h.) wird von der Matrixmultiplikation auf der Grundlage von Nullgradkoordinaten nicht beeinflusst. Nur Rotationen um den Ursprung des Koordinatensystems können mit Hilfe von Rotationsmatrizen beschrieben werden.

    Solche Rotationen lassen sich mit Hilfe von Rotationsmatrizen leicht algebraisch beschreiben und spielen eine entscheidende Rolle in geometrischen Berechnungen, in der Physik und in grafischen Oberflächen.

    Innerhalb der Grenzen einer Ebene kann eine Drehung einfach durch einen Drehwinkel θ beschrieben werden . Alternativ können die 4 Einträge einer 22 Drehmatrix verwendet werden, um sie darzustellen.

    In Bezug auf die dritte Dimension siehe auch Eulers Rotationssatz, der besagt, dass jede Drehung in eine Winkeldrehung um eine einzelne, unveränderliche Achse umgemünzt werden kann, die auf einen Winkel und einen Dreielementvektor reduziert werden kann.

    Alternativ kann sie jedoch durch die 9 Einträge einer 33 Rotationsmatrix dargestellt werden.

    Bei Dimensionen größer als drei wird nur selten eine Rotation verwendet. Eine Rotationsverschiebung ist etwas, über das gesprochen werden kann, das mit einer Matrix dargestellt werden kann, ohne dass ihr eine einzelne Achse oder ein einzelner Winkel zugeordnet ist.

    Eine Rotationsmatrix ist eine quadratische Matrix, deren Einträge alle reell sind. Genauer gesagt handelt es sich um orthogonale Determinanten-1-Matrizen:

    R^{T} = R^{-1}, \det R = 1\, .

    Die Gesamtheit aller n-mal-n-speziellen orthogonalen Matrizen bildet eine Gruppe, die als SO(n) bezeichnet wird.

    Im Folgenden finden Sie die Form, die jede zweidimensionale Rotationsmatrix annimmt:

    R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}} .

    Durch Multiplikation der folgenden Matrix werden die Spaltenvektoren gedreht:

    {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}

    .

    Nach der Drehung sind die Koordinaten des ursprünglichen Punktes (x,y):

    x'=x\cos \theta -y\sin \theta \, , y'=x\sin \theta +y\cos \theta \, .

    Die Drehrichtung des Vektors ist gegen den Uhrzeigersinn, wenn θ positiv ist (z.

    90°) und im Uhrzeigersinn, wenn θ negativ ist (z.

    -90°).

    R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}\,

    .

    Im Falle eines rechtshändigen kartesischen Systems ist die Drehung R(θ) entlang der x-Achse nach rechts und entlang der y-Achse nach oben gegen den Uhrzeigersinn.

    Damit ein linkshändiges kartesisches System funktioniert, bei dem x nach rechts und y nach unten zeigt, ist R(θ) im Uhrzeigersinn.

    In der Mathematik werden solche ungewöhnlichen Perspektiven selten verwendet, aber in der 2D-Computergrafik sind sie gang und gäbe, die typischerweise oben links beginnen und sich im Uhrzeigersinn auf der Seite nach unten bewegen.

    Andere mögliche Konventionen, die die Bedeutung einer von einer Matrix erzeugten Drehung verändern, werden weiter unten diskutiert.

    Besonders nützlich sind die Matrizen für 90°- und 180°-Drehungen:

    R(90^\circ) = \begin{bmatrix} 0 & -1 \\[3pt] 1 & 0 \\ \end{bmatrix} (90° Drehung gegen den Uhrzeigersinn)

    R(180^\circ) = \begin{bmatrix} -1 & 0 \\[3pt] 0 & -1 \\ \end{bmatrix} (180° Drehung in beide Richtungen – eine halbe Drehung)

    R(270^\circ) = \begin{bmatrix} 0 & 1 \\[3pt] -1 & 0 \\ \end{bmatrix} (270° Drehung gegen den Uhrzeigersinn, entspricht einer Drehung um 90° im Uhrzeigersinn)

    Die gleichmäßige Skalierung, auch bekannt als isotrope Skalierung, homogene Dilatation und Homothetie, ist eine lineare Transformation in der euklidischen Geometrie, bei der Objekte in alle Richtungen um denselben Skalierungsfaktor vergrößert oder verkleinert werden. Wenn Sie alles um den gleichen Faktor skalieren, ist das Endergebnis geometrisch ähnlich wie das Original. In den meisten Fällen können Sie kongruente Formen mit einem Skalierungsfaktor von 1 als ähnlich behandeln. (Einige Lehrbücher schließen dies ausdrücklich aus, ebenso wie einige Lehrbücher die Möglichkeit ausschließen, dass ein Quadrat ein Rechteck oder ein Kreis eine Ellipse ist.)

    Der allgemeinere Ansatz besteht darin, für jede Achse einen anderen Skalierungsfaktor zu verwenden. Wenn sich mindestens einer der Skalierungsfaktoren von den anderen unterscheidet, liegt eine ungleichmäßige Skalierung vor (anisotrope Skalierung, inhomogene Dilatation); Richtungsgerichtetes Skalieren oder Strecken ist ein Spezialfall davon (in eine Richtung). Wenn ein Objekt ungleichmäßig skaliert wird, ändert sich seine Form. Zum Beispiel wird ein Quadrat, dessen Seiten nicht parallel zu den Skalierungsachsen sind, zu einem Rechteck oder Parallelogramm (die Winkel zwischen den Linien, die parallel zu den Achsen verlaufen, bleiben erhalten, aber nicht alle Winkel).

    Eine Skalierungsmatrix ist eine Darstellung einer Skalierung.

    Um ein Objekt um einen Vektor v = (vx, vy, vz) zu skalieren, müsste jeder Punkt p = (px, py, pz) mit dieser Skalierungsmatrix multipliziert werden:

    S_{v}={\begin{bmatrix}v_{x}&0&0\\0&v_{y}&0\\0&0&v_{z}\\\end{bmatrix}}.

    Das Produkt der Multiplikation ist wie in der folgenden Tabelle dargestellt:

    S_{v}p={\begin{bmatrix}v_{x}&0&0\\0&v_{y}&0\\0&0&v_{z}\\\end{bmatrix}}{\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\end{bmatrix}}={\begin{bmatrix}v_{x}p_{x}\\v_{y}p_{y}\\v_{z}p_{z}\end{bmatrix}}.

    Bei einer Drei-Faktor-Skalierung werden die Abmessungen eines Objekts wie folgt geändert: Sein Durchmesser wird um einen Faktor zwischen den Skalierungsfaktoren verringert, seine Oberfläche wird um einen Faktor zwischen dem kleinsten und dem größten Produkt zweier Skalierungsfaktoren vergrößert und sein Volumen wird um das Produkt aller drei Skalierungsfaktoren verringert.

    Die Skalierung ist nur dann einheitlich, wenn die Skalierungsfaktoren gleich sind (vx = vy = vz).

    Wenn alle bis auf einen der Skalierungsfaktoren 1 sind, stellt sich die Situation wie folgt dar:, Unsere Skalierung ist richtungsabhängig.

    In dem Fall, in dem vx = vy = vz = k ist, wird die Skalierung um den Faktor k auch als Vergrößerung oder Dilatation bezeichnet, wobei die Fläche um den Faktor k² und das Volumen um den Faktor k3 vergrößert wird.

    Im weitesten Sinne bezieht sich Skalierung auf jede affine Transformation, deren Matrix diagonalisiert werden kann. Wenn die drei Dimensionen der Skalierung nicht parallel zueinander verlaufen, gilt dies ebenfalls als Fall. Ebenfalls enthalten sind Szenarien, in denen einer oder mehrere der Skalierungsfaktoren null (wie in einer Projektion) oder negativ sind. Letzteres ist gleichbedeutend mit einer Verallgemeinerung der Reflexion in der Ebene und wird erreicht, indem die Reflexion an dem Punkt vorgenommen wird, an dem zwei Linien eine Ebene schneiden, die nicht senkrecht zu einer von ihnen zu sein braucht.

    Im Bereich der projektiven Geometrie, die typisch für den Bereich der Computergrafik ist, werden homogene Koordinaten zur Darstellung von Punkten verwendet.

    Um ein Objekt um einen Vektor v = (vx, vy, vz) zu skalieren, muss jeder homogene Koordinatenvektor p = (px, py, pz, Diese projektive Transformationsmatrix müsste mit (1, 1) multipliziert werden:

    S_{v}={\begin{bmatrix}v_{x}&0&0&0\\0&v_{y}&0&0\\0&0&v_{z}&0\\0&0&0&1\end{bmatrix}}.

    Das Produkt der Multiplikation ist wie in der folgenden Tabelle dargestellt:

    S_{v}p={\begin{bmatrix}v_{x}&0&0&0\\0&v_{y}&0&0\\0&0&v_{z}&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\\1\end{bmatrix}}={\begin{bmatrix}v_{x}p_{x}\\v_{y}p_{y}\\v_{z}p_{z}\\1\end{bmatrix}}.

    Mit dieser Skalierungsmatrix können wir eine gleichmäßige Skalierung um einen gemeinsamen Faktor s erreichen (gleichmäßige Skalierung), da die vierte Komponente einer homogenen Koordinate als Nenner der anderen drei Komponenten angesehen werden kann:

    S_{v}={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&{\frac {1}{s}}\end{bmatrix}}.

    Für jeden Vektor ist p = (px, py, pz, Wenn wir 1 hätten)

    S_{v}p={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&{\frac {1}{s}}\end{bmatrix}}{\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\\1\end{bmatrix}}={\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\\{\frac {1}{s}}\end{bmatrix}}
    Gefällt Ihnen die Vorschau?
    Seite 1 von 1