Кіріспе

Үшбұрышты тордағы ортақ төбелері бар үшбұрыштар жиынтығы. Компьютерлік графикада үшбұрышты жолақ – үшбұрышты тордағы ортақ төбелері бар үшбұрыштардың ішкі жиыны, және тор туралы ақпаратты сақтаудың жадты үнемдейтін әдісі. Олар индекстелмеген үшбұрыштар тізімінен тиімдірек, бірақ көбінесе индекстелген үшбұрыштар тізімімен бірдей жылдамдыққа ие немесе одан баяу. Үшбұрышты жолақты пайдаланудың басты себебі – үшбұрыштар тізбегін жасау үшін қажетті дерек көлемін азайту. Жадыда сақталатын төбелердің саны 3N-ден N + 2-ге дейін төмендейді, мұнда N – салынатын үшбұрыштар саны. Бұл дискідегі орынды азайтуға және оларды жедел жадқа (RAM) жылдам жүктеуге мүмкіндік береді. Мысалы, суреттегі төрт үшбұрышты үшбұрышты жолақтарсыз сақтау үшін төрт жеке үшбұрыш ретінде сақтау және интерпретациялау қажет: ABC, CBD, CDE және EDF. Бірақ үшбұрышты жолақты қолдану арқылы оларды ABCDEF тізбегі түрінде сақтауға болады. Бұл тізбек ABC, BCD, CDE және DEF төбелері бар үшбұрыштар жиынтығы ретінде декодталады, бірақ төбелерді оқудың нақты реті солдан оңға қарай болмайды, себебі бұл жағдайда жапсарлас үшбұрыштар қарама-қарсы бағытта орналасады.

Жылжымайтын мүлік және құрылыс

Анықтамадан шығатынындай, үшбұрышты жолақтың төбелерінің тізбегі де үшбұрышты жолақты білдіреді. Дегенмен, егер бұл кіші жолақ жұп (1-ден бастап санағанда) нөмірлі төбеден басталатын болса, түзілген үшбұрыштар бағытын өзгертеді. Мысалы, BCDEF кіші жолағы BCD, CED, DEF үшбұрыштарын білдіреді. Сол сияқты, жолақтың төбелерін кері тізбектеу, егер жолақта жұп саны төбелер болса, үшбұрыштардың сол жиынтығын береді. (мысалы, FEDCBA жолағы бастапқы жолақпен бірдей FED, ECD, DCB, CAB үшбұрыштарын білдіреді). Алайда, егер жолақта тақ саны төбелер болса, кері тізбектелген жолақ қарама-қарсы бағытталған үшбұрыштарды білдіреді. Мысалы, ABCDE жолағын кері тізбектеу EDCBA жолағын береді, ол EDC, DBC, CBA үшбұрыштарын білдіреді). Жалпы көпбұрышты торды бір ұзын жолаққа айналдыру соңғы кезге дейін мүмкін болмады. Әдетте үшбұрышты жолақтар шеттік циклдар жиынтығына ұқсас, ал модельдегі полюстер үшбұрышты желдеткіштермен көрсетіледі. Stripe немесе FTSG сияқты құралдар модельді бірнеше жолақтар түрінде ұсынады. Үшбұрыштар жиынтығын тізбектелген жолақтарға оптималды топтастыру NP-толық екені дәлелденді. Басқаша айтқанда, толық нысанды өңдеу бағдарламасы немесе аппараттық құрал нөлдік ауданы бар үшбұрыштардан тұратын дегенеративті жолақ ретінде сипаттауы мүмкін, оларды өңдеу бағдарламасы немесе аппараттық құрал жояды. Бұзылған үшбұрыштар жолаққа үзілістерді немесе "секірістерді" енгізеді. Мысалы, диаграммадағы тор ABCDDFFEDC ретінде де көрсетілуі мүмкін, бұл үшбұрыштар ABC CBD CDD DDF DFF FFE FED DEC (курсивпен белгіленген бұзылған үшбұрыштар) ретінде түсіндіріледі. Көріп тұрғаныңыздай, бұл жолақ сол жақтан екі үшбұрыш құрастырып, содан кейін қайта бастап, қалған екеуін оң жақтан құрастырады. Үшбұрышты жолақтардағы үзілістерді төбелерді қайта жіберу арқылы әрқашан іске асыруға болады, бірақ кейде API-лер бұл мүмкіндікті тікелей қолдайды. IRIS GL Swaps-ты қолдады (жолақтағы екі келесі төбені ауыстыру), бұл SGI алгоритмі сияқты ерте алгоритмдерде қолданылған мүмкіндік. Жақында OpenGL/DirectX Primitive Restart мүмкіндігін пайдаланып, дегенерацияланған үшбұрыштарсыз бірнеше үшбұрышты жолақты көрсетуге қабілетті.