Das Kefk Network Wiki befindet sich im Testbetrieb.


Rasterung (Computergrafik)

Aus Kefk.

Wechseln zu: Navigation, Suche

In der 2D-Computergrafik bezeichnet Rasterung oder Rastern (auch: Rendern) die Umwandlung einer Vektor- in eine Rastergrafik. Die Rasterung für Rasterbildschirme nennt man auch Scankonvertierung.

Inhaltsverzeichnis

Verfahren

Bild:Rastervrp.png
Links: Darstellung eines vektorbasierten Ausgangsbildes mit darübergelegtem Raster (die Pixel sind hier als Quadrate dargestellt).
Rechts: Die gerasterte Grafik, hier mit Kantenglättung.

Es gibt eine Vielzahl von Algorithmen zur Rasterung von grafischen Primitiven, wie Linien, Kreisen und dergleichen mehr. Derartige Algorithmen gehören zu den ältesten Entdeckungen der Computergrafik. Verschiedene Verfahren wurden unter anderem entwickelt für:

Ein bekanntes Problem der Rasterung ist der Treppeneffekt. Steht für die zu erzeugende Rastergrafik eine Farbtiefe von mehr als 1 bpp zur Verfügung, so kann dieser Effekt mittels „Kantenglättung“ (Antialiasing) vermindert werden. Dazu gibt es mehrere Methoden, die teils ungewichtet arbeiten, teils einen speziellen Filter (Glättungskern) verwenden.

Bei der Rasterung von Text treten spezielle Probleme auf, die mittels Hinting vermieden werden können.

Es gibt Bildschirme oder auch mechanische Geräte, deren Pixel nicht in einem Quadrat-, sondern in einem Rechteckraster angeordnet sind. Hier sind zum Zeichnen entsprechende Skalierungen nötig; ein Kreis kann zum Beispiel durch das Rastern einer Ellipse gezeichnet werden.

Besonderes

Löschung von Primitiven

Bereits gezeichnete Figuren können selektiv gelöscht werden, indem sie nochmals mit der Hintergrundfarbe gezeichnet werden. Das funktioniert jedoch nicht, wenn sie andere Figuren überschneiden, da hierbei auch unerwünschte Bildteile gelöscht werden können. Eine effiziente Möglichkeit, dies zu vermeiden, ist mittels Minimax- oder Boxing-Tests. Hierbei wird zunächst geprüft, ob sich in dem von der zu löschenden Figur aufgespannten Rechteck andere Figuren befinden. Nur wenn dies der Fall ist, muss auf Schnittpunkte getestet und gegebenenfalls der gesamte Bereich neu gezeichnet werden.

Dicke Primitiven

Bei der Rasterung von Primitiven mit einer bestimmten Dicke gibt es, sonfern sie nicht bereits vom verwendeten Antialiasing-Algorithmus unterstützt wird, mehrere Möglichkeiten. Bei Polygonen müssen hierbei auch die Verbindungsstellen zwischen den einzelnen Liniensegmenten beachtet werden, siehe hierzu Rastern von Polygonen.

Pixelwiederholung – Eine Methode ist, bei der Rasterung anstatt einem mehrere Pixel vertikal bzw. horizontal zu zeichnen. Ein Problem ist, dass Kurvenenden bei dicken Kurven „abgeschnitten“ wirken. Daneben kann es an den Stellen, an denen von horizontaler zu vertikaler Wiederholung oder umgekehrt gewechselt wird, zu merklichen Lücken kommen. Außerdem weisen derartig gerasterte Kurven, ähnlich wie dünne Linien, eine unterschiedliche Dicke in Abhängigkeit von der lokalen Steigung auf.

Pinsel – Hierbei wird eine bestimmte Rastergrafik als „Pinsel“, im einfachsten Fall ein Quadrat mit gewünschter Kantenlänge, entlang der Kurve bewegt. Auch hier variiert die Dicke in Abhängigkeit von der Steigung, im Gegensatz zur Pixelwiederholung ist die Linie jedoch bei Diagonalschritten am dicksten. Dieses Problem lässt sich dadurch umgehen, dass das Quadrat gemäß der lokalen Steigung der Kurve gedreht wird, einfacher ist es jedoch, einen Kreis als Pinsel zu verwenden. Ein Nachteil der Methode ist, dass man bei der Rasterung auf sehr viele bereits in den vorhergehenden Schritten eingefärbte Pixel stößt. Dieser Effekt ist umso größer, je dicker die Kurve ist. Um das Problem der variierenden Kurvendicke zu lösen, schlug Hobby eine Methode vor, bei der polygonförmige Pinsel verwendet werden.[1]

Füllen zwischen Rändern – Eine andere Methode zur Rasterung einer dicken Kurve besteht darin, ihre beiden Ränder in einigem Abstand voneinander zu zeichnen und den dazwischen liegenden Bereich auszufüllen. Ein Nachteil ist, dass bei der zweifarbigen Rasterung die Kurve wegen Rundungsfehlern möglicherweise etwas verschoben erscheint. Bei Ellipsen muss beachten werden, dass die Rasterung durch das Zeichnen zweier konfokaler Ellipsen mit unterschiedlich langen Halbachsen geometrisch nicht korrekt ist.

Liniensegmente – Schließlich gibt es die Möglichkeit, dicke Kurven durch eine Aneinanderreihung kurzer Liniensegmente zu zeichnen. Dabei müssen die gleichen Besonderheiten wie bei der Rasterung von Polygonen beachtet werden, damit die Liniensegmente korrekt miteinander verbunden werden.

Rasterung bei mechanischen Geräten

Neben der Darstellung auf einem Bildschirm kann die Rasterung auch bei mechanisch bewegten Geräten, zum Beispiel Plottern, angewandt werden. Ein gemeinsames Charakteristikum ist hier, dass zwischen zwei Pixeln durchgehend analog gefahren wird. Wenn man die Verhältnisse der Bildschirmgrafik auf mechanische übertragen wollte, müsste man sie mit einer Tätowierernadel vergleichen, die viele einzelne Punkte setzt.

Neben Stiftplottern gibt es noch viele weitere Geräte, die sich digital angesteuert in einem Koordinatensystem bewegen. Dazu zählen Schneidautomaten, unter anderem mit Laserkopf, Hochdruck-Wasserstrahl oder in die jeweilige Fahrrichtung drehbarem Messereinsatz. Auch die 3D-Rapid-Prototyping-Maschinen gehören zum Teil dazu.

Dicke Primitiven beim Plotter

Unter anderem Platinenlayouts erfordern breite Leiterbahnen und große Lötaugen, die auch mit größeren Strichdicken nicht direkt mit einem einzelnen Stiftstrich oder -punkt gezeichnet werden können. Die Steuersoftware des Plotters muss dafür genau wissen, welche Strichdicke der jeweilige Stift erzeugt, damit sie parallele Striche zu deckenden Flächen zusammenfügen kann.

Ein kreisförmiges Lötauge wird dann aus mehreren konzentrischen Kreisen zusammengesetzt, deren Radien jeweils um die Strichdicke ansteigen.

Bei einer breiten Leiterbahn kommt es noch darauf an, wie die Enden abgeschlossen werden sollen. Bei einer rechtwinkligen Einmündung in eine andere Leiterbahn ist der Abschluss rechteckig, und die Bahn wird wie das Lötauge aus einer Reihe konzentrischer Rechtecke aufgebaut.

Bei freien Verläufen will man einen halbrunden Abschluss, den man aus konzentrischen Ovalen zusammensetzt, also einer geraden Linie, einem Halbkreis, wieder einer geraden Linie, noch einem Halbkreis, einer Linie um eine Strichbreite nach außen und dann dem nächsten Oval usw.

Vermeidung von Papierverletzungen

Beim Plotten wird das Papier durch die Tinte auch eingenässt. Wenn das wie oben beschrieben großflächig geschieht, wird es riskant, direkt anschließend wieder über solche Gebiete zu fahren. Das Papier könnte reißen oder zumindest die Zeichnung verschmieren.

Die Steuersoftware sollte also dafür sorgen, dass hier nicht redundant gezeichnet wird. Falls doch einmal über vorhandene Teile der Zeichnung gefahren werden muss – etwa mit anderer Farbe für Beschriftungen – dann nach einer genügend langen Zeit, in der das Papier antrocknen kann.

Stiftansteuerung

Ein Plotterstift wird von der Kopfmechanik oft heftig auf die Papierfläche gestoßen. Das führt praktisch immer zu einem kleinen Klecks. Nach dem Absenken muss er also so schnell wie möglich losfahren. Dazu muss die Steuersoftware schon im Voraus die nächste Richtung ermittelt haben. Der Stift darf aber auch nicht so früh losfahren, dass er den Kurvenanfang verpasst und erst zu spät aufsetzt. Entsprechend muss der Stift am Kurvenende genau dann abgehoben werden, bevor er dort einen Klecks verursacht.

Dynamik der Fahrbewegungen

Bei den genannten Geräten werden teilweise beträchtliche Massen bewegt. Bei Plottern gibt es Stiftrevolver, die eine große Anzahl Stifte bereithalten, und bei Schneidsystemen sind die Massen noch weit höher.

Die Antriebsmotoren können immer nur eine bestimmte Leistung erbringen, die sich in einer maximalen Beschleunigung niederschlägt. Die Steuersoftware darf nicht versuchen, die Motoren noch schneller zu betreiben. Um eine „weiche“ Beschleunigung beim Anfahren zu erreichen, ist zwischen jedem einzelnen Pixel eine zusätzliche Pause erforderlich, die dann längs der Linie/Kurve immer weiter verkleinert wird, bis die Endgeschwindigkeit erreicht ist. Letztere darf den jeweiligen Stift nicht überfordern und muss angepasst sein. Entsprechend muss die Steuersoftware früh genug vor dem Kurvenende damit anfangen, die Pausenwerte wieder zu steigern, um bis zum Stillstand herunterzubremsen.

Toleranzen und mechanische Nachgiebigkeit (Elastizität) der Kopfmechanik führen zu Ungenauigkeiten bei der Positionierung. Im Idealfall bleibt diese Ungenauigkeit unterhalb einer Pixelabmessung. Bei einer geraden, schrägen Linie können diese Abweichungen sogar den willkommenen Effekt bringen, dass sie die Zickzacklinien der digitalisierten Linie ausgleichen und zu einem saubereren Bild führen. Bei Kurvenfahrten stört dies aber, da der Kopf ähnlich wie ein Auto übersteuert und weiter außen fährt als gewünscht. Die Steuersoftware kann dies nur dadurch in Grenzen halten, dass sie die Geschwindigkeit auf ein Maß mit noch vertretbaren Abweichungen beschränkt. Hierzu muss sie die Krümmung der Kurve auswerten.

Literatur

  • James D. Foley u. a.: Computer Graphics: Principles and Practice in C. Addison-Wesley, Reading (Massachusetts) 1995
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Rasterung_%28Computergrafik%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
, ISBN 978-0-201-84840-3.
  • David F. Rogers: Procedural Elements for Computer Graphics. WCB/McGraw-Hill, Boston 1998
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Rasterung_%28Computergrafik%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
, ISBN 978-0-07-053548-0.

Einzelne Artikel:

  1. John D. Hobby: Digitized Brush Trajectories. Dissertation, Stanford University, 1985 (PDF, 30 MB)
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Rasterung_%28Computergrafik%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge