A Cohen-Sutherland algoritmus ( eng. Cohen-Sutherland ) egy szegmensvágó algoritmus , vagyis egy olyan algoritmus, amely lehetővé teszi a szegmens téglalapot metsző részének meghatározását . Dan Cohen és Ivan Sutherland fejlesztette ki a Harvardon 1966-1968 - ban , és 1968 -ban az AFIPS konferencián publikálták [ 1] [2] .
Az algoritmus a síkot 9 részre osztja egyenes vonalakkal, amelyek a téglalap oldalait alkotják. Mind a 9 részhez négy bites kód tartozik. A bitek (a legalacsonyabbtól a legmagasabbig) azt jelentik, hogy „balra”, „jobbra”, „lent”, „felül”. Más szóval, a sík azon három részének, amelyek a téglalaptól balra vannak, a legkisebb jelentőségű bit 1, és így tovább.
Az algoritmus meghatározza a szegmens végeinek kódját. Ha mindkét kód nulla, akkor a szegmens teljesen a téglalapon belül van. Ha a bitenkénti ÉS kódok nem egyenlők nullával, akkor a szegmens nem metszi a téglalapot (mivel ez azt jelenti, hogy a szegmens mindkét vége a téglalap ugyanazon az oldalán van). Más esetekben az algoritmus kiválasztja a szegmens végét (vagy az egyik végét), amelynek kódja nem nulla (vagyis a téglalapon kívül található), megkeresi a szakasz legközelebbi metszéspontját az egyik vonallal, alkotja a téglalap oldalait, és ezt a metszéspontot használja új végszegmensként. A lerövidített szegmenst ismét átvezetjük az algoritmuson.
A 3D-s modell algoritmusának megvalósítása megegyezik a 2D-s megvalósítással, azzal a különbséggel, hogy négy bites kód helyett hatbites kódot használnak (további két bit mélység).