Кіріспе
Компьютерлік графикада, көрініс аймағы/көлемінен тыс сызықтарды жою. Компьютерлік графикада, сызықтарды қию – қызығушылық тудыратын аймақтан (көрергі немесе көрініс көлемі) тыс сызықтардың немесе сызықтардың бөліктерін жою (қию) процесі. Әдетте, көру аймағынан тыс жатқан сызықтың кез келген бөлігі алынып тасталады. Сызықтарды қиюдың екі кең таралған алгоритмі бар: Коэн – Сазерленд және Лян – Барски. Сызықтарды қию әдісі әртүрлі бөліктерден тұрады. Сызық сегментінің көру аймағынан немесе көлемнен тыс екенін анықтау үшін тесттер жүргізіледі. Содан кейін, бір немесе бірнеше қию шекараларымен қиылысу есептеулері жасалады. Сызықтың қай бөлігі қию көлемінің ішінде немесе сыртында екенін анықтау үшін сызықтың соңғы нүктелері қиылысуға қатысты өңделеді.
In computer graphics, line clipping is the process of removing (clipping) lines or portions of lines outside an area of interest (a viewport or view volume). Typically, any part of a line which is outside of the viewing area is removed. There are two common algorithms for line clipping: Cohen–Sutherland and Liang–Barsky. A line clipping method consists of various parts. Tests are conducted on a given line segment to find out whether it lies outside the view area or volume. Then, intersection calculations are carried out with one or more clipping boundaries. Determining which portion of the line is inside or outside of the clipping volume is done by processing the endpoints of the line with regards to the intersection.
Коэн Сазерленд
Компьютерлік графикада Коэн-Саттерленд алгоритмі (Дэнни Коэн мен Иван Саттерлендтің есімдерімен аталған) – сызық қиып тастау алгоритмі. Алгоритм 2D кеңістікті 9 аймаққа бөледі, олардың тек ортаңғы бөлігі (көрініс терезесі) көрінеді. 1967 жылы Дэнни Коэннің ұшу симуляциясы жұмысы Иван Саттерлендпен бірлесіп Коэн-Саттерленд компьютерлік графикасының екі және үш өлшемді сызық қиып тастау алгоритмдерін жасауға себеп болды.
Лиан Барский
Лианг-Барски алгоритмі сызық пен қиылыс қорабы арасындағы қиылыстарды анықтау үшін сызықтың параметрлік теңдеуін және қиылыс қорабының шектерін сипаттайтын теңсіздіктерді пайдаланады. Осы қиылыстардың нәтижесінде сызықтың қай бөлігін салу керектігі белгілі болады. Бұл алгоритм Коэн-Саттерленд алгоритмінен әлдеқайда тиімді, бірақ Коэн-Саттерленд тривиалды жағдайларды қабылдау немесе қабылдамау арқылы тездетеді, сондықтан көптеген сызықтарды қиып тастау қажет болса және олардың көпшілігі қиылыс терезесінің ішінде немесе сыртында болады деп күтілсе, осы алгоритмді қарастыру керек.
Сайрус Бек
Лиан–Барски сызығын қиып тастау алгоритміне өте ұқсас. Ерекшелігі – Лиан–Барски – тікбұрышты қиып тастау терезесі үшін оңтайландырылған, Cyrus–Beck алгоритмінің жеңілдетілген түрі. Cyrus–Beck алгоритмі негізінен 2 өлшемді дөңгелек көпбұрышқа немесе 3 өлшемді дөңгелек көпжаққа параметрлік формадағы сызықты қиып тастау үшін жасалған.
Николл Ли Николл
Nicholl–Lee–Nicholl алгоритмі – бір сызық сегментін бірнеше рет қиып тастау ықтималдығын азайтатын жылдам сызық қиып тастау алгоритмі, бұл Cohen–Sutherland алгоритмінде болуы мүмкін. Қиып тастау терезесі, қиылатын сызықтың бастапқы нүктесінің орналасуына қарай бірнеше түрлі аймаққа бөлінеді.
Тез кесу
Бұл алгоритм Коэн-Саттерленд алгоритмімен ұқсас. Бастапқы және соңғы нүктелер 9 аймақтық тордың қай бөлігінде орналасқанына байланысты жіктеледі. Үлкен `switch` операторы сол жағдайға арналған арнайы өңдеушіге секіреді. Ал, Коэн-Саттерленд бір жағдайды өңдеу үшін бірнеше рет қайталауы мүмкін.
O ((lg N) алгоритмі
Бұл алгоритм берілген түзуге қатысты төбелерді жасырын түрде жіктейді: p: ax + by + c = 0. Көпбұрыш дөңес деп есептелгендіктен және төбелер сағат тілі бойынша немесе сағат тіліне қарсы реттелгендіктен, екілік іздеуді қолдануға болады, бұл O(lg N) орындалу уақытының күрделігіне алып келеді.