Clipping (Computergrafik)

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Als Clipping oder Abschneiden (englisch to clip = „abschneiden“, „kappen“) bezeichnet man in der Computergrafik das Abschneiden von Grundobjekten am Rand eines gewünschten Bildschirmausschnittes oder Fensters. Ein Fenster kann dabei ein beliebiges Polygon sein.

Inhaltsverzeichnis

[Bearbeiten] Clipping von Strecken

[Bearbeiten] Am Rechteckfenster

1. Fall
3. Fall
4. Fall

Gegeben sind die beiden Endpunkte einer Strecke P = (x_p, y_p),Q = (x_q, y_q) \in \mathbb{R}^2 und ein Fenster \Omega = [x_\min, x_\max] \times [y_\min, y_\max] \subset \mathbb{R}^2. Ziel ist es nun, den Teil der Strecke \overline{PQ} zu bestimmen, der sich innerhalb des Rechteckfensters befindet. Es existieren vier Fälle:

  • P und Q liegen im Rechteckfenster. Die gesamte Gerade ist zu zeichnen.
  • P und Q liegen außerhalb des Rechteckfensters, die Gerade verläuft zum Teil jedoch durch das Rechteckfenster. Die beiden Schnittpunkte müssen berechnet werden und der Teil zwischen den beiden Schnittpunkten ist zu zeichnen.
  • P oder Q liegt im Fenster und der jeweils andere Punkt außerhalb. In diesem Fall wird der Teil vom im Fenster liegenden Punkt bis zum Schnittpunkt mit der Fensterkante gezeichnet.
  • P und Q liegen so außerhalb des Fensters, dass nichts zu zeichnen ist.

Solche Probleme lösen die Algorithmen von Cohen-Sutherland, Cyrus-Beck und von Liang-Barsky.

[Bearbeiten] An beliebigen Polygonen

Es liegt wiederum eine Strecke mit Endpunkte P und Q wie oben vor. Zur Berechnung der Anteile, die innerhalb eines Polygons liegen, werden die Schnittpunkte der Strecke mit dem Polygonfenster unter Berücksichtigung des Inside Test und des Max-Min Test bestimmt. Diese Vorgehensweise vollzieht der Scanline-Algorithmus zum zeilenweisen Zeichnen von Polygonen. Es werden Zeile für Zeile Punkte P und Q mit yp = yq gewählt, die sich links oder rechts neben den Polygon befinden. Durch Clipping dieser Linie am Polygon entsteht zeilenweise der zu zeichnende Polygonanteil einer kompletten Zeile.

[Bearbeiten] Polygonclipping

Polygonclipping ist das Clipping eines beliebigen Polygons bezüglich eines Rechteckfensters oder beliebigen Polygons. Es treten verschiedene Situationen auf:

  • Kanten des Polygons müssen vollständig, teilweise oder gar nicht übernommen werden,
  • Neue Kanten müssen aufgenommen werden,
  • Aus einem Polygon können beim Clipping mehrere Polygone entstehen.

Diese Probleme deckt der Algorithmus von Sutherland-Hodgman ab. Er betrachtet dabei ein Polygon als eine Sequenz von Punkten, die er abläuft und dann

  • den Punkt übernimmt,
  • den Punkt als Schnittpunkt des Polygons mit dem Fensterpolygon neu berechnet,
  • den Punkt entfernt.

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

  • Max K. Agoston: Computer Graphics and Geometric Modeling. Springer, London 2005, ISBN 1-85233-818-0.

[Bearbeiten] Weblinks

Persönliche Werkzeuge