жүктеу мүмкіндігіне ие боласыз
Бұл материал сайт қолданушысы жариялаған. Материалдың ішінде жазылған барлық ақпаратқа жауапкершілікті жариялаған қолданушы жауап береді. Ұстаз тілегі тек ақпаратты таратуға қолдау көрсетеді. Егер материал сіздің авторлық құқығыңызды бұзған болса немесе басқа да себептермен сайттан өшіру керек деп ойласаңыз осында жазыңыз
Паскаль графикасында анимацияны жүзеге асыру.
Тақырыбы: Паскаль графикасында анимацияны жүзеге асыру.
Функция графигін салу.
Дəріс мазмұны:
1.Паскаль графикасында анимацияны жүзеге асыру.
2.Функция графигін салу.
Графиктік режимдегі программаның жалпы түрі:
Uses Graph;
Var GD:integer; {GD-графиктік драйвер}
GM:integer; {GM-графиктік адаптер}
Begin
GD:Detect; {драйверді автоматты анықтау}
InitGraph(GD,GM,’C:\TP\BGI’);
…..
графиктік операторлар
.......
CloseGraph
End.
Экранға шығатын кескін (сызықтар мен символдар) түсі SetColor(түс) процедурасы
арқылы орнатылады.
түсін
болмаса, экран ағымдық қара түске боялып көрсетіледі.
орнатады.
Бұл
оператор
: Экран центрінде қызыл түсті нүкте шығару үшін бұл процедура былайша
жазылады:
PutPixel(320,240,4) немесе PutPixel(320,240,red)
Line(x1, y1,x2,y2) процедурасы (х1, у1) нүктесінен (х2,у2) нүктесіне дейін түзу
кесіндісін салуды жүзеге асырады.
SetLineStyle(LineStyle, Pattern, Width);
Графиктік режимде көрсеткіш ұғымы қолданылады. Ол мəтіндік режимдегі курсор
ұғымына ұқсас. Одан айырмашылығы көрсеткіш экранда көрінбейді.
MoveTO(x, y) процедурасы көрсеткішті (x, y) нүктесіне орналастырады.
−
−
оны экраннан өшіру
кейбір ығысу арқылы объектінің басқа нұсқасын шығару т.с.с.
Аздаған ығысу арқылы объектіні экранға жиі шығару оның қозғалысының иллюзиясын
береді.
Қарапайым анимациялық алгоритм келесі қадамдардан тұрады:
− белгілі бір түспен сурет шығару
: Rectangle(10,10,100,100);
Bar(x1,y1,x2,y2) –іші боялған тіктөртбұрыш салу процедурасы. Қалыпты жағдайда
тіктөртбұрыш ақ түске боялып шығады.
Circle(x, y, R)- центрі (х, у) нүктесіндегі, радиусы R шеңбер салу процедурасы.
Arc( x, y, StartАngle, EndAngle, R ) – центрі(х, у) нүктесіндегі, радиусы R шеңбер
доғасын салады.
Мұндағы StartАngle, EndAngle- градуспен өрнектелген доғаның бастапқы жəне соңғы
бұрыштары. Доға StartАngle- ден EndAngle- ге дейін сағат тіліне қарсы бағытта
сызылады.
Мысал
−
: MoveTO(40, 50)- көрсеткішті (40, 50) нүктеге орналастырады.
MoveRel(20, 20)- көрсеткішті (60, 70) нүктеге орналастырады.
: Arc(x, y, 180, 0, R) процедурасы ∪ түріндегі, ал
Arc(x, y, 0, 180, R) процедурасы ∩ түріндегі доға салады.
Ellipse(x, y, α, β, Rx, Ry )- центрі (х, у ) нүктесіндегі, α, β бұрыштарының
аралығындағы, биіктігі мен ені сəйкес Rx, Ry эллипс сызу.
Мұндағы Rx, Ry- пикселмен өрнектелген Х жəне У бағыттарындағы эллипстің жарты
осьтері.
Паскаль графикасында кез-келген тұйық облысты бояуға болады. Облысты бояу
процедурасының жазылу үлгісі:
SetFillStyle( Pattern, Color);
төмендегі
шаблондар бояу стилін көрсетеді.
суретті сол орнында фон түсімен шығару (сурет жоқ болып кеткен тəрізді
болады)
− суретті бастапқы түспен келесі жерде шығару т.с.с.
MoveRel(deltaX, deltaY) процедурасы көрсеткішті оның ағымдық мəнінен ∆Х, ∆У-кеайырмашылығы бар нүктеге орналастырады.
Мысал
Кейбір процедуралар көрсеткіш арқылы анықталған нүктеден бастап сызықтар мен
мəтін шығарады. Бұл жағдайда көрсеткіш қаламұш тəрізді қозғалып, өз координатасын
өзгертеді.
GetX, GETY функциялары көрсеткіштің ағымдық мəнін береді.
Ал GetMaxX, GETMaxY екі функция орнатылған режим үшін Х пен У-тің ең үлкен
мəнін береді.
Rectangle(x1,y1,x2,y2) процедурасы тіктөртбұрыш салады.
х1, у1- тіктөртбұрыштың сол жақ жоғарғы, х2, у2- оң жақ төменгі төбелерінің
координаталары.
Мысал
SetFillStyle процедурасы арқылы облысты бояудың түсі мен стилі ғана орнатылады.
Бояуға қажетті облысты көрсету үшін мына процедура қолданылады.
FloodFill(x, y, ColorBorder);
Бұл процедура шекарасында үзік нүктесі жоқ , тұйық облысты бояйды.
Мұндағы х, у – боялатын облысқа тиісті кез-келген нүктенің координатасы.
ColorBorder- боялатын облыс шекарасының түсі.
I. Анимация деп экран бетіндегі əртүрлі бейнелердің орын ауыстыруын, жылжуы мен
формасын өзгертуін айтады. Экрандағы қандай да бір объектінің орын ауыстыруының
негізінде келесі əрекеттер тізбегі жатады:
− объектіні экранға шығару
II. Функция графигін салу программасы.
Функция графигін Pascal тілінде салуды қарастырайық.
Функция графигін салу үшін координаталар басын экранда (x0,y0) нүктесіне
орналастыра отырып, қисықтың кез- келген нүктесінің (x,y) координатасын (x-x0,y-y0)
айырымы арқылы анықтауға болады. Сурет өлшемі кішкентай болып шығатындықтан,
масштаб(г/в) = экран өлшемі (г/в) / график өлшемі (г/в) формуласы бойынша оның
масштабын үлкейту қажет. Сонан соң олардың ішінен қажетті масштаб ретінде
қабылданатын ең кішісі таңдалады. Нүкте салудың PutPixel(x,y,c) процедурасында
координата бүтін сан болу қажеттігінен нақты санның бүтін бөлігін беретін trunc()
операторы қолданылады.
Мысал2.
құрыңдар.
program f1; uses graph, crt;
var d, m: integer; x, y, mx, my, x1, x2, y1, y2,h,m1: real;
function f(x:real): real;
begin f:= sin(x); end;
begin clrscr;
Write('Кесінді шекарасын енгіз'); Readln(x1, x2);
y1:=f(x1); y2:=f(x2); mx:=640/(x2 -x1); my:=480/(y2 - y1);
If mx< my Then m1:=mx else m1:= my; h:=1/m1; x:=x1;
d:=detect; initgraph(d, m, 'c:\bp\bgi');
SetColor(5); Line(0, 240, 640, 240); Line(320, 0, 320, 480);
While x<= x2 do
begin
y:=-f(x);
PutPixel(trunc(x*m1 +320), trunc(y*m1 +240), 15);
x:=x+ 0.01;
end; readln;
end.
Өзіндік бақылау сұрақтары :
1. Анимация деген не?
2. Қарапайым анимациялық алгоритм қандай қадамдардан тұрады?
3. Анимациялық эффект жасау үшін Delphi-дің қандай компоненттері қолданылады?
Əдебиеттер:[1] 116-120 бет. [ 3] 276-336 бет. қ[1] 53-62 бет.
шағым қалдыра аласыз



Бұл курс Қазақстан Республикасы Оқу-ағарту министрлігімен келісілген