«Қоғамды ақпараттандыру» III Халықаралық ғылыми-практикалық конференция
327
ОӘК 004.032.6:37 К.К. ЗАУРБЕКОВА
Л.Н.Гумилев атындағы Еуразия ұлттық университеті, Астана, Қазақстан
ҮШӨЛШЕМДІ КЕҢІСТІКТЕ ОБЪЕКТІЛЕРДІ БЕРУДЕ КЕЗДЕСЕТІН МӘСЕЛЕЛЕР ЖӨНІНДЕ
Компьютерлік модельдеу саласында білім алушы студенттерді компьютерлік графикаға оқыту үрдісінде кәсіби даярлау педагогика ғылымының алдында тұрған іс жүзіндегі өзекті мәселе, өйткені қоғам өндірістің барлық салалары мен қоғамдық өмірде жоғарғы кәсіби мамандарға мұқтаж. Қоғамға шығармашылықты, ұмтылысы бар болашақ компьютерлік- модельдеуші тұлғаның қажет. Мақалада қарастырылған мәселе компьютерлік графиканың программалау негіздері мен бейнені аппаратурада шығару қағидаларына қолданушының назарын аудару.
Мұнда үшөлшемді сахнаны экранға шығару барысында кездесетін негізгі мәселелерді қарастырайық. Сонымен қатар, ақпартты өңдеудің экрандағы бейнесінен бастап барлық негізгі кезеңдерінен өтіп программалық жүзеге асуына келуін бақылайық.
Қолданушының сипаттамасы бойынша өзгешеленетін, мысалы біреуі – жылдам, екіншісі – дәл болатын стандартты құралдардың кішігірім жиынтығынан таңдау мүмкіндігі бар. Солай бола тұрса да қолданушылар (программистер) компьютерлік графикаға байланысты типтік есептерді шешуде ойға қонымды болатын стандартты белгілі бір әдістерді қолдана отырып, негізінен сол бір мәселеге кездесе береді.
Алдымен үшөлшемді кеңістіктегі объектінің торлы қабықшасының элементтерімен таныстырайық:
[1] төбелер — дененің торлы қабықшасының фейстерінің шекаралары немесе полигондарының қабырғалыры жинақталатын немесе контурлы объект сегментінің ұшының бірі болатын нүктелер;
[2] қабырға — полигондардың көршілес төбелерінің әрбір жұбын жалғайтын шекаралар;
[3] фейстер — дененің торлы қабықшасының минимальды үшбұрыш тәрізді элементтері;
1
2
4 3
5
«Қоғамды ақпараттандыру» III Халықаралық ғылыми-практикалық конференция
328
[4] полигондар — бір жазықтықта жататын және көрінетін тегіс шеттері бар көпбұрыштарды құрайтын бір-біріне жанасатынфейстардың тобы;
[5] нормалдар — дененің торлы қабықшасындағы жақтарына немесе фейстерге тұрғызылған перпендикулярлар.
Үшөлшемді сахнадан бастап экрандағы әдемі картинканы алуға дейінгі жолда кездесетін мәселелер қандай болуы мүмкін? Біріншіден, бұл – үшөлшемді сахнаның жадыда берілуі. Кез келген үшөлшемді сахнаны қандай да бір объектілерге, мысалы, бөлмені бейнелеу қажет болса, ондағы нәрселерді стол, орындық және тағы басқа деп бөлген жөн.
Қандай да бір үшөлшемді объектіні сипаттау үшін оның тек беті керек. Бетті үшөлшемді кеңістікте берудің жалпы екі тәсілі бар. Біріншісі – бетті оның бірнеше нүктелерінің интерполяциясы арқылы параметрлік беру керек. Екіншісі – оның бірнеше нүктелерін алып, осы таңдалынған нүктелер төбелері болатын көпбұрыштармен шектелген жазықтықтың бөліктерімен қисық сызықты беттің үзінділерін алмастыру керек. Бетті үшөлшемді кеңістікте беруде осы екінші әдіс 99% қолданылады екен, ал егер беттің параметрлік сипатталуы қолданылса, онда салу алдында бет нүктелер мен осы нүктелерден тұратын көпбұрыштың жиынтығы ретінде есептелінеді. Өнімділікті арттыру үшін бет тұтастай үшбұрыштармен беріледі, әрбір үшбұрыш үш төбесімен беріледі. Төбе – үшөлшемді кеңістіктегі нүкте. Тағы бір параметрлердің төбемен теңдесетінін байқауға болады. Мысалы, әр төбеге нормаль сәйкес келеді, бір қарағанда бұл орынсыз болып көрінеді. Қандай да бір нүктеде үшбұрышқа тұрғызылған нормаль оның төбелерінің нормальдарының интерполяциясының нәтижесі ретінде бар болады. Нормальдар берілген үшбұрыштың жарықтануын есептеу үшін қажет (жарықтану жарық сәулесі мен нормаль арасындағы бұрышқа тәуелді).
Енді үшөлшемді сахнаны экраннан көрсетер алдында мынадай мәселе кездеседі – объект үшөлшемді, ал экран жазықтығы – екіөлшемді. Бір координатты алып тастап, қандай да бір координат жазықтығына түскен проекцияны көруге болады, алайда бұл біріншіден, біздің көргіміз келген нәрсе емес, екіншіден, бұлай сәулетті көріністегі шындық бейнені ала алмаймыз.
Шындығында бұлай істелінбейді. Екі санақ жүйесі бар: біреуі – базалық, ол барлық уақытта біреу ғана және барлық үшбұрыштар осы жүйенің координат басымен салыстырмалы сырттай сызылған, ал екіншісі – координат бас нүктесімен салыстырмалы жылжытуға және бұруға болатын бақылаушының орнымен байланысқан санақ жүйесі.
Бақылаушының санақ жүйесіндегі координат осьтері былай орналасқан: X осі – экранның төменгі жиегіне параллель, әдетте оңға бағытталған, Y осі – экранның сол жақ жиегіне параллель, әдетте жоғары бағытталған, Z осі – экран жазықтығына перпендикуляр, әдетте бақылаушыдан бағыт алады. Салу басталғанда барлық үшбұрышатр бақылаушының санақ жүйесіне ауыстырылады. Сәулетті көріністі ескергенде нүктелер алыстан бір-біріне жақын болып көрінуі үшін әр нүктенің радиус-векторын проекция матрицасына көбейту керек.
Енді біртүсті немесе түрлі түсті көпбұрыш аламыз. Бейнені шындық түрде алу үшін, біріншіден, осы объектілердің ерекшеліктерін көрсету керек. Мысалы, металл үшөлшемді шәйнекті экранға шығарғанда оның металл екені сезілетіндей болу керек. Сондықтан текстураны қолданамыз. Текстура – ол объектіге «қапталатын» қандай да бір картинка (мысалы, фотография).
Тағы жарық керек. Шәйнекті күндіз не түнде көруіміз мүмкін. Ол кешке шаммен жарықтанып, ұзын көлеңке береді. Текстура мен жарықтандырғыш шындықты береді.
Әдебиеттер
1. Бурлаков М.В. 3ds Max 9. Энциклопедия пользователя. – СПб.: БХВ - Петербург, 2007. – 1024 с.
2. Порев В.Н. Компьютерная графика. СПб.: БХВ-Петербург, 2004. – 432 с.
3. Тихомиров Ю. Программирование трехмерной графики. СПб.: БХВ-Санкт- Петербург, 1998. – 256 с.