І. Теориялық БӨлім с++ тіліндегі графика туралы жалпы түсінік


Анимацияны құрудың амалдары



бет4/9
Дата29.06.2022
өлшемі185 Kb.
#459546
1   2   3   4   5   6   7   8   9
Курсовая мысал

1.3 Анимацияны құрудың амалдары
Анимация құрудың процессі өте қапайым болып келеді. Іс жүзінде ол келесі этаптардың қайталануынан тұрады:
1. Объектілерді экранның берілген нүктелерінде орналастырылуы;
2. Белгілі уақыт аралығында объектінің экранда көрсетіліп тұруы;
3. Объектілерді жою.
Қозғалыс иллюзиясы. Бізге таныс фильмдер қалай істелінсе, компьютер экранында қозғалыс солай істелінеді. Яғни бірінен кейін бірі оранласқан бейнелерді аз уақыт аралығында экранға шығару. Бұндай жол аннимацияның әр түрлі түрлерін құруға мүмкіндік береді. Аннимация жасаудың ең қарапайым түрі келесіде құралады, яғни барлық қозғалыстарды математикалық формулалармен көрсету. Бұл формулаларды физиканың көптеген есептерінде кездестіруге болады. Оның кейбіреулері дененің орналасуын көрсететін теңдеулермен сипатталады.
Қиын қозғалыстарды жасау. Сізге қозғалыстағы дене және х = disr (y) және y =height (t) заңдарымен анықталатын х және у тәуелділіктері берілсін. Х координатасы сан басынана горизонтальді арақашықтықты, ал У кординатасы жерден бастап биіктігін береді. Әдетте бұл теңдеулер х және у-ті уақыт функциясы ретінде анықтайды.
Горизонталь бойымен бірқалыпты қозғалыс. Горизонталь бойымен бірқалыпты қозғалыс келесі формуламен жазылады: х = speedx * t + x0; y = y0;
Мұндағы speedx горизонталь бойымен бірқалыпты қозғалыс жылдамдығы. Ал y0 дененің вертикаль бойындағы бастапқы орнын көрсететін тұрақты мән. Констант x0 дененнің горизонталь бойындағы бастапқы орнын көрсетеді.
Горизонталь және вертикаль бойларымен бірқалыпты қозғалыс. Горизонталь және вертикаль бойларымен бірқалыпты қозғалыс формуласы келесі түрде беріледі: х = speedx * t + x0; у = speedу * t + у0; мұндағы speedx және speedу горизонталь және вертикаль бойларымен бірқалыпты қозғалыс жылдамдығы.
Төменде көрсетілген программа еркін құлаудың программасы.
# include
# include
Gridmigrid;

// Стандартты координаттарды қолдану


const float v0x=10., v0y=20.;


float dist (float t) // х координатасын анықтайтын функция
{
return v0x*t+10;
}
float height (float t) // у координатасын анықтайтын функция
{
return v0y+50;
}
void mainprog ( )
{
// х, у және уақыт координаталарын экранға шығару үшін ақпараттық рамкаларға ат беру және жариялау
Box box (“x:”), boxy (“y:”), boxt (“Time”), mygrid.show ( );
// Кординаталық осьтерді салу
Float t; // Уақыт айнымалысын жариялау
Circle body; // Денені жариялау
Body. Resize (12); // Дене өлшемін беру
Body. Color (3, 3); // Денені бояу
Clock timer; // Таймерді жариялау
Clock mywatch; // Басқа таймерді жариялау
// 15 секунд өткеше цикл орындалады
// Қазіргі уақыт айнымалы t-да жинақталады
while ((t=mywatch.time())<15.)
// Координаталар мәндері мен уақытты жаңалау
// Сай келетін ақпараттық рамкалада
{
boxx.say (dist(t));
boxy.say (height(t));
boxt.say (t);
// Дененің ағымдағы қосымшаға орналастыру
body.place (dist(t), height(t));
body.show ( );
timer.watch (.033);
timer.reset ( );
body.erase ( );
}
}


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет