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.

Clipping von Strecken

Bearbeiten

Am Rechteckfenster

Bearbeiten

Gegeben sind die beiden Endpunkte einer Strecke   und ein Fenster  . Ziel ist es nun, den Teil der Strecke   zu bestimmen, der sich innerhalb des Rechteckfensters befindet.

 
Fall 1 bis 4

Es sind vier Fälle möglich:

  •   und   liegen im Rechteckfenster. Die gesamte Gerade ist zu zeichnen (grüne Strecke).
  •   und   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 (blaue Strecke).
  •   oder   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 (gelbe Strecke).
  •   und   liegen so außerhalb des Fensters, dass nichts zu zeichnen ist (rote Strecke).

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

An beliebigen Polygonen

Bearbeiten

Es liegt wiederum eine Strecke mit Endpunkte   und   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   und   mit   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.

Polygonclipping

Bearbeiten

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.

Siehe auch

Bearbeiten

Literatur

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