Përmbajtje:

Udhëzime interesante të programimit për stilistin-Merrni fotografinë tuaj në punë (Pjesa e Dytë): 8 hapa
Udhëzime interesante të programimit për stilistin-Merrni fotografinë tuaj në punë (Pjesa e Dytë): 8 hapa

Video: Udhëzime interesante të programimit për stilistin-Merrni fotografinë tuaj në punë (Pjesa e Dytë): 8 hapa

Video: Udhëzime interesante të programimit për stilistin-Merrni fotografinë tuaj në punë (Pjesa e Dytë): 8 hapa
Video: CS50 2015 - Week 7 2024, Qershor
Anonim
Udhëzime interesante të programimit për stilistin-Merrni fotografinë tuaj (Pjesa e Dytë)
Udhëzime interesante të programimit për stilistin-Merrni fotografinë tuaj (Pjesa e Dytë)

Matematika, për shumicën prej jush, duket e padobishme. Më e përdorura në jetën tonë të përditshme është vetëm shtimi, zbritja, shumëzimi dhe pjesëtimi. Sidoqoftë, është krejt ndryshe nëse mund të krijoni me program. Sa më shumë të dini, aq më shumë rezultate të mrekullueshme do të merrni.

Hapi 1: Lëvizja & Funksioni

Më lejoni t'ju tregoj disa fotografi të panjohura për të stimuluar shijen tuaj.

Cfare eshte kjo? Tani thjesht mbajeni këtë pyetje së pari dhe më vonë do ta dini dhe do ta përdorni.

Në kapitullin e fundit, ne kemi mësuar konfigurimin e funksionit dhe vizatimin e funksioneve, të cilat mund të bëjnë që grafika statike të bëhet dinamike. Sidoqoftë, ky format lëvizjeje është shumë i thjeshtë. Ne do të përdorim njohuritë e funksioneve që kemi zotëruar më parë për të ekzekutuar grafikat tona me karakterin e tyre.

Sa funksione mund të njihni nga fotografitë e mësipërme? Çfarë marrëdhënie kanë ata me lëvizjen? Tani le të marrim një funksion kuadratik prej tij, të shtojmë disa parametra rastësisht dhe të shohim se çfarë do të ndodhë. Për shembull, y = x² / 100.

Kështu duket imazhi i funksionit. Kopjoni kodin më poshtë.

[cceN_cpp theme = "agimi"] noton x, y; void setup () {madhësia (300, 300); sfond (0); x = 0; } void barazim () {goditje (255); goditje Pesha (2); y = fuqia (x, 2) / 100.0; // Funksioni pow do të kthehet në fuqinë e n -të të numrit të përcaktimit. (x, 2) paraqet katrorin e x. Parametri i parë është numri bazë dhe i dyti është indeksi. pika (x, y); x ++; } [/cceN_cpp]

Efekti i Vrapimit

Tjetra, zgjidhni funksionin sin. Formula: y = 150 + sin (x).

Kopjoni kodin e mëposhtëm.

[cceN_cpp theme = "agimi"] noton x, y; void setup () {madhësia (300, 300); sfond (0); x = 0; } barazim barazim () {y = lartësi/2 + sin (radianë (x)) * 150; // Funksioni radian transformon x në kënd. x ++; goditje (255); goditje Pesha (2); pika (x, y); } [/cceN_cpp]

Efekti i Vrapimit

Ky është grafiku që marrim pasi përdorim kodin. Dhe këto janë gjurmët e tyre të lëvizjes. Krahasuar me atë të mëparshëm, rezultati është i dukshëm. Imazhi i funksionit në fakt korrespondon me rrugën e lëvizjes! Quiteshtë mjaft e thjeshtë. Thjesht duhet të zëvendësosh vlerën e x, y në koordinatë. Pjesa e mëparshme që vizatuam është ekuivalente me grafikën e funksionit y = x² / 100. Ndërsa pista e fundit është e barabartë me grafikën e funksionit y = 150 + sin (x). Por në program, drejtimi i boshtit y është i kundërt. Pra, në krahasim me grafikun origjinal, pista do të jetë me kokë poshtë. Tani, mendoj se ju duhet të keni një ndjenjë se disa pyetje të vështira të përhumbura në kokën tuaj për një kohë të gjatë zgjidhen menjëherë. Amazingshtë e mahnitshme që këto funksione fantastike që mësuam më parë mund të përdoren për të kontrolluar lëvizjen grafike!

Hapi 2: Për të shkruar funksionin

Unë kam renditur disa funksione të përdorura shpesh më poshtë. Shpresoj që këto të na ndihmojnë të përkthejmë funksionet në kod që mund të njihen nga kompjuteri.

Prandaj, formula më poshtë në program do të shkruhet kështu:

y = x² → y = fuqi (x, 2) ose y = sq (x)

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

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

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

y = logₑ² → y = log (2)

y = e² → y = exp (2)

y = √5 → y = sqrt (5)

Ju gjithashtu mund të shkruani rastësisht një funksion në program dhe të shihni se si do të duket pista e lëvizjes së tij. Mos harroni të merrni parasysh gamën e fushës së vlerës dhe domenit të definimit, ose grafiku juaj do të mbarojë nga ekrani juaj.

Funksioni trigonometrik

Tani, le të shkojmë më tej për të njohur disa shkrime të funksioneve trigonometrike.

Duhet t'i kushtojmë vëmendje që në program hyrja e parametrit të funksionit në raport me këndin të miratojë radian. Kështu mëkati90 ° do të shkruhet në mëkat (PI / 2). Nëse nuk jeni të njohur me këtë metodë, mund të përdorni funksionin randians për të transformuar paraprakisht këndin në radian, dhe pastaj shkruani sin (radianët (90)).

Përdorimi i gradave të funksioneve është relativisht i kundërt. Mund të transformojë radian në kënd. Futni printimin (gradë (PI/2)) direkt në zonën e redaktimit dhe shihni se çfarë do të merrni.

Hapi 3: Kontrolloni lëvizjen grafike me funksion trigonometrik

Këtu keni një rast për të parë efektin aktual të lëvizjes grafike.

[cceN_cpp theme = "agimi"] noton x, y; void setup () {madhësia (700, 300); } barazim barazim () {sfond (234, 113, 107); y = mëkati (radianët (x)) * 150 + 150; x ++; noStroke (); elips (x, y, 50, 50); } [/cceN_cpp]

Funksioni mëkat është një funksion periodik. Vlera e saj minimale është -1, dhe vlera maksimale është 1. Lartësia e ekranit është 300. Referuar y = sin (radian (x)) * 150 + 150, prandaj diapazoni i ndryshimit të vlerës y do të kontrollohet mirë brenda 0 deri në 300.

Rrethi rrotullues

Epo, më në fund kemi ardhur në pjesën më të rëndësishme në këtë kapitull. Si të vizatoni një shteg rrethi në një program? Si të përdorni funksionet për ta shfaqur atë? Më lejoni t'ju tregoj përsëri dy fotografitë që pamë në fillim të këtij artikulli.

Në fakt ata kanë ekspozuar vizualisht marrëdhënien midis koordinatës së perimetrit dhe funksionit trigonometrik. Lëvizja në fotografitë e mësipërme nxitet nga ndryshorja e pavarur vazhdimisht në rritje θ. E majta është imazhi i funksionit sin dhe cos, dhe e djathta qëndron për një pikë që bën lëvizje rrethore pasi është hartuar. A nuk është shumë i zgjuar? Nuk është më misterioze. Ju mund të përdorni kodin për ta kuptuar atë.

Një shembull i thjeshtë:

[cceN_cpp theme = "agim"] noton x, y, r, R, kënd; void setup () {madhësia (300, 300); r = 20; // Diametri i rrethit R = 100; // Rrezja e rrugës së lëvizjes x = 0; kënd = 0; y = lartësia/2; } barazim barazim () {sfond (234, 113, 107); përkthe (gjerësia/2, lartësia/2); // Zhvendoseni pikën origjinale në qendrën e ekranit. noStroke (); x = R * cos (këndi); y = R * sin (këndi); elips (x, y, r, r); kënd += 0.05; } [/cceN_cpp]

Shiko! Shfaqet një rreth rrotullues! Këtu, variabli i pavarur nuk është më në rritje konstante pakësimi i këndit (i barabartë me θ në figurë). Isshtë qëndrim për kënd. Midis tij, xy ka relativisht të shumëzuar koeficientin R, i cili çon në shtrirjen e rrezes së lëvizjes së rrethit (R është për rreze). Nëse nuk do të shumëzohet R, shtegu i lëvizjes së tij do të jetë i kufizuar brenda intervalit nga -1 në 1.

Pse të mos përdorni x -në rritje? Sipas vetisë së funksionit në vetvete, çdo x brenda domenit të përkufizimit ka të vetmin y që përputhet me të. Pra, në sistemin e koordinatave të dimensioneve drejtkëndëshe të rrafshit, nuk mund të gjeni një "funksion të thjeshtë" për të vizatuar drejtpërdrejt rrethin. Kjo do të thotë që ne nuk mund ta përdorim më këtë format.

y = (Shprehja e panjohur e x?);

x ++;

Kështu që ne duhet të ndryshojmë idenë tonë. Zgjidhni një kënd tjetër si ndryshore të pavarur dhe më pas përdorni funksionin sin dhe cos për ta transformuar atë në koordinatë horizontale dhe vertikale.

x = R * cos (këndi);

y = R * sin (këndi);

kënd += 0.05;

Disa prej jush mund të pyesin pse mund të shfaqë rrugën e lëvizjes së rrethit. Sipas përkufizimit të funksionit trigonometrik, ne lehtë mund të arsyetojmë atë funksion mëkat raportin e anës së kundërt me hipotenuzën; funksioni cos është raporti i ngjitur me hipotenuzën. Pavarësisht se ku është pika e rrethit, r (rrezja) do të mbetet e pandryshuar. Prandaj mund të përfundojmë shprehjen e koordinatës x dhe koordinatës y.

Për shkak se kjo nuk është një udhëzim matematikor, këtu unë do të ndaloj së shfaqurii më shumë njohuri për funksionin trigonometrik tek ju. Nëse doni ta dini ose thjesht e harroni atë, mund të provoni ta rishikoni përsëri vetë.

Sigurisht, është mirë nëse nuk mund ta kuptoni plotësisht. Ju vetëm duhet të dini se si ta përdorni për të vizatuar një rreth. Kjo është gjithashtu një lloj "ideje programimi". Më vonë, ne shpesh do të thërrasim disa nga modulet ekzistues të bërë nga të tjerët për të realizuar një lloj funksioni të caktuar. Thjesht mos e shtyni veten ta dini atë në detaje.

Sidoqoftë, funksioni sin dhe cos është i zakonshëm. Nëse doni të krijoni një nivel më të lartë, më mirë përpiquni ta njihni atë tërësisht. Nëse kjo pyetje në vetvete mund të na shtyjë të mësojmë më shumë njohuri matematikore, ka gjëra më interesante që presin të zbuloni.

Këto janë fotografi të lidhura ngushtë me funksionin trigonometrik.

Hapi 4: Sistemi i Koordinatave të Lëvizjes

Efektet e mëparshme kanë të bëjnë me ndryshimet grafike të koordinatave. Vetë sistemi koordinativ është statik. Në fakt ne mund të bëjmë lëvizjen koordinative për të realizuar efektin lëvizës. Kjo është njësoj si njerëzit në plazh që shikojnë njerëzit e tjerë në varkë. Për njerëzit në varkë, varka është statike. Por, çfarë nëse varka vetë po lëviz, atëherë njerëzit në barkë lëvizin me të. Rastet e mëparshme kanë të bëjnë me "njerëzit që vrapojnë në varkë". Në fakt, varka nuk lëviz. Më poshtë janë disa funksione të zakonshme për ndryshimin e sistemit koordinativ.

Funksioni i përkthimit

Përkthimi i funksionit, për të cilin kemi folur më parë, përdoret për të lëvizur sistemin koordinativ të grafikut horizontalisht.

Formati i thirrjes:

përkthe (a, b)

Parametri i parë nënkupton lëvizjen në drejtimin pozitiv të boshtit x për një piksel. Parametri i dytë nënkupton lëvizjen në drejtimin pozitiv të boshtit y për b piksele.

Krahasoni të dy kodet dhe përpiquni të gjeni ndonjë ndryshim. (Për të thjeshtuar kodin, ne mund të fshijmë madhësinë e funksionit, gjerësia dhe lartësia e ekranit janë parazgjedhur të jenë 100.)

Para se të përdorim:

elips (0, 0, 20, 20);

Pasi të përdorim:

përkthe (50, 50);

elips (0, 0, 20, 20);

Funksioni rrotullohet

Formati i thirrjes:

rrotullo (a)

Përdoret për të rrotulluar sistemin koordinativ. Kur parametri është pozitiv, ai do të zgjedhë pikën origjinale si pikë qendrore dhe do të rrotullohet në drejtim të akrepave të orës. Hyrja e parametrit është e njëjtë me funksionin trigonometrik për të përdorur radian.

Para përdorimit:

elips (50, 50, 20, 20);

Pas përdorimit:

rrotullohen (radianët (30));

elips (50, 50, 20, 20);

Efekti në program është që rrethi të rrotullohet rreth pikës qendrore koordinative në drejtim të akrepave të orës për 30 gradë.

Shkalla e funksionit

Formati i thirrjes:

shkalla (a)

Ky funksion mund të zmadhojë sistemin koordinativ. Vlera është për shkallëzim. Kur parametri është përtej 1, atëherë zmadhoni; nëse është më e ulët se 1, atëherë zmadhoni.

Para përdorimit:

elips (0, 0, 20, 20);

Pas përdorimit:

shkallë (4);

elips (0, 0, 20, 20);

Rrethi në figurën e mësipërme përforcohet në katër herë të madhësisë origjinale. Gjithashtu, mund të përdorni dy parametra për të zmadhuar drejtimet e boshtit x dhe y veç e veç.

shkallë (4, 2);

elips (0, 0, 20, 20);

Mbivendosja e funksionit të transformimit

Këtu, mbivendosja ka të bëjë me ndryshimet në lidhje me sistemin aktual të koordinatave. Me fjalë të tjera, efektet mund të mbivendosen.

përkthe (40, 10);

përkthe (10, 40);

elips (0, 0, 20, 20);

Efekti i tij përfundimtar do të jetë i barabartë me

përkthe (50, 50);

elips (0, 0, 20, 20);

E njëjta gjë për të rrotulluar funksionin

rrotullohen (radianët (10));

rrotullohen (radianët (20));

elips (50, 50, 20, 20);

Barabartë me

rrotullohen (radianët (30));

elips (50, 50, 20, 20);

Shkallëzimi i funksionit dhe rrotullimi i qendrës në pikën origjinale për tu shkallëzuar dhe rrotulluar. Nëse duam të marrim efektin e rrotullimit me një pozicion qendror në (50, 50), duhet të mendojmë në mënyrë të kundërt. Së pari zhvendosni pikën origjinale në pozicionin e (50, 50), pastaj shtoni funksionin e transformimit rrotullues. Më në fund bëni grafikun tuaj të pikturuar në pikën origjinale.

Para përdorimit:

elips (50, 50, 50, 20);

Pas përdorimit:

përkthe (50, 50);

rrotullohen (radianët (45));

elips (0, 0, 50, 20); // Për të parë ndryshimin e këndit të rrotullimit, ne kemi bërë një ovale.

Mund të duket e përdredhur. Thjesht duhet të praktikosh më shumë se do ta kuptosh. (Ju gjithashtu mund të provoni të ndryshoni sekuencën e funksionit të përkthyer dhe rrotulluar për të parë ndryshimin.)

Lëvizja horizontale dhe lëvizja rrethore

Në rastet e mëposhtme, ne do të kuptojmë efektin lëvizës përmes ndryshimit të sistemit të koordinatave. Në të njëjtën kohë, do të doja t'ju pyesja referojuni shembullit të kapitullit të mëparshëm. Shumicën e kohës, do të gjeni për të realizuar një lloj efekti të caktuar, mund të përdorni një metodë krejtësisht të ndryshme.

Hapi 5: Lëvizja horizontale

[cceN_cpp theme = "agim"]

int x, y; void setup () {madhësia (300, 300); x = 0; y = lartësia/2; } void barazim () {sfond (234, 113, 107); noStroke (); përkthe (x, y); elips (0, 0, 50, 50); x ++; } [/cceN_cpp]

Koordinata e rrethit nuk ndryshohet por sistemi i tij koordinativ ndryshon.

Lëvizja e Rrotullimit

[cceN_cpp theme = "agim"] noton r, R, kënd; void setup () {madhësia (300, 300); r = 20; // Dimensioni i rrethit R = 100; // Rrezja e gjurmës së lëvizjes} tërheqja e pavlefshme () {sfondi (234, 113, 107); përkthe (gjerësia/2, lartësia/2); // Zhvendoseni pikën origjinale në qendrën e ekranit. rrotullohet (këndi); noStroke (); elips (0, R, r, r); kënd += 0.05; } [/cceN_cpp]

A nuk është shumë më e qartë dhe më e thjeshtë se funksioni trigonometrik? Ju mund të keni një pyetje këtu. Merrni kodin rrotullues si shembull. Natyrisht, funksioni i sipërpërmendur i transformimit është relativ dhe lejon mbivendosjen. Nëse shkruajmë translate (width/2, height/2) në barazim funksionesh, a nuk do të thotë se çdo herë që vizatimi i funksionit funksionon një herë, sistemi koordinativ do të lëvizë një distancë në drejtimin e poshtëm të djathtë nga baza origjinale? Në mënyrë të arsyeshme nuk do të qëndrojë përgjithmonë në qendër të ekranit.

Ju mund të kuptoni në këtë mënyrë. Pasi kodi në tërheqjen e funksionit të ketë përfunduar një operacion nga poshtë, sistemi koordinativ do të kthehet në statusin fillestar në operacionin e dytë. Pika origjinale e sistemit të koordinatave do të jetë e paracaktuar për t'u kthyer përsëri në këndin e sipërm të majtë. Pra, nëse duam që sistemi koordinativ të ndryshojë vazhdimisht, parametrat e këndit brenda funksionit rrotullohen do të rrisin vazhdimisht vlerën e tij.

Qasu në statusin e koordinatës

Ndonjëherë, ne nuk duam që ndryshimi i statusit të sistemit koordinativ të bazohet në atë të mëparshëm. Në këtë kohë, ne duhet të përdorim funksionin pushMatrix dhe popMatrix. Të dy funksionet zakonisht shfaqen në çift. Funksioni pushMatrix është para popMatrix. Ato nuk mund të përdoren vetëm, ose do të shkojnë keq.

Shembull:

[cceN_cpp theme = "agim"] pushMatrix (); // Ruani përkthimin e statusit të sistemit të koordinatave të sistemit (50, 50); elips (0, 0, 20, 20); popMatrix (); // Lexoni statusin e sistemit të koordinatave rect (0, 0, 20, 20); [/cceN_cpp]

Në këtë shembull, para se të përdorim translate (50, 50), ne përdorim funksionin pushMatrix.për të ruajtur statusin aktual të sistemit të koordinatave. Ky, në të njëjtën kohë, është statusi fillestar. Pasi të vizatojmë një rreth, pastaj të zbatojmë popMatrix, ai do të kthehet në këtë status. Në këtë kohë, zbatoni funksionin rect, do të zbuloni se nuk ka pësuar ndikimin nga funksioni translate, por vizatoni një katror në këndin e sipërm të majtë të pikës origjinale.

Përveç kësaj, funksioni pushMatrix dhe popMatrix lejojnë fole.

Për shembull

pushMatrix ();

pushMatrix ();

popMatrix ();

popMatrix ();

Për të treguar marrëdhënien e saj në mënyrë intuitive, ne zgjedhim formatin e kondensuar.

Lëvizja e Kombinuar apo Lëvizja në Lëvizje?

Tani fillon vala e dytë e pjesës së rëndësishme. Thjesht përpiquni të ecni përpara. Më parë, ne kemi përdorur një metaforë të varkës dhe njerëzve. A keni menduar ndonjëherë se çfarë nëse njerëzit dhe barka lëvizin, çfarë ndjenje do të kenë njerëzit në plazh?

Ashtu si kombinimi i lëvizjes horizontale me lëvizjen rrotulluese të sistemit të koordinatave. Pika këtu është në të vërtetë të lëvizësh vetëm në një drejtim.

[cceN_cpp theme = "agimi"] int x, y; kënd notues; void setup () {madhësia (300, 300); sfond (234, 113, 107); noStroke (); x = 0; // Kur vlera fillestare e x është 0, ne mund ta neglizhojmë këtë fjali të kodit. Kur deklarojmë ndryshoren, vlera e paracaktuar është 0. y = 0; // Njësoj me sa më sipër. kënd = 0; // Njësoj me sa më sipër. } barazim void () {kënd += 0.25; y--; përkthe (gjerësia/2, lartësia/2); pushMatrix (); rrotullohet (këndi); elips (x, y, 5, 5); popMatrix (); } [/cceN_cpp]

Dhe ka lëvizje rrethore dhe shkallë të sistemit të koordinuar.

[cceN_cpp theme = "agimi"] noton x, y, kënd; void setup () {madhësia (300, 300); sfond (234, 113, 107); noStroke (); } barazim barazim () {kënd += 0.01; x = mëkati (këndi) * 100; y = cos (këndi) * 100; përkthe (gjerësia / 2, lartësia / 2); pushMatrix (); shkallë (1 + 0.1 * mëkat (kënd * 10)); elips (x, y, 5, 5); popMatrix (); } [/cceN_cpp]

Mos u mashtroni nga ajo! Pika e rrethit në fakt po bën lëvizje rrethore. Nuk është e vështirë të kuptohet nëse e krahasojmë me shkallëzimin me një aparat fotografik. Një aparat fotografik lëviz vazhdimisht përpara ose mbrapa duke shkrepur një pikë në lëvizjen rrethore.

I habitur? Këto janë funksione të thjeshta themelore. Por me kombinime të ndryshme, ne mund të krijojmë kaq shumë efekte të ndryshme. Deri tani, ekspozimi im ndalon në mënyrë që të kursej pak hapësirë për eksplorimin tuaj.

Hapi 6: Përdorimi gjithëpërfshirës

Për këtë kapitull do të përfundojë së shpejti. Dy kapitulli i fundit, kam prezantuar metodën bazë të lëvizjes grafike. Unë besoj se ju mund të keni një kuptim më të thellë për të, në krahasim me idetë tuaja fillestare. Së fundmi, këtu është një shembull i përfunduar për referencën tuaj.

[cceN_cpp theme = "agim"] noton x1, y1, x2, y2, r, R; këndi i notimit1, këndi2; void setup () {madhësia (300, 300); r = 12; R = 120; kënd1 = 0; kënd2 = PI/4; } barazim barazim () {sfond (234, 113, 107); noStroke (); përkthe (gjerësia / 2, lartësia / 2); kënd1 += 0.02; kënd2 += 0.06; x1 = R *sin (këndi 1); y1 = R* cos (këndi 1); x2 = R/2 *sin (kënd2); y2 = R/2 *cos (këndi2); elips (x1, y1, r/2, r/2); elips (x2, y2, r, r); elips (-x1, -y1, r/2, r/2); elips (-x2, -y2, r, r); elips (x1, -y1, r/2, r/2); elips (x2, -y2, r, r); elips (-x1, y1, r/2, r/2); elips (-x2, y2, r, r); goditje (255); goditje Pesha (3); rresht (x1, y1, x2, y2); vija (-x1, -y1, -x2, -y2); vija (x1, -y1, x2, -y2); vija (-x1, y1, -x2, y2); } [/cceN_cpp]

Ky shembull nuk përmban asnjë njohuri përtej kapitullit tonë të mëparshëm të prezantuar.

Për cilat pika përputhen? Cilat linja përputhen? Edhe unë nuk mund ta kuptoj. Por mbaj mend që rrjedh nga një pjesë e vogël e kodit.

Kjo është natyra e lëvizjes së saj. Linjat e pushimit janë vetëm efekt pasqyre. Nëse vazhdoni të ndiqni këtë udhëzim, mund të bëni një version të përditësuar dhe të shtoni një kontrollues në grafikun tuaj në mënyrë që të ndryshoni statusin tuaj të lëvizjes grafike në kohë reale.

Pika interesante e programimit qëndron në atë që ju mund të hartoni ose kombinoni rregulloret. Sidoqoftë, cili do të jetë programi përfundimtar varet nga aftësia juaj. Zakonisht projektuesit kanë imagjinatë të fuqishme grafike. Ju mund të skiconi një fotografi në kokën tuaj, dhe pastaj të përpiqeni ta përktheni atë në kod. Gjithashtu, mund të filloni nga vetë kodi dhe rregulloret, të hartoni funksione dhe ndryshore sipas dëshirës. Mos harroni që Përpunimi është skica juaj dhe kodi është furçat tuaja! Thjesht spërkatni idetë tuaja lirshëm!

Hapi 7: FUND

E fundit në kapitullin tonë, le t'i kthehemi një pyetjeje që e kemi ruajtur për një kohë të gjatë që nga fillimi. Cili është përdorimi i shpenzimit të kaq shumë përpjekjesh për të bërë një fotografi me program? Pasi të keni mësuar këtë kapitull, do të gjeni se ka kaq shumë metoda të lojës që presin që të eksploroni.

[cceN_cpp theme = "agim"] noton vetullX, earD, eyeD, faceD; void setup () {madhësia (500, 500); } void barazim () {sfond (200, 0, 0); vetullX = 150 + sin (frameCount / 30.0) *20; earD = 180 + sin (frameCount / 10.0) *20; eyeD = 60 + sin (frameCount/30.0) *50; fytyrëD = 300; goditje Pesha (8); elips (175, 220, earD, earD); elips (gjerësia - 175, 220, earD, earD); rect (100, 100, faceD, faceD); linjë (vetullX, 160, 220, 240); vija (gjerësia-vetullX, 160, gjerësia-220, 240); mbush (e rastësishme (255), e rastësishme (255), e rastësishme (255)); elips (175, 220, eyeD, eyeD); elips (gjerësia-175, 220, eyeD, eyeD); mbush (255); pika (gjerësia/2, lartësia/2); trekëndësh (170 - cos (frameCount / 10.0) * 20, 300 - sin (frameCount / 10.0) * 20, gjerësi - (170 + cos (frameCount / 10.0) * 20), 300 + sin (frameCount / 10.0) * 20, 250, 350); } [/cceN_cpp]

A nuk është magji për grafikun dinamik? Këtu nuk ju tregoj shumë raste. Ju mund të jeni në gjendje të krijoni një efekt shumë më të mirë se unë. Avantazhi i vizatimit me program ekziston që mund të luani me çdo piksel. Meqenëse grafika juaj nuk është bitmap, çdo pikë kryesore në grafikun tuaj është e kontrollueshme. Mund të realizojë disa efekte që softuerët e tjerë nuk mund t'i kuptojnë.

Nëse keni një zemër që dëshironi të prishni gjithçka dhe ta kombinoni përsëri, programi i studimit do t'ju ndihmojë shumë për të përmbushur këtë ide.

Ky artikull vjen nga stilisti Wenzy.

Hapi 8: Leximet relative:

Udhëzime interesante të programimit për projektuesin-përpunimi i prekjes fillestare

Udhëzime interesante të programimit për projektuesin-Krijoni programin tuaj të parë të përpunimit

Udhëzime interesante të programimit për projektuesin - Merrni fotografinë tuaj (Pjesa e Parë)

Nëse keni ndonjë pyetje, mund të dërgoni një email në [email protected].

Ky artikull është nga:

Recommended: