Дескрипторлық графиканың объектілері
Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ..3
Тарихы ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 4
Графиканың
ерекшеліктері ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .4
Арнайы
графика ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .6
М-
файл ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... .21
Структурасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ...21
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ..24
Пайдаланылған әдебиеттер
тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... 25
Қосымша
А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .26
Кіріспе
MATLAB жүйесінің 70-дың аяғында Молердың көмегімен құрылған
болатын және ЭВМ 70 дары-ақ кең ауқымда қолданыла бастады. 80 жылдардың
басында (John Little) MathWorks фирмасының мүшесі Джон Литл IBM PC, VAX
және Macintosh компьютер үшін PC MATLAB жүйесін ойлап шығарды. Кейін бара
жаңа версиялары Sun жұмыс станциясы үшін арналған, компьютер UNIX
операциялық жүйесімен және көптеген бөлек типтердің және кіші ЭВМ. Бұл
жұйенің бастапқы мақсаты математикалық есептерді өте қарапайым тәсілмен
шешу. MATLAB мүмкіндігі өте кең және жүйенің орындау жылдамдығы өзінің
конкуреттерінен салыстыруға келмейді. Бұл жүйенің кез-келген білім
аумағында қолданылады және техникада. Мысалы механикалық бөлшектерді
моделдеу математикалық өте кең қолданылды және жүйе, және динамикада,
гидродинамикада, аэродинамикада, акустикада, энергетикада қолданылады және
т.б. MATLAB жүйесінде арнайы электротехникада және радиотехникада ,
суреттерді өңдеу, нейрондық сетьтердің реализациясында, жаңа білім және
техника саласында қолданылады.
MATLAB жүйесінің пайда болу тарихы
MATLAB жүйесінің 70-дың аяғында Молердың көмегімен құрылған болатын
және ЭВМ 70 дары-ақ кең ауқымда қолданыла бастады. 80 жылдардың басында
(John Little) MathWorks фирмасының мүшесі Джон Литл IBM PC, VAX және
Macintosh компьютер үшін PC MATLAB жүйесін ойлап шығарды. Кейін бара жаңа
версиялары Sun жұмыс станциясы үшін арналған, компьютер UNIX операциялық
жүйесімен және көптеген бөлек типтердің және кіші ЭВМ. Қазір оннан аса
танымал комьпютер платформалары MATLAB жүйесінде жұмыс істейді. Бұл
жүйенің кең ауқымда ашылғаннан бері бүкіл әлем мектептері математика,
бағдарламалау тіліндеде қолданылады. Енді жаңадан — MATLAB 6 версиясы
ашылды. Бұл жұйенің бастапқы мақсаты математикалық есептерді өте қарапайым
тәсілмен шешу. MATLAB мүмкіндігі өте кең және жүйенің орындау жылдамдығы
өзінің конкуреттерінен салыстыруға келмейді. Бұл жүйенің кез-келген білім
аумағында қолданылады және техникада. Мысалы механикалық бөлшектерді
моделдеу математикалық өте кең қолданылды және жүйе, және динамикада,
гидродинамикада, аэродинамикада, акустикада, энергетикада қолданылады және
т.б. MATLAB жүйесінде арнайы электротехникада және радиотехникада ,
суреттерді өңдеу, нейрондық сетьтердің реализациясында, жаңа білім және
техника саласында қолданылады. MATLAB жүйесін кеңейтуге әлемнің дүркін
мектептері мен және оны басқаратын орынбасарлар және университет
оқытушылары ат салысты. Басты жүйенің қызметі оның ашықтығы және
кеңейтілуі. Көптеген команда және жүйе функциясы текстік m-файлдарында
құрылған және Си тіл файлында. Қолданушыға жеке файлдарды құруға мүмкіндігі
туады.
MATLAB жүйесіндегі графиканың ерекшеліктері.
MATLAB 4.0 версиясынан бастай отырып, бірінші рет Windows та тексерілген,
жүйесі MATLAB графика ортасы түбірімен толығымен жаңартылды. MATLAB 6 жаңа
версиясында негізгі жаңа жақсы жақтары көрсетілген:
• графикалық интерфейс терезесі өте түбірімен жаңартылған;
• жаңа панел құралы Camera енгізілген, яғни обьект көрініс шартын
өзгерту үшін;
• графиканың форматтау жүйесі енгізілген;
• Графиканың жеке терезесі құрылуын қамтамасыз етіледі;
• Графиканың бірнеше терезесі енуін қамтамасыз етіледі;
• Терезесін экран бойынша қозғалуын және олардың өлшемдері өзгертілуі
қамтамасыз етіледі;
• Графикалық терезесінің ішінде графиканың қозғалуы қамтамасыз етіледі;
• әртүрлі координата жүйесінің және осьтердің құрылуы;
• сапалық графиканың болуы;
• өте ауқымда түстердің қолдануы;
• өте жеңіл графикалық елес–атрибут орнатылуы;
• үш өлшемді гарафиканың өте жеңіл әдісімен және жазықтыққа проекциясын
соғу өте оңай;
• Түстердің өте кең ауқымда қоолданылуы;
• Анимациялық эфекттердің қолданылуы;
Графика түсінігімен тығыз байланысты болғандықтан графикалық обьект
байланысты, оның анық құрылымы болады. Көптеген жағдайларда обьект туралы
ұмытып кетуі мүмкін, егерде біз бағдараламалық обьектпен айналыспасақ
графикалық есеп. Бұл, көптеген командалар жоғары дәрежелеі графикамен
байланысқан, автоматты түрде графикалық обьекттердің құрылымдардың
орнатады және графикаларды координат жүйелерінде түрлі қызметтермен
қамтамасыз етеді, яғни палитра түсін, масштабын және т.б.
Есептің төмен деңгейде шешімін программист дескриптор графикасын
(Handle Graphics) қолданылады, яғни әрбір графикалық обьект үшін сәйкес
ерекше сипаттама–дескриптор қолданылады, графикалық обьект қолданғанда
сілтеу қолданылады. Дескрипторлық графика обьект визуалды бағдарлау
обьекттер қолданушы интерфейс қамтамасыз етуін – басқарушы батырма,
текстік панелдер және т.б. Дескрипторлық графика командалары жоғары
дәрежелі графикада қолданылады, мысалы осьтерді жою, түстердің өзгеруі және
т.б. Мұндай кең ауқымды графика MATLAB жүйе ортасында графиканы өте тамаша
етіп шығарады. Бірақ графикалық командаларға қарамастан, олардың
синтаксистері өте жеңіл және бірінші қолданушыларға да өте ыңғайлы болып
табылады.
Арнайы графика
Нүктенің жазықтықтағы орын ауыстыруы
Нүктенің траектория бойынша орын ауыстыруын бейнелеу үшін comet
командасы қолданылады. Бұл жағдайда орын ауыстыратын нүкте құйрығы бар
аспан денесіне ұқсас келеді. Бұл команданы қолданудың келесідей формалары
бар:
• comet(Y) – Y векторымен берілген траектория бойынша нүктенің орын
ауыстыруын көрсетеді;
• comet(X,Y) – X және Y векторлар жұбы арқылы берілген траектория
бойынша нүктенің орын ауыстыруын көрсетеді;
• comet(X,Y,p) – жоғарыдағы командаға ұқсас, бірақ аспан денесі тәрізді
болып келетін нүктенің құйрығының ұзындығын p*length(Y) түрінде беруге
мүмкіндік береді (мұндағы length(Y) – Y векторының ұзындығы, ал p1
болуы керек). Анықталмаған жағдайда p=0,1-ге тең.
Келесі мысал comet командасын қолданудың үлгісі болып табылады:
x=0:0.05:20;
comet(exp(x),cos(x)-sin(x))
Нүктенің кеңістіктегі орын ауыстыруы
Жоғарыдағы қарастырылған командаға қоса нүкте қозғалысын үш өлшемді
кеңістікте тамашалауға мүмкіндік беретін команда бар. Бұл команда comet3
болып табылады.
• comet3(Z) – нүктенің Z массивіменен анықталған үш өлшемді қисық
бойынша орын ауыстыруын көрсетеді;
• comet3(X,Y,Z) – нүктенің [X(i),Y(i),Z(i)] нүктелері арқылы берілген
кеңістіктегі қисық бойынша орын ауыстыруын көрсетеді;
• comet3(X,Y,Z,p) – жоғарыдағы команда ұқсас, тек comet командасына
ұқсас жазылу ретіне ие, яғни аспан денесі тәрізді болып келетін орын
ауыстыру жолының құйрығының ұзындығын беруге мүмкіндік береді.
Анықталмаған жағдайда p=0.1.
Төменде comet3 командасын қолданудың мысалы келтірілген:
W=0:pi500:10*pi;
comet3(cos(W),sin(W)+W10)
Анимациялаудың негізгі тәсілдері (амалдары, әдістері)
Анимациялаудың күрделі құрылымға ие болған кездерінде мультипликация
техникасын қолдану мүмкіндігі бар. Бұл әдісті қолданғанда суреттің бірнеше
кадрлары салынады. Содан соң әрбір кадр қысқа уақыт мерзіміне көрсетіледі
де, соңынан алдыңғысына қарағанда біраз өзгешеліктерге ие жаңа кадр
көрсетіледі. Егер бұл өзгеріс елеулі болмаса, онда объектінің кеңістікте
баяу қозғалуының көрінісі туады.
MATLAB-та анимацияны жүзеге асыруға арналған бірнеше командаларды
қысқа түрде атап өтейік:
• capture – видеокөріністі ұстап қалу;
• getframe – анимация үшін кадрды жасау;
• moviein – анимацияның орындалуы;
• rotate – фигураны айналдыру;
• frame2im – кадрды графикалық образға түрлендіру;
• im2frame – графикалық образды кадрға түрлендіру.
Өкінішке орай анимацияны күрделі тапсырмалары әдетте программалық
тәсілдерді, көп жағдайда циклдарды қолдануды талап етеді.
Дескрипторлық графиканың объектілері
MATLAB-тың графикалық мүмкіндіктері дескрипторлық (суреттемелік)
немесе handle-графика деп аталатын төменгі деңгейлі графиканың негізінде
құрылған. Практикалық негізде графиканың бұл түрі әрі жоғарыда
қарастырылған барлық графикалық командаларды, әрі қолданбалы интерфейсті
объектілі-келтірілмелі программалауға мүмкіндік береді. Дескрипторлық
графиканың негізгі редакторы Property Editor MATLAB-та графиканың негізгі
редакторы болып табылады. Кей кезде декскрипторлық графика MATLAB-тың
қолданбалы графикалық программаларын құрудың ерекше мүмкіндіктерін бере
алады және қолданушыға жүйенің графикалық мүмкіндіктерінің қалай жүзеге
асырылғанын түсінуге көмектеседі.
Дескрипторлық графиканың орталықтандырылған түсінігі графикалық
объект болып табылады. Мұндай объектілердің келесідей түрлері бар:
• root (тамыр) – компьютер экранына сәйкес келетін бірінші деңгейдегі
объект;
• figure (сурет) – графикалық терезені құру объектісі;
• uicontrol (қолданушы тарапынан анықталған басқару элементі) –
қолданбалы интерфейс элементін құрудың объектісі;
• axex (өстер) – figure объекті терезесінде график орналасуының облысын
беруге арналған объект;
• uimenu (қолданушы тарапынан анықталған меню) – менюді құрудың
объектісі;
• uicontextmenu (қолданушы тарапынан анықталған контекстілік меню) –
контекстілік менюді құрудың объектісі;
• image (образ) – растлік графиканы құрудың объектісі;
• line (сызық) – сызық тұрғызудың объектісі;
• patch (жамау) – боялған фигураларды құрудың объектісі;
• rectangle (тікбұрыш) – боялған тікбұрыштарды құрудың объектісі;
• surface (бет) – беттерді құрудың объектісі;
• text (мәтін) – мәтіндік жазуларды құрудың объектісі;
• light (жарық) – жарықталу эффектілерін құруға арналған объект.
Объектілер кейбір жағдайларда өзара байланысқан және қайсыбір
графикалық эффектіге ие болу үшін бір біріне қол сілтеуі мүмкін.
Графикалық терезені құру және оны басқару
Декскрипторлық графиканы қолдануды бастамастан бұрын графикалық
терезелерді құру және оларды басқаруға арналған функциялар мен
командалармен танысып кеткен жөн.
• figure – таза графикалық терезені ашу;
• gcf – figure графикалық терезесінің дескрипторын алу;
• elf – графикалық терезені тазарту;
• shg – алдын бүктелген графикалық терезені көрсету;
• close – графикалық терезені жабу;
• refresh – графикалық терезені жаңарту.
Координаттық өстерді құру және оларды басқару
Келесі бір қарапайым командалар тобы координаттық өстерді құру және
оларды басқару үшін қолданылады:
• axes (өстер) – координаттар өстерін құру;
• box (жәшік) – суреттің айналасында тікбұрыш тұрғызу;
• cla – axes тұрғызуларын алып тастау;
• gca – axes графикалық объектісінің дескрипторын алу;
• hold – координаттар өстерін сақтау;
• ishold – hold статусын тексеру (өстер сақталған болса 1, қарсы
жағдайда 0).
Атап өтерлік жайт, бұл командаларды әдеттегі (жоғары деңгейлі) графикада да
пайдалануға болады, мысалы салынған графиктің координата өстерін жою үшін.
Дескрипторлық графика объектісін қолданудың мысалы
(0,1), (2,4), (5,-1) координаталарына ие үш нүкте арқылы өтетін
сызықты сызу керек болсын. Бұл үшін аттас графикалық функциямен құрылатын
line объектісін пайдаланамыз.
line([2,4,6,1,7,2], [2,7,2,5,5,2], 'Color', 'red')
Төмендегі суретте line дескрипторлық командасы арқылы құрылған және жоғары
деңгейлі графикаға анық түрде кірмейтін сызық тұрғызылған. Бірақ жоғары
деңгейлі графикалық функцияларының қатарына жататын plot функциясының
негізі осы команда екені күмән тудырмайды.
line командысының негізгі ерекшеліктеріне графикті тұрғызудың барлық
параметрлерінің анық түрде берілуі: нақты нүктелердің координаталары, түс
параметрінің ‘Color’ және түстің өзі ‘blue’ (көк). Нәтижесінде берілген
нүктелер арқылы өтетін көк түспен салынған түзудің екі бөлігі салынады.
Объектілер дескрипторлары
Дескрипторлық графика объектілерінің түсінігімен объектілердің ерекше
сипаттамасы – дескриптор (баяндаушы) байланысқан. Оны белгілі бір сан, яғни
объектілердің өзіндік индентификаторы (анықтаушысы) ретінде түсінуге
болады.
root объектілерінің дескрипторы әрқашан 0-ге, ал figure объектінікі –
графикалық терезе нөмірін білдіретін бүтін санға тең. Дескрипторлар мәндері
бойынша MATLAB объектілерді индентификациялайды. Мұндай бір объектінің
дескрипторы белгілі бір санға тең, ал егер объектілер бірнеше болса
(вектор), онда бірнеше санға тең. Мысалға, келесі командалар сиқырлы
матрицаның (сиқырлы квадрат) мәндеріне сәйкес бір терезеде бес график
тұрғызады:
A=magic(5);
h=plot(A)
h=
3.0013
101.0009
102.0004
103.0004
104.0004
Бұл жағдайда h векторында суретте көрсетілген график элементтерінің
дескрипторлары сақталады.
Дескрипторларды үйреншікті параметрлермен немесе айнымалылармен
байланыстырудың қажеттілігі жоқ, себебі олар графикалық объектілерді MATLAB
жүйесінің ішінде индентификациялау үшін керек. Бұған қоса, бұларды әр түрлі
платформаларда, әр MATLAB версияларында немесе сессияның әр түрлі жерінде
бірдей мәнге ие болуын күтудің қажеттілігі жоқ, Қысқаша айтсақ, қолданушы
дескрипторларды өз қажеттіліктерін пайдалана алмайды.
Графикалық объектілерге орындалатын операциялар
Графикалық объектілерге бірнеше операциялар тізбектері қолданылады:
• set – графикалық объектінің қасиеттерін (параметрлерін) орнату;
• get – графикалық объектінің қасиеттерін шығару;
• reset – графикалық объектінің қасиеттерін бастапқы күйге келтіру;
• delete – құрылған графикалық объектіні жою;
• gco – ағымдағы графикалық объектінің дескрипторын қайтарады;
• gcbo – ағымдағы уақытта функциясы орындалып жатқан объектінің
дескрипторын қайтарады;
• gcbf – ағымдағы уақытта функциясы орындалып жатқан графикалық объект
терезесінің дескрипторын қайтарады;
• drawnow – графикалық командалардың тоқтатылған кезегін орындау;
• findobj – берілген қасиеттерге ие объектіні табу;
• copyobj – объектіні және онымен тудырылған объектілерді көшіру.
Айтылғандарға қоса, объектілердің операцияларымен байланысқан үш утилита
бар:
• closereq – сұраныс бойынша терезені жабу;
• ishandle – дескрипторды ақиқаттылыққа тексеру;
• newplot – nextPlot арқылы өзгертілген объектінің қасиеттерін қалпына
келтіру.
Объектілердің қасиеттері – get командасы
Дескрипторлық графиканың әрбір объектісі оның қасиеттерін анықтайтын
көптеген параметрлерге ие. Түзудің екі бөлігі салынатын графикке қайта
оралып, оны келесі түрде жазамыз:
h=line([0 2 5],[1 4 -1],'Color','blue')
h=
3.0010
Енді объект h дескрипторына ие және оның мәні графикті тұрғызумен бірге
экранға шығарылады. get(name) командасы берілген атқа ие объектінің
қасиеттерін шығарады. Біздің жағдайымызда ол келесідей болады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
Объектінің қасиеттерін өзгерту – set командасы
set командасының көмегімен дескрипторлық графика объектісінің бөлек
қасиеттерін өзгертуге болады. Мысалға, бізге түсті көгілдірден қызылға
ауыстыру керек болсын. Ол үшін келесі команданы орындау жеткілікті:
set(h,’Color’,’red’)
Бұл команда орындалған жағдайда түс жоғарыдағы h дескрипторына ие суретте
өзгертіледі.
OpenGL амал-тәсілдері жұмысын басқару
MATLAB 6 жүйесі жаңалықтарының бірі OpenGL графикалық амал-тәсілдерін
қолдау болып табылады. Бұл амал-тәсілдер әдетте үш өлшемді графиканы жүзеге
асырғанда, мысалға материалдың құрылымына (рендеринг) және жарықталудың
сипатына байланысты беттердің және үш өлшемді фигуралардың күрделі
функционалдық боялуын жүзеге асырғанда, мұндай объектілер үшін анимацияны
жасағанда, беттерді көпбұрыштардан құрастырғанда, жарықтың өту қабілетіне
байланысты эффектілерді және т. б. жиі пайдаланылады.
OpenGL-дің амал-тәсілдері MATLAB-та автоматты түрде қамтылған. Бұл
жайт келесіні білдіреді: егер қолданушы компьютерінің видеокартасы оларды
қолдаса және видеоадаптердің сәйкес драйверлері орнатылса, олардың
пайдаланылады. MATLAB-тің стандартты графикасы амал-тәсілдерінің деңгейінде
OpenGL басқарушы функцияларының ешқайсысы болмайды. Бірақ та дескрипторлық
графика opengl selectionjnode командасының көмегімен мұндай мүмкіндікті
береді.
Бұл команда рендерингті жүзеге асырудың графикалық режимдерін
орнатады. selectionjnode параметрі келесі мағыналарға ие болуы мүмкін:
• autoselect – OpenGL-дің автоматты түрде қолданылуын орнатады және
жұмысқа мүмкіндік бар жағдайда OpenGL амал-тәсілдерін қосады;
• neverselect – OpenGL-дің автоматты түрде қолданылуын өшіреді;
• advise – OpenGL режимін қолданудың мүмкіндігі жайлы хабар шығарады,
бірақ рендеринг режимі (RenderMode) қолдан орнатылады.
opengl командасы жалғыз жағдайында selectionjnode мәнінің жайлы хабар
шығарады, мысалы:
opengl
ans=
AutoSelect
Ал opengl info командасы экранға MATLAB жүйесі орнатылған компьютердің
OpenGL амал-тәсілдері жайлы мәліметті шығарады, мысалға:
opengl info
Version = 1.3.0 - Build 4.14.10.3712
Vendor = Intel
Renderer = Intel Montara-GM
MaxTextureSize = 2048
Extensions = GL_ARB_multitexture GL_ARB_texture_border_clamp
GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add
GL_ARB_texture_env_combine GL_ARB_texture_env_dot3
GL_ARB_texture_env_crossbar GL_ARB_transpose_matrix GL_EXT_abgr GL_EXT_bgra
GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax
GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array
GL_EXT_cull_vertex GL_EXT_fog_coord GL_EXT_packed_pixels
GL_EXT_packed_pixels_12 GL_EXT_rescale_normal GL_EXT_secondary_color
GL_EXT_separate_specular_color GL_EXT_stencil_wrap
GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add
GL_EXT_texture_env_combine GL_EXT_texture_filter_anisotropic
GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat
GL_NV_texgen_reflection GL_WIN_swap_hint
Сондай-ақ рендеринг және OpenGL амал-тәсілдерімен дескрипторлық графика
деңгейінде set командасының көмегімен басқаруға болады, мысалға:
set(gcf,’Renderer’,’OpenGL’).
Графикалық объектілердің жарықты өткізу қабілетін басқару
Ерекше нәтижелерді беретін және сырттан қарағанда елеулі дәрежеде
назар аударарлық нәтижені тек OpenGL амал-әдістерін қолданғанда пайдалануға
болатын көріністердің жарықты өткізу қасиеттері (transparency) болып
табылады. Бұл қасиет сұйықтар немесе газдардың жарықты жартылай өткізетін
көріністерін, олардың ішіндегі сұйықтың шоғырлану аймақтары мен қатты
денелердің бөлшектерін, жұлдыздарға ие галактикалардың көріністерін,
биологиялық объектілердегі жасушалардың бейнеленулерін және т. б. көрсетуге
мүмкіндік береді.
Жарықты өткізу қасиеті әдетте көп өлшемді массивтерді қолдануды қажет
ететін көріністерді бөлек қабаттар ретінде келтіруге негізделген. Жарықты
өткізу туралы мәліметтер m*n өлшеміндегі ... жалғасы
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ..3
Тарихы ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 4
Графиканың
ерекшеліктері ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .4
Арнайы
графика ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .6
М-
файл ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... .21
Структурасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ...21
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ..24
Пайдаланылған әдебиеттер
тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... 25
Қосымша
А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .26
Кіріспе
MATLAB жүйесінің 70-дың аяғында Молердың көмегімен құрылған
болатын және ЭВМ 70 дары-ақ кең ауқымда қолданыла бастады. 80 жылдардың
басында (John Little) MathWorks фирмасының мүшесі Джон Литл IBM PC, VAX
және Macintosh компьютер үшін PC MATLAB жүйесін ойлап шығарды. Кейін бара
жаңа версиялары Sun жұмыс станциясы үшін арналған, компьютер UNIX
операциялық жүйесімен және көптеген бөлек типтердің және кіші ЭВМ. Бұл
жұйенің бастапқы мақсаты математикалық есептерді өте қарапайым тәсілмен
шешу. MATLAB мүмкіндігі өте кең және жүйенің орындау жылдамдығы өзінің
конкуреттерінен салыстыруға келмейді. Бұл жүйенің кез-келген білім
аумағында қолданылады және техникада. Мысалы механикалық бөлшектерді
моделдеу математикалық өте кең қолданылды және жүйе, және динамикада,
гидродинамикада, аэродинамикада, акустикада, энергетикада қолданылады және
т.б. MATLAB жүйесінде арнайы электротехникада және радиотехникада ,
суреттерді өңдеу, нейрондық сетьтердің реализациясында, жаңа білім және
техника саласында қолданылады.
MATLAB жүйесінің пайда болу тарихы
MATLAB жүйесінің 70-дың аяғында Молердың көмегімен құрылған болатын
және ЭВМ 70 дары-ақ кең ауқымда қолданыла бастады. 80 жылдардың басында
(John Little) MathWorks фирмасының мүшесі Джон Литл IBM PC, VAX және
Macintosh компьютер үшін PC MATLAB жүйесін ойлап шығарды. Кейін бара жаңа
версиялары Sun жұмыс станциясы үшін арналған, компьютер UNIX операциялық
жүйесімен және көптеген бөлек типтердің және кіші ЭВМ. Қазір оннан аса
танымал комьпютер платформалары MATLAB жүйесінде жұмыс істейді. Бұл
жүйенің кең ауқымда ашылғаннан бері бүкіл әлем мектептері математика,
бағдарламалау тіліндеде қолданылады. Енді жаңадан — MATLAB 6 версиясы
ашылды. Бұл жұйенің бастапқы мақсаты математикалық есептерді өте қарапайым
тәсілмен шешу. MATLAB мүмкіндігі өте кең және жүйенің орындау жылдамдығы
өзінің конкуреттерінен салыстыруға келмейді. Бұл жүйенің кез-келген білім
аумағында қолданылады және техникада. Мысалы механикалық бөлшектерді
моделдеу математикалық өте кең қолданылды және жүйе, және динамикада,
гидродинамикада, аэродинамикада, акустикада, энергетикада қолданылады және
т.б. MATLAB жүйесінде арнайы электротехникада және радиотехникада ,
суреттерді өңдеу, нейрондық сетьтердің реализациясында, жаңа білім және
техника саласында қолданылады. MATLAB жүйесін кеңейтуге әлемнің дүркін
мектептері мен және оны басқаратын орынбасарлар және университет
оқытушылары ат салысты. Басты жүйенің қызметі оның ашықтығы және
кеңейтілуі. Көптеген команда және жүйе функциясы текстік m-файлдарында
құрылған және Си тіл файлында. Қолданушыға жеке файлдарды құруға мүмкіндігі
туады.
MATLAB жүйесіндегі графиканың ерекшеліктері.
MATLAB 4.0 версиясынан бастай отырып, бірінші рет Windows та тексерілген,
жүйесі MATLAB графика ортасы түбірімен толығымен жаңартылды. MATLAB 6 жаңа
версиясында негізгі жаңа жақсы жақтары көрсетілген:
• графикалық интерфейс терезесі өте түбірімен жаңартылған;
• жаңа панел құралы Camera енгізілген, яғни обьект көрініс шартын
өзгерту үшін;
• графиканың форматтау жүйесі енгізілген;
• Графиканың жеке терезесі құрылуын қамтамасыз етіледі;
• Графиканың бірнеше терезесі енуін қамтамасыз етіледі;
• Терезесін экран бойынша қозғалуын және олардың өлшемдері өзгертілуі
қамтамасыз етіледі;
• Графикалық терезесінің ішінде графиканың қозғалуы қамтамасыз етіледі;
• әртүрлі координата жүйесінің және осьтердің құрылуы;
• сапалық графиканың болуы;
• өте ауқымда түстердің қолдануы;
• өте жеңіл графикалық елес–атрибут орнатылуы;
• үш өлшемді гарафиканың өте жеңіл әдісімен және жазықтыққа проекциясын
соғу өте оңай;
• Түстердің өте кең ауқымда қоолданылуы;
• Анимациялық эфекттердің қолданылуы;
Графика түсінігімен тығыз байланысты болғандықтан графикалық обьект
байланысты, оның анық құрылымы болады. Көптеген жағдайларда обьект туралы
ұмытып кетуі мүмкін, егерде біз бағдараламалық обьектпен айналыспасақ
графикалық есеп. Бұл, көптеген командалар жоғары дәрежелеі графикамен
байланысқан, автоматты түрде графикалық обьекттердің құрылымдардың
орнатады және графикаларды координат жүйелерінде түрлі қызметтермен
қамтамасыз етеді, яғни палитра түсін, масштабын және т.б.
Есептің төмен деңгейде шешімін программист дескриптор графикасын
(Handle Graphics) қолданылады, яғни әрбір графикалық обьект үшін сәйкес
ерекше сипаттама–дескриптор қолданылады, графикалық обьект қолданғанда
сілтеу қолданылады. Дескрипторлық графика обьект визуалды бағдарлау
обьекттер қолданушы интерфейс қамтамасыз етуін – басқарушы батырма,
текстік панелдер және т.б. Дескрипторлық графика командалары жоғары
дәрежелі графикада қолданылады, мысалы осьтерді жою, түстердің өзгеруі және
т.б. Мұндай кең ауқымды графика MATLAB жүйе ортасында графиканы өте тамаша
етіп шығарады. Бірақ графикалық командаларға қарамастан, олардың
синтаксистері өте жеңіл және бірінші қолданушыларға да өте ыңғайлы болып
табылады.
Арнайы графика
Нүктенің жазықтықтағы орын ауыстыруы
Нүктенің траектория бойынша орын ауыстыруын бейнелеу үшін comet
командасы қолданылады. Бұл жағдайда орын ауыстыратын нүкте құйрығы бар
аспан денесіне ұқсас келеді. Бұл команданы қолданудың келесідей формалары
бар:
• comet(Y) – Y векторымен берілген траектория бойынша нүктенің орын
ауыстыруын көрсетеді;
• comet(X,Y) – X және Y векторлар жұбы арқылы берілген траектория
бойынша нүктенің орын ауыстыруын көрсетеді;
• comet(X,Y,p) – жоғарыдағы командаға ұқсас, бірақ аспан денесі тәрізді
болып келетін нүктенің құйрығының ұзындығын p*length(Y) түрінде беруге
мүмкіндік береді (мұндағы length(Y) – Y векторының ұзындығы, ал p1
болуы керек). Анықталмаған жағдайда p=0,1-ге тең.
Келесі мысал comet командасын қолданудың үлгісі болып табылады:
x=0:0.05:20;
comet(exp(x),cos(x)-sin(x))
Нүктенің кеңістіктегі орын ауыстыруы
Жоғарыдағы қарастырылған командаға қоса нүкте қозғалысын үш өлшемді
кеңістікте тамашалауға мүмкіндік беретін команда бар. Бұл команда comet3
болып табылады.
• comet3(Z) – нүктенің Z массивіменен анықталған үш өлшемді қисық
бойынша орын ауыстыруын көрсетеді;
• comet3(X,Y,Z) – нүктенің [X(i),Y(i),Z(i)] нүктелері арқылы берілген
кеңістіктегі қисық бойынша орын ауыстыруын көрсетеді;
• comet3(X,Y,Z,p) – жоғарыдағы команда ұқсас, тек comet командасына
ұқсас жазылу ретіне ие, яғни аспан денесі тәрізді болып келетін орын
ауыстыру жолының құйрығының ұзындығын беруге мүмкіндік береді.
Анықталмаған жағдайда p=0.1.
Төменде comet3 командасын қолданудың мысалы келтірілген:
W=0:pi500:10*pi;
comet3(cos(W),sin(W)+W10)
Анимациялаудың негізгі тәсілдері (амалдары, әдістері)
Анимациялаудың күрделі құрылымға ие болған кездерінде мультипликация
техникасын қолдану мүмкіндігі бар. Бұл әдісті қолданғанда суреттің бірнеше
кадрлары салынады. Содан соң әрбір кадр қысқа уақыт мерзіміне көрсетіледі
де, соңынан алдыңғысына қарағанда біраз өзгешеліктерге ие жаңа кадр
көрсетіледі. Егер бұл өзгеріс елеулі болмаса, онда объектінің кеңістікте
баяу қозғалуының көрінісі туады.
MATLAB-та анимацияны жүзеге асыруға арналған бірнеше командаларды
қысқа түрде атап өтейік:
• capture – видеокөріністі ұстап қалу;
• getframe – анимация үшін кадрды жасау;
• moviein – анимацияның орындалуы;
• rotate – фигураны айналдыру;
• frame2im – кадрды графикалық образға түрлендіру;
• im2frame – графикалық образды кадрға түрлендіру.
Өкінішке орай анимацияны күрделі тапсырмалары әдетте программалық
тәсілдерді, көп жағдайда циклдарды қолдануды талап етеді.
Дескрипторлық графиканың объектілері
MATLAB-тың графикалық мүмкіндіктері дескрипторлық (суреттемелік)
немесе handle-графика деп аталатын төменгі деңгейлі графиканың негізінде
құрылған. Практикалық негізде графиканың бұл түрі әрі жоғарыда
қарастырылған барлық графикалық командаларды, әрі қолданбалы интерфейсті
объектілі-келтірілмелі программалауға мүмкіндік береді. Дескрипторлық
графиканың негізгі редакторы Property Editor MATLAB-та графиканың негізгі
редакторы болып табылады. Кей кезде декскрипторлық графика MATLAB-тың
қолданбалы графикалық программаларын құрудың ерекше мүмкіндіктерін бере
алады және қолданушыға жүйенің графикалық мүмкіндіктерінің қалай жүзеге
асырылғанын түсінуге көмектеседі.
Дескрипторлық графиканың орталықтандырылған түсінігі графикалық
объект болып табылады. Мұндай объектілердің келесідей түрлері бар:
• root (тамыр) – компьютер экранына сәйкес келетін бірінші деңгейдегі
объект;
• figure (сурет) – графикалық терезені құру объектісі;
• uicontrol (қолданушы тарапынан анықталған басқару элементі) –
қолданбалы интерфейс элементін құрудың объектісі;
• axex (өстер) – figure объекті терезесінде график орналасуының облысын
беруге арналған объект;
• uimenu (қолданушы тарапынан анықталған меню) – менюді құрудың
объектісі;
• uicontextmenu (қолданушы тарапынан анықталған контекстілік меню) –
контекстілік менюді құрудың объектісі;
• image (образ) – растлік графиканы құрудың объектісі;
• line (сызық) – сызық тұрғызудың объектісі;
• patch (жамау) – боялған фигураларды құрудың объектісі;
• rectangle (тікбұрыш) – боялған тікбұрыштарды құрудың объектісі;
• surface (бет) – беттерді құрудың объектісі;
• text (мәтін) – мәтіндік жазуларды құрудың объектісі;
• light (жарық) – жарықталу эффектілерін құруға арналған объект.
Объектілер кейбір жағдайларда өзара байланысқан және қайсыбір
графикалық эффектіге ие болу үшін бір біріне қол сілтеуі мүмкін.
Графикалық терезені құру және оны басқару
Декскрипторлық графиканы қолдануды бастамастан бұрын графикалық
терезелерді құру және оларды басқаруға арналған функциялар мен
командалармен танысып кеткен жөн.
• figure – таза графикалық терезені ашу;
• gcf – figure графикалық терезесінің дескрипторын алу;
• elf – графикалық терезені тазарту;
• shg – алдын бүктелген графикалық терезені көрсету;
• close – графикалық терезені жабу;
• refresh – графикалық терезені жаңарту.
Координаттық өстерді құру және оларды басқару
Келесі бір қарапайым командалар тобы координаттық өстерді құру және
оларды басқару үшін қолданылады:
• axes (өстер) – координаттар өстерін құру;
• box (жәшік) – суреттің айналасында тікбұрыш тұрғызу;
• cla – axes тұрғызуларын алып тастау;
• gca – axes графикалық объектісінің дескрипторын алу;
• hold – координаттар өстерін сақтау;
• ishold – hold статусын тексеру (өстер сақталған болса 1, қарсы
жағдайда 0).
Атап өтерлік жайт, бұл командаларды әдеттегі (жоғары деңгейлі) графикада да
пайдалануға болады, мысалы салынған графиктің координата өстерін жою үшін.
Дескрипторлық графика объектісін қолданудың мысалы
(0,1), (2,4), (5,-1) координаталарына ие үш нүкте арқылы өтетін
сызықты сызу керек болсын. Бұл үшін аттас графикалық функциямен құрылатын
line объектісін пайдаланамыз.
line([2,4,6,1,7,2], [2,7,2,5,5,2], 'Color', 'red')
Төмендегі суретте line дескрипторлық командасы арқылы құрылған және жоғары
деңгейлі графикаға анық түрде кірмейтін сызық тұрғызылған. Бірақ жоғары
деңгейлі графикалық функцияларының қатарына жататын plot функциясының
негізі осы команда екені күмән тудырмайды.
line командысының негізгі ерекшеліктеріне графикті тұрғызудың барлық
параметрлерінің анық түрде берілуі: нақты нүктелердің координаталары, түс
параметрінің ‘Color’ және түстің өзі ‘blue’ (көк). Нәтижесінде берілген
нүктелер арқылы өтетін көк түспен салынған түзудің екі бөлігі салынады.
Объектілер дескрипторлары
Дескрипторлық графика объектілерінің түсінігімен объектілердің ерекше
сипаттамасы – дескриптор (баяндаушы) байланысқан. Оны белгілі бір сан, яғни
объектілердің өзіндік индентификаторы (анықтаушысы) ретінде түсінуге
болады.
root объектілерінің дескрипторы әрқашан 0-ге, ал figure объектінікі –
графикалық терезе нөмірін білдіретін бүтін санға тең. Дескрипторлар мәндері
бойынша MATLAB объектілерді индентификациялайды. Мұндай бір объектінің
дескрипторы белгілі бір санға тең, ал егер объектілер бірнеше болса
(вектор), онда бірнеше санға тең. Мысалға, келесі командалар сиқырлы
матрицаның (сиқырлы квадрат) мәндеріне сәйкес бір терезеде бес график
тұрғызады:
A=magic(5);
h=plot(A)
h=
3.0013
101.0009
102.0004
103.0004
104.0004
Бұл жағдайда h векторында суретте көрсетілген график элементтерінің
дескрипторлары сақталады.
Дескрипторларды үйреншікті параметрлермен немесе айнымалылармен
байланыстырудың қажеттілігі жоқ, себебі олар графикалық объектілерді MATLAB
жүйесінің ішінде индентификациялау үшін керек. Бұған қоса, бұларды әр түрлі
платформаларда, әр MATLAB версияларында немесе сессияның әр түрлі жерінде
бірдей мәнге ие болуын күтудің қажеттілігі жоқ, Қысқаша айтсақ, қолданушы
дескрипторларды өз қажеттіліктерін пайдалана алмайды.
Графикалық объектілерге орындалатын операциялар
Графикалық объектілерге бірнеше операциялар тізбектері қолданылады:
• set – графикалық объектінің қасиеттерін (параметрлерін) орнату;
• get – графикалық объектінің қасиеттерін шығару;
• reset – графикалық объектінің қасиеттерін бастапқы күйге келтіру;
• delete – құрылған графикалық объектіні жою;
• gco – ағымдағы графикалық объектінің дескрипторын қайтарады;
• gcbo – ағымдағы уақытта функциясы орындалып жатқан объектінің
дескрипторын қайтарады;
• gcbf – ағымдағы уақытта функциясы орындалып жатқан графикалық объект
терезесінің дескрипторын қайтарады;
• drawnow – графикалық командалардың тоқтатылған кезегін орындау;
• findobj – берілген қасиеттерге ие объектіні табу;
• copyobj – объектіні және онымен тудырылған объектілерді көшіру.
Айтылғандарға қоса, объектілердің операцияларымен байланысқан үш утилита
бар:
• closereq – сұраныс бойынша терезені жабу;
• ishandle – дескрипторды ақиқаттылыққа тексеру;
• newplot – nextPlot арқылы өзгертілген объектінің қасиеттерін қалпына
келтіру.
Объектілердің қасиеттері – get командасы
Дескрипторлық графиканың әрбір объектісі оның қасиеттерін анықтайтын
көптеген параметрлерге ие. Түзудің екі бөлігі салынатын графикке қайта
оралып, оны келесі түрде жазамыз:
h=line([0 2 5],[1 4 -1],'Color','blue')
h=
3.0010
Енді объект h дескрипторына ие және оның мәні графикті тұрғызумен бірге
экранға шығарылады. get(name) командасы берілген атқа ие объектінің
қасиеттерін шығарады. Біздің жағдайымызда ол келесідей болады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
Объектінің қасиеттерін өзгерту – set командасы
set командасының көмегімен дескрипторлық графика объектісінің бөлек
қасиеттерін өзгертуге болады. Мысалға, бізге түсті көгілдірден қызылға
ауыстыру керек болсын. Ол үшін келесі команданы орындау жеткілікті:
set(h,’Color’,’red’)
Бұл команда орындалған жағдайда түс жоғарыдағы h дескрипторына ие суретте
өзгертіледі.
OpenGL амал-тәсілдері жұмысын басқару
MATLAB 6 жүйесі жаңалықтарының бірі OpenGL графикалық амал-тәсілдерін
қолдау болып табылады. Бұл амал-тәсілдер әдетте үш өлшемді графиканы жүзеге
асырғанда, мысалға материалдың құрылымына (рендеринг) және жарықталудың
сипатына байланысты беттердің және үш өлшемді фигуралардың күрделі
функционалдық боялуын жүзеге асырғанда, мұндай объектілер үшін анимацияны
жасағанда, беттерді көпбұрыштардан құрастырғанда, жарықтың өту қабілетіне
байланысты эффектілерді және т. б. жиі пайдаланылады.
OpenGL-дің амал-тәсілдері MATLAB-та автоматты түрде қамтылған. Бұл
жайт келесіні білдіреді: егер қолданушы компьютерінің видеокартасы оларды
қолдаса және видеоадаптердің сәйкес драйверлері орнатылса, олардың
пайдаланылады. MATLAB-тің стандартты графикасы амал-тәсілдерінің деңгейінде
OpenGL басқарушы функцияларының ешқайсысы болмайды. Бірақ та дескрипторлық
графика opengl selectionjnode командасының көмегімен мұндай мүмкіндікті
береді.
Бұл команда рендерингті жүзеге асырудың графикалық режимдерін
орнатады. selectionjnode параметрі келесі мағыналарға ие болуы мүмкін:
• autoselect – OpenGL-дің автоматты түрде қолданылуын орнатады және
жұмысқа мүмкіндік бар жағдайда OpenGL амал-тәсілдерін қосады;
• neverselect – OpenGL-дің автоматты түрде қолданылуын өшіреді;
• advise – OpenGL режимін қолданудың мүмкіндігі жайлы хабар шығарады,
бірақ рендеринг режимі (RenderMode) қолдан орнатылады.
opengl командасы жалғыз жағдайында selectionjnode мәнінің жайлы хабар
шығарады, мысалы:
opengl
ans=
AutoSelect
Ал opengl info командасы экранға MATLAB жүйесі орнатылған компьютердің
OpenGL амал-тәсілдері жайлы мәліметті шығарады, мысалға:
opengl info
Version = 1.3.0 - Build 4.14.10.3712
Vendor = Intel
Renderer = Intel Montara-GM
MaxTextureSize = 2048
Extensions = GL_ARB_multitexture GL_ARB_texture_border_clamp
GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add
GL_ARB_texture_env_combine GL_ARB_texture_env_dot3
GL_ARB_texture_env_crossbar GL_ARB_transpose_matrix GL_EXT_abgr GL_EXT_bgra
GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax
GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array
GL_EXT_cull_vertex GL_EXT_fog_coord GL_EXT_packed_pixels
GL_EXT_packed_pixels_12 GL_EXT_rescale_normal GL_EXT_secondary_color
GL_EXT_separate_specular_color GL_EXT_stencil_wrap
GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add
GL_EXT_texture_env_combine GL_EXT_texture_filter_anisotropic
GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat
GL_NV_texgen_reflection GL_WIN_swap_hint
Сондай-ақ рендеринг және OpenGL амал-тәсілдерімен дескрипторлық графика
деңгейінде set командасының көмегімен басқаруға болады, мысалға:
set(gcf,’Renderer’,’OpenGL’).
Графикалық объектілердің жарықты өткізу қабілетін басқару
Ерекше нәтижелерді беретін және сырттан қарағанда елеулі дәрежеде
назар аударарлық нәтижені тек OpenGL амал-әдістерін қолданғанда пайдалануға
болатын көріністердің жарықты өткізу қасиеттері (transparency) болып
табылады. Бұл қасиет сұйықтар немесе газдардың жарықты жартылай өткізетін
көріністерін, олардың ішіндегі сұйықтың шоғырлану аймақтары мен қатты
денелердің бөлшектерін, жұлдыздарға ие галактикалардың көріністерін,
биологиялық объектілердегі жасушалардың бейнеленулерін және т. б. көрсетуге
мүмкіндік береді.
Жарықты өткізу қасиеті әдетте көп өлшемді массивтерді қолдануды қажет
ететін көріністерді бөлек қабаттар ретінде келтіруге негізделген. Жарықты
өткізу туралы мәліметтер m*n өлшеміндегі ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz