Кіріспе

Компьютерлік графикада және есептеу геометриясында, объектілер жиынтығының шектеу көлемі (немесе шектеу аймағы) – бұл жиынтықтағы объектілердің бірігіп жатқан бөлігін толығымен қамтитын жабық көлем. Шектеу көлемдері геометриялық операциялардың тиімділігін арттыру үшін қолданылады, мысалы, қарапайым аймақтарды пайдалану арқылы немесе қабысуды тексерудің оңай жолдарына ие болу арқылы. Объектілер жиынтығының шектеу көлемі, олардың бірігіп жатқан бөлігінен тұратын жалғыз объектінің шектеу көлемі болып табылады, және керісінше. Сондықтан, сипаттаманы бос емес және шектелген (соңы шектеулі) деп есептелетін жалғыз объектінің жағдайымен шектеуге болады.

Қолданылуы

Шектеулі көлемдер көбінесе белгілі бір сынақ түрлерін жеделдету үшін қолданылады. Сәуле іздеуде шектейтін көлемдер сәуле қиылысу сынақтарында қолданылады, ал көптеген рендеринг алгоритмдерінде олар көру фрустумына тексеру үшін қолданылады. Егер сәуле немесе көру фрустумы шектейтін көлеммен қиылыспаса, онда ол ішіндегі нысанды қиылыстыра алмайды, бұл тривиальды түрде қабылдамауға мүмкіндік береді. Егер фрустум шектейтін көлемді толығымен қамтитын болса, онда оның ішкі мазмұны қосымша сынақтарсыз қабылдануы мүмкін. Бұл қиылысу сынақтары "көрсетілуге" тиіс (рендерингтелген; растрленген) нысандардың тізімін жасайды. Соқтығысуды анықтауда егер екі шектейтін көлем қиылыспаса, онда олардың ішіндегі нысандар соқтығыса алмайды. Шектейтін көлемге қарсы сынау, әдетте, нысанның өзіне қарсы сынаудан әлдеқайда жылдам, себебі шектейтін көлемнің геометриясы қарапайым. Бұл "нысан" әдетте көпбұрыштардан немесе көпбұрышты жақындықпен бейнеленген дерек құрылымдарынан тұрады. Кез келген жағдайда, нысан көрінбесе, әрбір көпбұрышты көру көлемімен салыстыру есептеу ресурстарын ысырап ету болып табылады. (Экрандағы нысандар олардың бетінің көрінетін-көрінбейтініне қарамастан, экранға "қиылып" кесуі керек.) Күрделі нысандардың шектейтін көлемдерін алу үшін, жиі қолданылатын тәсіл – нысандарды/сахнаны сахналық граф немесе нақтырақ айтқанда, шектейтін көлемдердің иерархиясын, мысалы, OBB ағаштарын пайдалану арқылы бөлу. Мұның негізгі идеясы – сахнаны ағаш тәрізді құрылымда ұйымдастыру, онда түбір сахнаның барлығын қамтиды, ал әрбір жапырақ кішігірім бөлікті қамтиды. Компьютерлік стерео көруде нысанның силуэттерінен қайта құрылған шектейтін көлем "көрнекі қабықша" деп аталады.

Жалпы түрлері

Берілген қолданба үшін шектеу көлемінің түрін таңдау әртүрлі факторлармен анықталады: нысан үшін шектеу көлемін есептеудің есептеулік құны, нысанның қозғалуы немесе пішіні немесе мөлшері өзгеруі мүмкін қолданбаларда оны жаңарту құны, қиылыстарды анықтау құны және қиылысу тестінің қажетті дәлдігі. Қиылысу тестінің дәлдігі шектелген нысанмен байланысты емес шектейтін көлемдегі бос кеңістік мөлшерімен байланысты. Күрделі шектеу көлемдері әдетте бос орынды азайтады, бірақ есептеу жағынан қымбатқа түседі. Жылдам, бірақ жуық тестің қажеттілігі үшін арзан түрді, дәл, бірақ қымбат түрмен бірге қолдану жиі кездеседі. Мұнда қарастырылатын барлық түрлер дөңес шектеу көлемдерін береді. Егер шектелетін нысан дөңес болса, бұл шектеу емес. Дөңес емес шектеу көлемдері қажет болса, оларды бірнеше дөңес шектеу көлемдерінің бірігісі ретінде ұсынуға болады. Өкінішке орай, шектеу қораптары күрделенген сайын қиылысу тестілерінің құны артады. Шектеу қорабы немесе ең кішкентай шектеу қорабы (МБК) – нысанды қамтитын тіктөртбұрыш призма немесе 2D жағдайда тіктөртбұрыш. Динамикалық модельдеуде, қиылысу тестінің қажетті дәлдігі жоғары болғанда, шектеу қораптары шарлар немесе цилиндрлер сияқты басқа шектеу көлемдеріне қарағанда артықшылық береді. Мысалы, жерге тірелген автомобиль үшін: шектеу шар автомобильдің жермен қиылысу мүмкіндігін көрсетуі мүмкін, бұл автомобильдің нақты моделінің қымбат тестімен тексерілуі керек; ал шектеу қорабы автомобильдің жермен қиылыспайтынын бірден көрсетеді, қымбат тестіні үнемдейді. Ең кішкентай шектеу тіктөртбұрышы (MBR) – ең кішкентай AABB 2D – географиялық (немесе "геокеңістік") дерек элементтерін сипаттауда жиі қолданылады, дерек жиынтығының кеңістіктік көлемінің (геокеңістік метадеректерді қараңыз) қарапайым өкілі ретінде деректерді іздеу (оның ішінде кеңістіктік сұраныстар) және көрсету үшін қолданылады. Бұл кеңістіктік индекстеудің R-ағашы әдісінің негізгі құралы болып табылады. Көптеген қолданбаларда шектеу қорабы координаталар жүйесінің осьтерімен сәйкес келеді, және бұл жағдайда оське сәйкес шектеу қорабы (AABB) деп аталады. AABB-ді жалпы жағдайдан ажырату үшін, кездейсоқ шектеу қорабы кейде бағдарланған шектеу қорабы (OBB) немесе OOBB деп аталады, егер қолданыстағы нысанның жергілікті координаталар жүйесі қолданылса. AABB-ді қиылысу үшін OBB-ге қарағанда тексеру оңайырақ, бірақ нысан айналған кезде оны нысанмен бірге айналдыруға болмайды, қайта есептеу қажет. Шектеу капсуласы – нысанды қамтитын сыпырылған шар (яғни шардың түзу сызық сегменті бойымен қозғалғанда алатын көлемі). Капсулалар сыпырылған шардың радиусымен және шардың сыпырылған сегментімен сипатталады. Оның цилиндрге ұқсас қасиеттері бар, бірақ оны пайдалану оңайырақ, өйткені қиылысу тесті қарапайым. Капсула мен басқа нысан, егер капсуланың анықтамалық сегменті мен басқа нысанның кейбір ерекшеліктері арасындағы қашықтық капсуланың радиусынан кіші болса, қиылысады. Мысалы, екі капсуланың сегменттері арасындағы қашықтық олардың радиустарының қосындысынан кіші болса, олар қиылысады. Бұл кездейсоқ айналған капсулалар үшін де орындалады, сондықтан олар цилиндрлерге қарағанда тиімді. Шектеу цилиндрі – нысанды қамтитын цилиндр. Көптеген жағдайларда цилиндрдің осі сахнаның тік бағытына сәйкес келеді. Цилиндрлер тек тік ось бойынша айналуға және басқа осьтер бойынша емес, сондай-ақ тек аударма арқылы қозғалуға рұқсат етілген 3D нысандар үшін қолайлы. Екі тік оське сәйкес келген цилиндрлер бір мезгілде олардың тік осьтегі проекциялары (екі сызық сегменті) және олардың көлденең жазықтықтағы проекциялары (екі дөңгелек дискі) қиылысса, қиылысады. Екеуін де тексеру оңай. Видео ойындарда, тік тұрған адамдар үшін шектеу көлемі ретінде шектеу цилиндрлері жиі қолданылады. Шектеу эллипсоиды – нысанды қамтитын эллипсоид. Эллипсоидтар әдетте шардан тығыз орналасады. Эллипсоидтармен қиылысулар эллипсоидтың бас осьтері бойымен екінші нысанды эллипсоидтың радиустарының кері шамасына тең мөлшерде масштабтау арқылы жасалады, осылайша масштабталған нысанды бірлік шармен қиылыстыру мәселесін азайтады. Қолданылатын масштабтау қиылысқа алып келмесе, сақтану қажет. Қиылыс кейбір жағдайларда, мысалы екі кездейсоқ эллипсоидтың қиылысында эллипсоидтарды пайдалануды тиімсіз етеді. Шектеу шар – нысанды қамтитын шар. 2D графикада бұл шеңбер. Шектеу шарлары ортасы және радиусымен сипатталады. Оларды бір-бірімен соқтығысу тесті үшін өте жылдам пайдалануға болады: екі шар қиылысады, егер олардың орталары арасындағы қашықтық олардың радиустарының қосындысын аспаса. Бұл шектеу шарларын кез келген өлшемде қозғала алатын нысандар үшін қолайлы етеді. Шектеу плитасы – ось бойындағы көлемді проекциялайтын көлем, және оны екі жазықтық арасында шектелген плита ретінде қарастыруға болады. Шектеу қорабы – ортогоналды бағытталған шектеу плиталарының қиылысы. Шектеу плиталары сәулелерді іздеу жылдамдығын арттыру үшін қолданылған. 2D жағдайында шектеу үшбұрышы B-сплайн қисығының қиылысын немесе көрінуін жылдамдату үшін пайдалы. "Клиппинг (компьютерлік графика)" тақырыбы бойынша "Шеңбер және B-сплайн қиылыс алгоритмдері" мысалына қараңыз. Дөңес қабықша – нысанды қамтитын ең кішкентай дөңес көлем. Егер нысан шекті сандар жиынтығының бірігісі болса, оның дөңес қабықшасы политоп болады. Дискретті бағытталған политоп (DOP) шектеу қорабын кеңейтеді. k DOP – k бағыт бойынша кеңістіктердің буледік қиылысы. Осылайша, k DOP нысанды қамтитын k шектеу плитасының буледік қиылысы және дөңес политоп болып табылады (2D жағдайында көпбұрыш; 3D жағдайында көпжақ). 2D тіктөртбұрыш – 2 DOP-тың ерекше жағдайы, ал 3D қорабы – 3 DOP-тың ерекше жағдайы. Жалпы алғанда, DOP-тың осьтері ортогоналды болуы міндетті емес, және кеңістік өлшемдерінен көп осьтер болуы мүмкін. Мысалы, барлық жиектері мен бұрыштары бейіштелген 3D қорабын 13 DOP ретінде құруға болады. Беттердің нақты саны кейбір беттер жиекке немесе төбеге дейін азайтылса, 2k-дан аз болуы мүмкін.