Мазмұны:

Дизайнерге арналған қызықты бағдарламалау нұсқаулығы-суретті іске қосыңыз (екінші бөлім): 8 қадам
Дизайнерге арналған қызықты бағдарламалау нұсқаулығы-суретті іске қосыңыз (екінші бөлім): 8 қадам

Бейне: Дизайнерге арналған қызықты бағдарламалау нұсқаулығы-суретті іске қосыңыз (екінші бөлім): 8 қадам

Бейне: Дизайнерге арналған қызықты бағдарламалау нұсқаулығы-суретті іске қосыңыз (екінші бөлім): 8 қадам
Бейне: ФОТОБОКС. Кез келген тақырыпқа арнап жасауға болатын керемет көрнекілік 2024, Маусым
Anonim
Дизайнерге арналған бағдарламалау бойынша қызықты нұсқаулық-суретті іске қосыңыз (екінші бөлім)
Дизайнерге арналған бағдарламалау бойынша қызықты нұсқаулық-суретті іске қосыңыз (екінші бөлім)

Математика, көпшілігіңіз үшін пайдасыз сияқты. Біздің күнделікті өмірде ең көп қолданылатыны - қосу, азайту, көбейту және бөлу. Алайда, егер сіз бағдарламамен жасай алсаңыз, бұл мүлдем басқаша. Сіз неғұрлым көп білсеңіз, соғұрлым керемет нәтиже аласыз.

1 -қадам: Қозғалыс және функция

Сізге талғамыңызды жақсарту үшін бірнеше белгісіз суреттерді көрсетуге рұқсат етіңіз.

Бұл не? Енді бұл сұрақты бірінші орында қалдырыңыз, сонда сіз оны білесіз және қолданасыз.

Соңғы тарауда біз статикалық графиканы динамикалық етуге мүмкіндік беретін функцияларды орнату мен функцияның сызбасын үйрендік. Дегенмен, бұл қозғалыс форматы өте қарапайым. Біз бұрын меңгерген функционалдық білімдерімізді графиканы өз кейіпкерлерімен іске қосу үшін қолданамыз.

Жоғарыдағы суреттерден қанша функцияны ажыратуға болады? Олардың қозғалыспен қандай байланысы бар? Енді одан квадраттық функцияны алайық, кейбір параметрлерді кездейсоқ қосып, не болатынын көрейік. Мысалы, y = x² / 100.

Функция бейнесі осылай көрінеді. Төмендегі кодты көшіріңіз.

[cceN_cpp theme = «таң»] өзгермелі x, y; void setup () {size (300, 300); фон (0); x = 0; } void draw () {инсульт (255); инсульт салмағы (2); y = pow (x, 2) / 100,0; // pow функциясы тағайындалған нөмірдің n -ші дәрежесіне оралады. (x, 2) х -тің квадратын білдіреді. Бірінші параметр - базалық нөмір, екіншісі - индекс. нүкте (x, y); x ++; } [/cceN_cpp]

Жүгіру эффектісі

Содан кейін sin функциясын таңдаңыз. Формула: y = 150 + sin (x).

Келесі кодты көшіріңіз.

[cceN_cpp theme = «таң»] өзгермелі x, y; void setup () {size (300, 300); фон (0); x = 0; } void draw () {y = height/2 + sin (radians (x)) * 150; // Радиандық функция x -ті бұрышқа айналдырады. x ++; инсульт (255); инсульт салмағы (2); нүкте (x, y); } [/cceN_cpp]

Жүгіру эффектісі

Бұл кодты қолданғаннан кейін алатын график. Және бұл олардың қозғалыс жолдары. Бұрынғымен салыстырғанда нәтиже айқын. Функционалды сурет шын мәнінде қозғалыс жолына сәйкес келеді! Бұл жеткілікті қарапайым. Тек x, y мәнін координатқа ауыстыру керек. Бұрын біз салған трек y = x² / 100 функциясының графигіне эквивалентті. Соңғы трек y = 150 + sin (x) функциясының графигіне тең. Бірақ бағдарламада у осінің бағыты қарама -қарсы. Осылайша, бастапқы графикамен салыстырғанда трек төңкеріледі. Менің ойымша, сіздің басыңызда ұзақ уақыт бойы мазалап жүрген кейбір қиын сұрақтар бірден шешілетін сияқты. Біз білетін бұл керемет функцияларды графикалық қозғалысты басқару үшін қолдануға болатыны таңқаларлық!

2 -қадам: Жазу функциясы

Мен төменде жиі қолданылатын бірнеше функцияларды келтірдім. Бұл функциялар компьютер арқылы танылатын кодқа аударуға көмектеседі деп үміттенемін.

Сондықтан бағдарламада төмендегі формула жазылады:

y = x² → y = pow (x, 2) немесе y = sq (x)

y = x³ → y = pow (x, 3)

y = xⁿ → y = pow (x, n)

y = 4ⁿ → y = pow (4, n)

y = logₑ² → y = журнал (2)

y = e² → y = exp (2)

y = √5 → y = sqrt (5)

Сіз сондай -ақ функцияны кездейсоқ түрде бағдарламаға жаза аласыз және оның қозғалысы қалай болатынын көре аласыз. Мән өрісі мен анықтама доменінің диапазонын ескеруді ұмытпаңыз, әйтпесе сіздің экраныңыздағы графика таусылады.

Тригонометриялық функция

Енді тригонометриялық функциялардың кейбір жазбаларын білуге көшейік.

Бағдарламаға бұрышқа қатысты функция параметрінің енгізілуі радианды қабылдайтынына назар аудару керек. Осылайша sin90 ° күнәға жазылады (PI / 2). Егер сіз бұл әдіспен таныс болмасаңыз, бұрышты радианға түрлендіру үшін randians функциясын қолдана аласыз, содан кейін sin (radians (90) жазыңыз.

Функция дәрежелерін қолдану салыстырмалы түрде қарама -қарсы. Ол радианды бұрышқа айналдыра алады. Басып шығаруды (градус (PI/2)) тікелей өңдеу аймағына енгізіңіз және сіз не алатынын көріңіз.

3 -қадам: Графикалық қозғалысты тригонометриялық функциямен басқару

Міне, сізге графикалық қозғалыстың нақты әсерін көруге болатын жағдай.

[cceN_cpp theme = «таң»] өзгермелі x, y; void setup () {size (700, 300); } void draw () {background (234, 113, 107); y = sin (радиандар (x)) * 150 + 150; x ++; noStroke (); эллипс (x, y, 50, 50); } [/cceN_cpp]

Sin функциясы - бұл периодты функция. Оның минималды мәні -1, ал максималды мәні - 1. Экранның биіктігі - 300. y = sin (радиандар (x)) * 150 + 150 сілтемесі, сондықтан y мәнінің өзгеру диапазоны 0 ішінде жақсы басқарылады. 300 -ге дейін.

Айналмалы шеңбер

Ақырында, біз осы тараудың ең маңызды бөлігіне келдік. Бағдарламада шеңбердің жолын қалай салуға болады? Оны көрсету үшін функцияларды қалай қолдануға болады? Сізге мақаланың басында көрген екі суретті тағы да көрсетуге рұқсат етіңіз.

Шындығында олар шеңбер координаты мен тригонометриялық функция арасындағы байланысты визуалды түрде ашты. Жоғарыдағы суреттердегі қозғалыс increasing үнемі өзгеріп отыратын тәуелсіз айнымалыға байланысты. Сол жақ - sin және cos функциясының бейнесі, ал оң жақ картадан кейін айналмалы қозғалысты білдіреді. Бұл өте ақылды емес пе? Бұл енді жұмбақ емес. Сіз оны түсіну үшін кодты пайдалана аласыз.

Қарапайым мысал:

[cceN_cpp theme = «таң»] өзгермелі x, y, r, R, бұрыш; void setup () {size (300, 300); r = 20; // Шеңбер диаметрі R = 100; // Қозғалыс жолының радиусы x = 0; бұрыш = 0; y = биіктік/2; } void draw () {background (234, 113, 107); аудару (ені/2, биіктігі/2); // Бастапқы нүктені экран ортасына жылжытыңыз. noStroke (); x = R * cos (бұрыш); y = R * sin (бұрыш); эллипс (x, y, r, r); бұрыш += 0,05; } [/cceN_cpp]

Қараңыз! Айналмалы шеңбер пайда болады! Мұнда тәуелсіз айнымалының бұрылу бұрышы тұрақты болмайды (суреттегі θ -ге тең). Бұл бұрыш үшін стенд. Оның ішінде xy салыстырмалы көбейтілген R коэффициентіне ие, бұл шеңбер қозғалысының радиусының кеңеюіне әкеледі (R - радиус үшін). Егер R көбейтілмесе, оның қозғалыс жолы -1 -ден 1 -ге дейінгі аралықта шектеледі.

Неге өсіп келе жатқан x -ды пайдаланбасқа? Функцияның қасиетіне сәйкес, анықталу аймағындағы кез келген х оған сәйкес келетін жалғыз y болады. Жазық төртбұрышты өлшемді координаталар жүйесінде сіз шеңберді тікелей салу үшін «қарапайым функцияны» таба алмайсыз. Яғни, біз бұл форматты енді пайдалана алмаймыз.

y = (x белгісіз өрнегі?);

x ++;

Сондықтан біз өз ойымызды өзгертуіміз керек. Басқа бұрышты тәуелсіз айнымалы ретінде таңдаңыз, содан кейін sin және cos функциясын қолданып, оны көлденең және тік координатқа айналдырыңыз.

x = R * cos (бұрыш);

y = R * sin (бұрыш);

бұрыш += 0,05;

Сіздердің кейбіреулеріңіз бұл шеңбер қозғалысының жолын неге көрсете алады деп ойлайтын шығарсыздар. Тригонометриялық функцияның анықтамасына сәйкес, біз бұл функцияның қарама -қарсы жақтың гипотенузаға қатынасын күнәға айналдыра аламыз; cos функциясы - гипотенузаға іргелес қатынастың қатынасы. Шеңбер нүктесі қай жерде болса да, r (радиус) өзгеріссіз қалады. Сондықтан x координатасы мен у координатасының өрнегін қорытындылай аламыз.

Бұл математикалық нұсқаулық емес болғандықтан, мен сізге тригонометриялық функция туралы көбірек білімді көрсетуді тоқтатамын. Егер сіз оны білгіңіз келсе немесе оны ұмытып қалсаңыз, оны қайтадан қарап шығуға болады.

Әрине, егер сіз оны толық түсіне алмасаңыз, бәрі жақсы. Шеңбер салу үшін оны қалай қолдану керектігін білу ғана қажет. Бұл да «бағдарламалау идеясының» бір түрі. Кейінірек біз белгілі бір функцияны орындау үшін басқалар жасаған кейбір модульдерді жиі шақырамыз. Мұны егжей -тегжейлі білуге өзіңізді итермеңіз.

Алайда, sin және cos функциялары жиі кездеседі. Егер сіз жоғары деңгейдегі туынды жасағыңыз келсе, оны мұқият білуге тырысқан жөн. Егер бұл сұрақтың өзі математикалық білімді игеруге итермелесе, онда сізді одан да қызықты нәрселер күтіп тұр.

Бұл тригонометриялық функцияға жақын суреттер.

4 -қадам: Координаталар қозғалысының жүйесі

Алдыңғы эффектілер графикалық координаттардың өзгеруіне қатысты. Координаттар жүйесінің өзі статикалық. Іс жүзінде біз координаталық қозғалысты қозғалыс әсерін жүзеге асыру үшін жасай аламыз. Бұл жағажайдағы адамдар қайықтағы басқа адамдарды бақылап отырғандай. Қайықтағы адамдар үшін қайық статикалық. Бірақ егер қайықтың өзі қозғалатын болса, онда қайықтағы адамдар онымен бірге қозғалады. Бұрынғы істердің барлығы «қайықта жүгіретін адамдар» туралы. Шындығында, қайық қозғалмайды. Төменде координат жүйесін өзгертуге арналған кейбір жалпы функциялар берілген.

Аудару функциясы

Аудару функциясы, біз бұрын айтқанбыз, графиктің координат жүйесін көлденең жылжыту үшін қолданылады.

Шақыру форматы:

аудару (а, б)

Бірінші параметр пиксель үшін x осінің оң бағытына ауысуды білдіреді. Екінші параметр b пиксельдері үшін y осінің оң бағытына ауысуды білдіреді.

Екі кодты салыстырыңыз және кез келген айырмашылықты табуға тырысыңыз. (Кодты жеңілдету үшін біз функция өлшемін жоя аламыз, экранның ені мен биіктігі әдепкі бойынша 100 болады.)

Қолданар алдында:

эллипс (0, 0, 20, 20);

Біз қолданғаннан кейін:

аудару (50, 50);

эллипс (0, 0, 20, 20);

Функцияны айналдыру

Шақыру форматы:

айналдыру (а)

Ол координаттар жүйесін айналдыру үшін қолданылады. Параметр оң болса, ол бастапқы нүктені орталық нүкте ретінде таңдайды және сағат тілімен бұрылады. Параметрді енгізу радианды қолдану үшін тригонометриялық функциямен бірдей.

Қолданар алдында:

эллипс (50, 50, 20, 20);

Қолданғаннан кейін:

айналдыру (радиандар (30));

эллипс (50, 50, 20, 20);

Бағдарламаның әсері - шеңберді координатаның центрлік нүктесінің айналасында сағат тілінің бағытымен 30 градусқа айналдыру.

Функция шкаласы

Шақыру форматы:

масштаб (а)

Бұл функция координаттар жүйесін кішірейте алады. Мән масштабтауға арналған. Параметр 1 -ден асқан кезде үлкейтіңіз; егер ол 1 -ден төмен болса, кішірейтіңіз.

Қолданар алдында:

эллипс (0, 0, 20, 20);

Қолданғаннан кейін:

шкала (4);

эллипс (0, 0, 20, 20);

Жоғарыдағы суреттегі шеңбер бастапқы өлшемнен төрт есе күшейтілген. Сондай -ақ, x ось пен y ось бағыттарын бөлек кішірейту үшін екі параметрді қолдануға болады.

шкала (4, 2);

эллипс (0, 0, 20, 20);

Трансформация функциясының суперпозициясы

Мұнда суперпозиция қазіргі координаттар жүйесіне қатысты өзгерістерге байланысты. Басқаша айтқанда, эффектілерді қосуға болады.

аудару (40, 10);

аудару (10, 40);

эллипс (0, 0, 20, 20);

Оның соңғы әсері тең болады

аудару (50, 50);

эллипс (0, 0, 20, 20);

Дәл солай айналдыру функциясы

айналдыру (радиандар (10));

айналдыру (радиандар (20));

эллипс (50, 50, 20, 20);

Тең

айналдыру (радиандар (30));

эллипс (50, 50, 20, 20);

Масштабтау да, айналдыру үшін де функция масштабы мен бастапқы нүктесінде ортаны айналдырады. Егер біз айналдыру әсерін (50, 50) орталық позициямен алғымыз келсе, біз керісінше ойлауымыз керек. Алдымен бастапқы нүктені (50, 50) позициясына жылжытыңыз, содан кейін айналмалы түрлендіру функциясын қосыңыз. Соңында графиканы бастапқы нүктеге боялған етіп жасаңыз.

Қолданар алдында:

эллипс (50, 50, 50, 20);

Қолданғаннан кейін:

аудару (50, 50);

айналдыру (радиандар (45));

эллипс (0, 0, 50, 20); // Бұрылу бұрышының өзгеруін көру үшін біз сопақша жасадық.

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

Көлденең және айналмалы қозғалыс

Келесі жағдайларда біз координаттар жүйесін өзгерту арқылы қозғалыс әсерін жүзеге асырамыз. Бұл ретте сізден бұрынғы тараудың мысалына сілтеме жасауыңызды сұраймын. Көбінесе сіз белгілі бір әсерді жүзеге асыру үшін мүлдем басқа әдісті қолдана аласыз.

5 -қадам: Көлденең қозғалыс

[cceN_cpp theme = «таң»]

int x, y; void setup () {size (300, 300); x = 0; y = биіктік/2; } void draw () {background (234, 113, 107); noStroke (); аудару (x, y); эллипс (0, 0, 50, 50); x ++; } [/cceN_cpp]

Шеңбердің координаты өзгермейді, бірақ оның координат жүйесі өзгереді.

Айналу қозғалысы

[cceN_cpp theme = «таң»] өзгермелі r, R, бұрыш; void setup () {size (300, 300); r = 20; // Шеңбер өлшемі R = 100; // Қозғалыс радиусы} void draw () {background (234, 113, 107); аудару (ені/2, биіктігі/2); // Бастапқы нүктені экран ортасына жылжытыңыз. бұру (бұрыш); noStroke (); эллипс (0, R, r, r); бұрыш += 0,05; } [/cceN_cpp]

Бұл тригонометриялық функцияға қарағанда әлдеқайда түсінікті және қарапайым емес пе? Бұл жерде сізде сұрақ болуы мүмкін. Мысал ретінде айналмалы кодты алыңыз. Әлбетте, жоғарыда аталған түрлендіру функциясы салыстырмалы болып табылады және үстеме қоюға мүмкіндік береді. Егер біз аударманы (ені/2, биіктігі/2) функцияның сызбасына жазатын болсақ, бұл функцияның ұтыс ойыны бір рет жұмыс істейтінін білдірмейді, координат жүйесі қашықтықты жылжытады. бастапқы негізден оң жақ төменгі бағытта? Ақылға қонымды түрде ол экранның ортасында мәңгі қалмайды.

Сіз осылай түсінуге болады. Функция тартудағы код төменнен төменге дейін операцияны аяқтағаннан кейін, координат жүйесі екінші операцияда бастапқы күйге оралады. Координаттар жүйесінің бастапқы нүктесі жоғарғы сол жақ бұрышқа оралу үшін әдепкі болады. Егер біз координаттар жүйесін үздіксіз өзгерткіміз келсе, функцияның айналу бұрышы оның мәнін үнемі арттырады.

Координат күйіне қол жеткізу

Кейде біз координаттар жүйесінің күйінің өзгеруін бұрынғыға байланысты болғанын қаламаймыз. Бұл кезде pushMatrix және popMatrix функциясын қолдануға тура келеді. Екі функция әдетте жұпта пайда болады. PushMatrix функциясы popMatrix алдында. Оларды тек қолдануға болмайды, әйтпесе ол қате болады.

Мысал:

[cceN_cpp theme = «таң»] pushMatrix (); // Координат жүйесі күйінің аудармасын сақтау (50, 50); эллипс (0, 0, 20, 20); popMatrix (); // Координат жүйесінің күйін оқу rect (0, 0, 20, 20); [/cceN_cpp]

Бұл мысалда, translate (50, 50) қолданбас бұрын, координаттар жүйесінің ағымдағы күйін сақтау үшін pushMatrix. функциясын қолданамыз. Бұл сонымен бірге бастапқы күй. Біз шеңбер құрғаннан кейін popMatrix енгіземіз, ол осы күйге оралады. Бұл кезде түзу функциясын орындаңыз, ол функция аудармасының әсеріне ұшырамағанын көресіз, оның орнына бастапқы нүктенің сол жақ жоғарғы бұрышына шаршы салады.

Сонымен қатар pushMatrix және popMatrix функциялары ұя салуға мүмкіндік береді.

Мысалға

pushMatrix ();

pushMatrix ();

popMatrix ();

popMatrix ();

Оның қарым -қатынасын интуитивті түрде көрсету үшін біз конденсацияланған форматты таңдаймыз.

Біріккен қозғалыс немесе қозғалыстағы қозғалыс?

Енді маңызды бөліктің екінші толқыны басталады. Тек алға ұмтылуға тырысыңыз. Бұрын біз қайық пен адамдар туралы метафораны қолдандық. Егер сіз адамдарды да, қайықты да қозғалысқа келтіретін болсақ, жағажайдағы адамдарда қандай сезім болады деп ойландыңыз ба?

Горизонтальды қозғалысты координаталық жүйенің айналмалы қозғалысын біріктіру сияқты. Мұндағы мән - тек бір бағытта қозғалу.

[cceN_cpp theme = «таң»] int x, y; жүзу бұрышы; void setup () {size (300, 300); фон (234, 113, 107); noStroke (); x = 0; // x мәнінің бастапқы мәні 0 болғанда, біз кодтың осы сөйлемін елемеуге болады. Айнымалы мәнді жариялаған кезде, әдепкі мән - 0. y = 0; // Жоғарыда айтылғандармен бірдей. бұрыш = 0; // Жоғарыда айтылғандармен бірдей. } void draw () {бұрыш += 0,25; y--; аудару (ені/2, биіктігі/2); pushMatrix (); бұру (бұрыш); эллипс (x, y, 5, 5); popMatrix (); } [/cceN_cpp]

Және айналмалы қозғалыс пен координаталық жүйенің масштабы бар.

[cceN_cpp theme = «таң»] өзгермелі x, y, бұрыш; void setup () {size (300, 300); фон (234, 113, 107); noStroke (); } void draw () {бұрыш += 0,01; x = sin (бұрыш) * 100; y = cos (бұрыш) * 100; аудару (ені / 2, биіктігі / 2); pushMatrix (); масштаб (1 + 0.1 * sin (бұрыш * 10)); эллипс (x, y, 5, 5); popMatrix (); } [/cceN_cpp]

Оған алданып қалмаңыз! Шеңбер нүктесі шын мәнінде айналмалы қозғалыс жасайды. Егер оны бейнекамерамен масштабтауға салыстырсақ түсіну қиын емес. Бейнекамера үнемі алға немесе артқа жылжиды, ол айналмалы қозғалыста нүкте түсіреді.

Таң қалдың ба? Бұл қарапайым функциялар. Бірақ әр түрлі комбинациямен біз әр түрлі әсерлер жасай аламыз. Осы уақытқа дейін сіздің экспозициям сіздің зерттеуіңізге біраз бос орын қалдыру үшін тоқтайды.

6 -қадам: кешенді қолдану

Бұл тараудың аяқталуы жақын арада. Соңғы екі тарауда мен графикалық қозғалыстың негізгі әдісін енгіздім. Менің ойымша, сіз оны бастапқы идеяларыңызбен салыстырғанда тереңірек түсінуіңіз мүмкін. Ақырында, сілтеме үшін бірнеше толтырылған мысал.

[cceN_cpp theme = «таң»] өзгермелі x1, y1, x2, y2, r, R; өзгермелі бұрыш1, бұрыш2; void setup () {size (300, 300); r = 12; R = 120; бұрыш1 = 0; бұрыш2 = PI/4; } void draw () {background (234, 113, 107); noStroke (); аудару (ені / 2, биіктігі / 2); бұрыш1 += 0,02; бұрыш2 += 0,06; x1 = R *sin (бұрыш 1); y1 = R* cos (бұрыш 1); x2 = R/2 *sin (бұрыш2); y2 = R/2 *cos (бұрыш2); эллипс (x1, y1, r/2, r/2); эллипс (x2, y2, r, r); эллипс (-x1, -y1, r/2, r/2); эллипс (-x2, -y2, r, r); эллипс (x1, -y1, r/2, r/2); эллипс (x2, -y2, r, r); эллипс (-x1, y1, r/2, r/2); эллипс (-x2, y2, r, r); инсульт (255); инсульт салмағы (3); сызық (x1, y1, x2, y2); сызық (-x1, -y1, -x2, -y2); сызық (x1, -y1, x2, -y2); сызық (-x1, y1, -x2, y2); } [/cceN_cpp]

Бұл мысалда біздің алдыңғы тараудан басқа ешқандай ақпарат жоқ.

Қай ұпайлар сәйкес келеді? Қай сызықтар сәйкес келеді? Мен де оны түсіне алмаймын. Бірақ есімде, бұл кодтың кішкене бөлімінен туындайды.

Бұл оның қозғалысының сипаты. Қалған сызықтар - бұл айна әсері. Егер сіз осы нұсқауларды орындауды жалғастыра берсеңіз, сіз нақты уақыт режимінде графикалық қозғалыстың күйін өзгерту үшін жаңартылған нұсқаны жасай аласыз және графикке контроллерді қоса аласыз.

Бағдарламалаудың қызықты жері - сіз ережелерді жобалай аласыз немесе біріктіре аласыз. Алайда, соңғы бағдарлама қандай болатыны сіздің қабілетіңізге байланысты. Әдетте дизайнерлерде күшті графикалық қиял бар. Сіз өзіңіздің басыңызда суреттің нобайын жасай аласыз, содан кейін оны кодқа аударуға тырысыңыз. Сонымен қатар, сіз код пен ережеден, дизайн функциялары мен айнымалылардан өз қалауыңыз бойынша бастай аласыз. Есіңізде болсын, өңдеу - бұл сіздің эскизіңіз, ал код - сіздің щеткаларыңыз! Өз ойларыңызды еркін таратыңыз!

7 -қадам: Аяқтау

Біздің тараудың соңында, біз басынан бері ұзақ уақыт бойы сақталған сұраққа оралайық. Бағдарламамен суретке түсіру үшін көп күш жұмсаудың қажеті не? Бұл тарауды білгеннен кейін, сіз ойнауға болатын көптеген әдістерді таба аласыз.

[cceN_cpp theme = «таң»] қалқымалы қылқалам, earD, eyeD, faceD; void setup () {size (500, 500); } void draw () {background (200, 0, 0); browX = 150 + sin (frameCount / 30.0) *20; earD = 180 + sin (frameCount / 10.0) *20; eyeD = 60 + sin (frameCount/30.0) *50; тұлғаD = 300; инсульт салмағы (8); эллипс (175, 220, earD, earD); эллипс (ені - 175, 220, earD, earD); тік (100, 100, faceD, faceD); сызық (browXX, 160, 220, 240); сызық (width-browX, 160, width-220, 240); толтыру (кездейсоқ (255), кездейсоқ (255), кездейсоқ (255)); эллипс (175, 220, eyeD, eyeD); эллипс (ені-175, 220, eyeD, eyeD); толтыру (255); нүкте (ені/2, биіктігі/2); үшбұрыш (170 - cos (frameCount / 10.0) * 20, 300 - sin (frameCount / 10.0) * 20, ені - (170 + cos (frameCount / 10.0) * 20), 300 + sin (frameCount / 10.0) * 20, 250, 350); } [/cceN_cpp]

Бұл динамикалық графика үшін сиқыр емес пе? Мұнда мен сізге көп жағдайларды көрсетпеймін. Сіз маған қарағанда әлдеқайда жақсы әсер жасай аласыз. Бағдарламамен сурет салудың артықшылығы - әр пиксельмен ойнауға болады. Сіздің графигіңіз нүктелік кескін емес болғандықтан, сіздің графикаңыздың әрбір негізгі нүктесі басқарылады. Ол басқа бағдарламалық қамтамасыз ету жүзеге асыра алмайтын кейбір әсерлерді жүзеге асыра алады.

Егер сізде бәрін бұзып, қайтадан біріктіргісі келетін жүрегіңіз болса, оқу бағдарламасы сізге бұл идеяны жүзеге асыруға көмектеседі.

Бұл мақала дизайнер Вензиден келеді.

8 -қадам: Салыстырмалы көрсеткіштер:

Дизайнерге арналған қызықты бағдарламалау нұсқаулығы-бастапқы сенсорды өңдеу

Дизайнерге арналған қызықты бағдарламалау нұсқаулығы-Бірінші өңдеу бағдарламасын жасаңыз

Дизайнерге арналған қызықты бағдарламалық нұсқаулық - суретті іске қосыңыз (бірінші бөлім)

Егер сізде сұрақтар туындаса, [email protected] электронды поштасына жібере аласыз.

Бұл мақала:

Ұсынылған: