- Algorithmus von Sutherland-Hodgman
-
Der Algorithmus von Sutherland-Hodgman ist ein nach Ivan Sutherland und Gary W. Hodgman benannter Algorithmus der Computergrafik zum Clipping von Polygonen.
Inhaltsverzeichnis
Grundversion
Mit dem Sutherland-Hodgman-Algorithmus kann man mit jedem konvexen Polygon jedes andere Polygon (konvex oder konkav) clippen. Für jede Fensterkante wird die Begrenzungsstrecke zu einer Gerade erweitert, an der sämtliche (relevanten) Polygonkanten gekürzt werden.
Pseudo-Code
Der folgende Pseudo-Code clippt ein Polygon nach dem Sutherland-Hodgman-Algorithmus:
List outputList = subjectPolygon; for (Edge clipEdge in clipPolygon) do List inputList = outputList; outputList.clear(); Point S = inputList.last; for (Point E in inputList) do if (E inside clipEdge) then if (S not inside clipEdge) then outputList.add(ComputeIntersection(S,E,clipEdge)); end if outputList.add(E); else if (S inside clipEdge) then outputList.add(ComputeIntersection(S,E,clipEdge)); end if S = E; done done
Erweiterte Version
Clipping eines Polygons bzgl. eines beliebigen konvexen Polygons. Beschreibung des Polygons durch seine Ecken und Kanten von vi nach bzw. von vn nach v1. Nun wird in n Teilschritten die Liste der Ecken durchlaufen und eine Liste mit n' Polygonecken ausgegeben. Beim Übergang sind vier Fälle möglich.
- vi und vi + 1 liegen im Fenster, so wird vi + 1 übernommen
- liegt vi außerhalb und vi + 1 innerhalb, so wird der Schnittpunkt mit der Fensterkante und vi + 1 übernommen
- liegt vi innerhalb und vi + 1 außerhalb, dann wird ebenso der Schnittpunkt mit der Fensterkante übernommen
- sollten vi und vi + 1 außerhalb liegen, dann wird entweder kein neuer Punkt übernommen, oder die beiden Schnittpunkte mit den Fensterkanten werden übernommen, falls die Gerade von vi nach vi + 1 durch das Clippingfenster verläuft.
Literatur
- Mel Slater, Anthony Steed, Yiorgos Chrysanthou: Computer Graphics and Virtual Environments: From Realism to Real-Time. Addison Wesley ISBN 0-201-62420-6
- Ivan Sutherland, Gary W. Hodgman: Reentrant Polygon Clipping. Communications of the ACM, vol. 17, pp. 32-42, 1974
Weblinks
Kategorie:- Algorithmus (Computergrafik)
Wikimedia Foundation.