Orodha ya maudhui:

Mwongozo wa Kuvutia wa Programu kwa Mbuni - Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi: Hatua 8
Mwongozo wa Kuvutia wa Programu kwa Mbuni - Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi: Hatua 8

Video: Mwongozo wa Kuvutia wa Programu kwa Mbuni - Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi: Hatua 8

Video: Mwongozo wa Kuvutia wa Programu kwa Mbuni - Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi: Hatua 8
Video: Alizaa Na mbwa wa KIZUNGU Alilipwa Pesa NYINGI 2024, Juni
Anonim
Mwongozo wa Kuvutia wa Programu kwa Mbuni - Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi
Mwongozo wa Kuvutia wa Programu kwa Mbuni - Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi

Udhibiti wa Mchakato wa Programu- Taarifa ya Kitanzi

Kutoka kwa sura hii, utawasiliana na taarifa muhimu na yenye nguvu ya maarifa-Taarifa ya Kitanzi.

Kabla ya kusoma sura hii, ikiwa unataka kuteka duru 10,000 kwenye programu, unaweza kufanya tu na njia mbaya. Hiyo ni kuandika mistari 10, 000 ya nambari ya ellipse. Wale wabunifu wa nambari wavivu ambao wanataka kuboresha ufanisi kwa njia zote, hakika hawangeruhusu hii kutokea. Kwa hivyo, taarifa ya kitanzi imeundwa. Kwa taarifa hii, unaweza kuhisi kwa nguvu nguvu ya kiotomatiki ya kompyuta.

Hatua ya 1: Kwa Kitanzi

Kuna taarifa nyingi za kitanzi, kati ya ambayo inayotumiwa zaidi ni Kwa Kitanzi. Sote tunajua kuwa kazi ya kuteka inaendelea kufanya kazi katika mzunguko. Anza kutoka sentensi ya kwanza mwanzoni, itatekeleza kutoka juu hadi chini hadi sentensi ya mwisho. Baada ya kumaliza operesheni, itaanza tena kutoka sentensi ya kwanza. Kwa taarifa ni sawa na kazi ya kuteka. Nambari ya ndani ya taarifa inaweza kutekelezwa mara kwa mara.

Hapa kuna muundo wa sarufi:

Kwa (usemi 1; usemi 2; usemi 3) {

Mwili wa kitanzi

}

Kwa wazi, sentensi ndani ya mwili wa kitanzi ndio tunatarajia kutekelezwa mara kwa mara. Kielelezo 1 hutumiwa kuanzisha na kupeana thamani ya kwanza kwa kutofautisha kwa kitanzi. Kujieleza 2 ni kwa hali ya kitanzi. Kielelezo 3 kitasasisha thamani ya kitanzi.

Je! Kitanzi ni nini? Kwa kweli ni sawa na anuwai ya kawaida. Wacha tuangalie maandishi kamili.

kwa (int i = 0; i <10; i ++) {

Mwili wa kitanzi

}

Ili kugundua kazi ya kitanzi, kwa taarifa hutegemea anuwai ya kawaida, ambayo itatumika wakati wa kumaliza kitanzi. Tofauti ya kawaida katika mfano hapo juu ni i. Kielelezo 1 kimekamilisha uanzishaji wa anuwai ya kawaida. Baadaye, kila wakati kitanzi kinafanya kazi mara moja, mabadiliko haya lazima yasasishwe. Kati ya mfano hapo juu, i ++ katika usemi wa 3 hutumiwa kutambua kazi ya sasisho. Kupitia hiyo, ubadilishaji utaongeza 1 kila wakati inasasishwa. Mwishowe, nambari iliyo ndani ya mwili wa kitanzi haiwezi kuzunguka kwa muda usiojulikana, wengine ambao taarifa za mwisho haziwezi kutekelezwa. Kwa hivyo, tunahitaji hali ya mwisho. Express 2 ni kwa ajili yake tu. Hapa, mpango utaamua ikiwa i ni chini ya miaka 10. Ikiwa ni hivyo, basi endelea kufanya kazi. Ikiwa sivyo, basi ruka nje ya kitanzi.

Kwa hivyo, mlolongo wa operesheni ya taarifa ni kama hii.

Kielelezo 1 (Uanzishaji wa kutofautisha kwa Mitaa)

Kielelezo 2 (Imeridhika, kisha endelea kufanya kazi)

Mwili wa kitanzi (Mzunguko wa kwanza)

Kielelezo 3 (Sasisho)

Kielelezo 2 (Imeridhika, kisha endelea kufanya kazi)

Mwili wa kitanzi (Mzunguko wa pili)

Kielelezo 3 (Sasisho)

Kielelezo 2 (Imeridhika, kisha endelea kufanya kazi)

Kitanzi cha mwili (Mzunguko wa tatu)…

Kielelezo 3 (Sasisho)

Kielelezo 2 (Haijaridhika, kisha ruka kutoka kitanzi)

Unaweza kuiga mlolongo huu wa utekelezaji kichwani mwako kwa mara kadhaa. Lakini haiwezekani kuelewa nambari bila kuichapa kwa mkono wako mara moja. Wakati tunataka kujua dhana ya kushangaza, tunaweza kuchapisha thamani kwenye koni kupitia taarifa ya println.

Mfano wa Msimbo (5-1): usanidi batili () {

kwa (int i = 0; i <10; i ++) {

println ("kukimbia");

}

}

Unaweza kuhesabu idadi ya pato la kukimbia kwenye koni. Hapa, ni haswa 10. Hii inakuambia ni mara ngapi nambari kwenye mwili wa kitanzi imetekelezwa. Walakini, bado hatuwezi kugundua ni mabadiliko gani yametokea kwenye kitanzi. Kwa hivyo tunaweza kujaribu kubadilisha tabia "kukimbia kuwa ya kutofautisha" i ", na kuona nini kitatokea.

Mfano wa Msimbo (5-2): usanidi batili () {

kwa (int i = 0; i <10; i ++) {

println (i);

}

}

Sasa, tunaweza kuona thamani i katika mwili wa kitanzi inaendelea kuongezeka. Baadaye, tunaweza kutumia dhamana hii kuelewa mchakato wa sasa wa kitanzi.

Katika mfano wa nambari (5-2), thamani ya i imebadilishwa kutoka 0 hadi 9. Ikilinganishwa na nyakati halisi za kitanzi, inaonekana kuwa na 1 chini kila wakati. Ikiwa haujazoea, usemi ndani ya bracket ya taarifa unaweza kuandikiwa yafuatayo:

kwa (int i = 1; i <= 10; i ++)

Kwa hivyo, i ni sawa na nyakati za kitanzi. Maana ya "<=" ni chini ya na sawa na. Kwa hivyo wakati mimi ni sawa na 10, bado itafikia hali hiyo. Kwa hivyo, itafanya kazi mara nyingine tena ikilinganishwa na kuandikwa katika i <10. Ijapokuwa ni kuanzia 1, nyakati za kitanzi bado ni 10. Kwa kweli, ikiwa hakuna kitu maalum kinachohitajika, ningependa kupendekeza uchukue njia ya uandishi katika mfano mwanzoni. Baadaye tutakuletea vector au safu kwako, ambayo yote hupata kipengee chake kwa usajili wake. Na usajili uliokosekana wote huanza kutoka 0. Ili kufafanua thamani ya kwanza kuwa 0 ni mazoezi ya kawaida kulinganishwa.

Katika mfano hapo juu, ikiwa tunaandika i ni zaidi ya 0, pogram itaanguka. Kwa sababu kutofautisha ni kuongezeka kwa nguvu, haitatosheleza hali hii. Hii ni kama haiwezi kamwe kusimamishwa ili programu iingie kitanzi kisicho na mwisho.

Vigeu vya mitaa katika taarifa haziwezi tu kutangaza aina za plastiki, lakini pia tangaza vigeuzi katika aina za alama zinazoelea. Kwa mfano, inaweza kuandikwa kama (kuelea i = 0; i <10; i + = 0.02).

Hatua ya 2: Tumia kwa Kitanzi Kutatua Shida za Hesabu

Je! Bado unakumbuka hadithi ya mtaalam wa hesabu Gauss katika utoto wake? Wakati huo, Guass alikuwa na umri wa miaka 10. Mwalimu wake alitaka kupeana jukumu darasani na swali lilikuwa

1+2+3+4……+97+98+99+100=?

Ikiwa utahesabu kwa mikono yako, itakuchukua muda mwingi. Lakini Gass anaonekana kuwa tayari ameamua njia ya muhtasari wa mlolongo wa hesabu tayari. Kwa hivyo baada tu ya swali kutolewa, aliongea jibu kwa urahisi, ambalo lilikuwa limemshangaza sana mwalimu wake.

Sasa, bado hatuwezi kukumbuka ni nini muhtasari wa mlolongo wa hesabu lakini tunaweza kupata jibu kwa njia ya zamani na ya vurugu. Na hiyo ni kwa kitanzi. Kwa kuwa ni kipande kidogo cha keki kwa kompyuta kuhesabu, lazima tueleze swali kwa lugha inayoweza kutambuliwa na kompyuta, basi tunaweza kupata jibu letu kwa urahisi.

Mfano wa Kanuni (5-3):

usanidi batili () {

jibu int = 0;

kwa (int i = 1; i <= 100; i ++) {

jibu + = i;

}

println (jibu);

}

Ninaamini matokeo unayopata ni sawa na jibu aliloripoti Guass: ni 5050!

Vidokezo: Jina la vigeu vya ndani kwa kitanzi vinaweza kubadilishwa kwa mapenzi kwa sharti kwamba inafuata kanuni za kutaja majina. Unaweza kuiandika kuwa (int k = 1; k <= 100; k ++). Ikiwa hakuna hali kali zilizotokea, ni chaguo-msingi i kama jina la ubadilishaji.

Hatua ya 3: Kwa Mchoro wa Kitanzi

Baada ya safu ya kitanda kinachoonekana kuchosha, mwishowe tunaweza kuingia katika sehemu ya kufurahisha zaidi. Hiyo ni kutumia kwa kitanzi kuchora picha. Tunaweza kuweka kando hesabu hizo za kuchosha za hisabati sasa. Sisi wabunifu ni nyeti zaidi kwa picha.

Tumia Kwa Kitanzi Kuchora Mzunguko wa Mduara

Wakati tunataka kutumia kitanzi kuwakilisha kikundi cha vitu vilivyorudiwa, lazima tuhakikishe uhusiano wa nambari wa vitu hivi kabla, basi tunaweza kutumia kwa kitanzi kuigundua kwa urahisi badala ya kufanya kazi kubwa ya kurudia. Tuseme ikiwa tunataka kuchora safu ya duara iliyoenea sawa katika mwelekeo usawa. Uratibu wake mzuri haujabadilika wakati uratibu wake wa usawa unabadilishwa. Na kutoka kushoto kwenda kulia, uratibu wa usawa unaongezeka kila wakati na umbali unaongezeka ni sawa. Kwa wakati huu, tunaweza kutumia i kwa kitanzi kupata uratibu wa usawa wa kila duara.

Mfano wa Msimbo (5-4): usanidi batili () {

saizi (700, 700);

historia (83, 51, 194);

Stroke ();

}

chora batili () {

kwa (int i = 0; i <7; i ++) {

mviringo (50.0 + i * 100.0, urefu / 2.0, 80.0, 80.0);

}

}

50 inasimama kwa nafasi ya kuanza kwa mduara wa kwanza kushoto. 100 katika i * 100 inawakilisha umbali unaongezeka.

Hatua ya 4: Tumia kwa Kitanzi Chora Mzunguko Mzunguko wa Random

Nafasi ya picha hapo juu inatabirika. Hii itapunguza maslahi mengi. Tunaweza kutumia kazi bila mpangilio tuliyoelezea katika sura iliyotangulia na kujaribu kuiandika katika kazi ya kuchora.

Mfano wa Kanuni (5-5):

usanidi batili () {

saizi (700, 700);

msingi (0);

Stroke ();

}

chora batili () {

msingi (0);

kwa (int i = 0; i <10; i ++) {

kuelea bila mpanaWidth = nasibu (60.0);

ellipse (random (upana), random (urefu), upana wa random, upana wa random);

}

}

Hapa, sababu kwa nini msimamo wa mduara unaendelea kuwaka ni kwa sababu ya kila wakati kazi ya nasibu inafanya kazi kwa mara moja, matokeo yake ni ya nasibu. Kwa sababu mchoro wa kazi umeshindwa kutekeleza muafaka 60 kwa sekunde, kwa hivyo kila duru 10 zilizopigwa kwa sekunde zitabadilisha msimamo wake kwa mara 60. Mwangaza huu mwepesi hufanya picha ionekane ina zaidi ya duru 10 tu. Badilisha thamani rahisi katika programu itakuletea athari tofauti kabisa. Tunaweza kubadilisha nyakati za kitanzi kwa kurekebisha hali ya wastaafu. Hali ya mwisho kwenye picha hapa chini ni i <100

  1. Hapa kuna athari wakati hali ya terminal ni i <1000:
  2. Bila mpangilio
  3. Ikiwa sitaki msimamo wa mduara umetengenezwa kwa nasibu pamoja na mwangaza wake, naweza kufanya nini? Njia moja ni kujenga na kuhifadhi vigeuzi huru kwa kila mduara na kuanzisha vigeuzi hivi katika usanidi. Agiza vigeuzi hivi thamani ya nasibu. Kwa hivyo, wakati wa kutumia kazi ya kuchora ndani ya sare, kile tulichoomba ni thamani iliyohifadhiwa katika vigeuzi. Haitabadilika wakati wowote. Ili kuteka duru 10 tunaweza kutumia njia hii. Lakini vipi ikiwa tunataka kuteka duru 1000, au duru 10, 000? Itakuwa shida sana ikiwa tutatumia njia hii ya jadi kujenga vigeuzi hivi na kukipa jina. Sio lazima tujifunze njia mpya ya kujenga inayobadilika. Hapa kuna njia rahisi inayoweza kutusaidia kufikia lengo hili. Hiyo ni kutumia randomSeed. Sasa, wacha tuangalie athari yake baada ya kutumiwa. Mfano wa Msimbo (5-6): [cceN_cpp theme = "dawn"] usanidi batili () {size (700, 700); msingi (0); Stroke ();}
  4. chora batili () {

    msingi (0);

    bila mpangilio (1);

    kwa (int i = 0; i <10; i ++) {

    kuelea bila mpanaWidth = nasibu (20.0, 60.0);

    ellipse (random (upana), random (urefu), upana wa random, upana wa random);

    }

    } [/cceN_cpp]

    Ikilinganishwa na nambari hapo awali, haina mabadiliko yoyote isipokuwa kufanya safu ya mzunguko wa mabadiliko kutoka 10 hadi zaidi ya 30 na sentensi ya ofSeedRandom tu. Baada ya kuongezwa sentensi hii, picha hiyo inaonekana kuwa tuli.

    Omba Muundo:

    bila mpangilioSeed (a);

    Kati ya muundo huu, mpangilio wa mbegu. Lazima ujaze nambari kamili (andika alama ya kiwango cha juu katika P5, haitaenda vibaya lakini ichukue kama nambari) ndani yake. Kazi ya randomSeed ni kuweka mbegu kwa thamani ya nasibu. Halafu itazalisha safu tofauti za nasibu kulingana na mbegu tofauti. Baada yake, tunaomba kazi bila mpangilio ili matokeo ya kurudi ni dhahiri. Hapa, dhahiri sio kwa matokeo ni thamani dhahiri lakini kwa safu iliyotengenezwa. Hiyo ni kusema matokeo ya kurudi ni dhahiri kulingana na nyakati za kuvutia.

    Mfano wa Msimbo (5-7): [cceN_cpp theme = "alfajiri"] usanidi batili () {

    bila mpangilio (0);

    kwa (int i = 0; i <5; i ++) {

    println (nasibu (10));

    }

    } [/cceN_cpp]

    Sasa tunaendelea kutumia println kufanya jaribio. Baada ya kutumia randomSeed, kila wakati unapofunga programu na kuanzisha tena programu, itarudi kwenye kamba ya matokeo sawa. Thamani italingana na mlolongo mmoja mmoja. Ukifuta, basi kila wakati itarudi kwa thamani tofauti. Kwa nini ina mpangilio huu? Ni kwa sababu ya thamani ya nasibu yenyewe katika programu hiyo ni ya uwongo tu. Matokeo yanaonekana kuwa ya kubahatisha lakini kwa kweli yanatengenezwa na njia ya mahesabu iliyowekwa na inayoweza kurudiwa. Ni sawa kuteua dhamana ya mali isiyo ya kawaida, basi matokeo yafuatayo yatahesabiwa kulingana na mbegu hii. Walakini, ikiwa hatutaja mbegu, mpango huo utatumia wakati wa sasa wa mfumo wa kuzalisha mbegu. Kwa hivyo matokeo ya kila operesheni ni tofauti. Mfano hapa chini unaweza kukusaidia kuelewa vyema randomSeed.

    Msimbo wa Mfano (5-8): [cceN_cpp theme = "alfajiri"] usanidi batili () {

    saizi (700, 700);

    msingi (0);

    Stroke ();

    }

    chora batili () {

    bila mpangilio (1);

    kwa (int i = 0; i <10; i ++) {

    kuelea bila mpanaWidth01 = nasibu (10, 60);

    ellipse (random (upana), random (urefu), randomWidth01, randomWidth01);

    println (randomWidth01);

    }

    bila mpangilio (1);

    kwa (int i = 0; i <10; i ++) {

    kuelea bila mpanaWidth02 = nasibu (10, 60);

    ellipse (random (upana), random (urefu), randomWidth02, randomWidth02);

    println (randomWidth02);

    }

    } [/cceN_cpp]

    Jaribu kurekebisha randomSeed ya pili (1) kwa randomSeed (0) na ulinganishe matokeo ya mwisho.

    Vidokezo: Katika P5, tunalazimika tu kuomba kazi hakuna Kitanzi mwishoni mwa sare ili tuweze kupata athari sawa. Kazi yake ni kumaliza programu. Ni tofauti kabisa na kanuni za hapo juu za kazi katika maumbile.

Hatua ya 5: Tumia kwa Kitanzi Chora Mstari

Baada ya kujua matumizi ya randomSeed, tunaweza kujaribu kubadilisha kazi ya kuchora. Kwa mfano, badilisha mchoro wa duara kwenye uchoraji wa laini. Ikiwa tu tunabuni kanuni zinazobadilika hadi mwisho wa mstari, tunaweza kutumia mistari mingi iliyounganishwa kutengeneza muundo wa kipekee.

Mfano wa Kanuni (5-9):

[cceN_cpp theme = "alfajiri"] usanidi batili () {

saizi (700, 700);

msingi (0);

}

chora batili () {

bila mpangilio (0);

kwa (int i = 0; i <2000; i ++) {

kuelea x1 = upana / 2.0;

kuelea x2 = bila mpangilio (50.0, 650.0);

kiharusi (255, 20);

mstari (x1, 50, x2, 650);

}

} [/cceN_cpp]

Unda Brashi Rahisi

Rudi kwa kitanzi tena. Mifano zilizo hapo juu haziingiliani. Ikiwa tunataka kufanya matokeo yawe ya kupendeza zaidi, hatuwezi kusahau kuchanganya mouseX na mouseY kwenye nambari yetu.

Mfano wa Kanuni (5-10):

[cceN_cpp theme = "alfajiri"] usanidi batili () {

saizi (700, 700);

historia (255);

Stroke ();

}

chora batili () {

kwa (int i = 0; i <1000; i ++) {

jaza (0, 30);

kuelea x = mouseX + nasibu (-50, 50);

kuelea y = panyaY + nasibu (-50, 50);

mviringo (x, y, 2, 2);

}

} [/cceN_cpp]

Broshi "ya kutawanya" imeundwa. Kwa sababu ya kila hatua kubwa ya duru ndogo iko kwenye nafasi ya panya, inaweza kusonga mwelekeo mdogo kutoka pande nne za kushoto, kulia, juu na chini. Kwa hivyo sura ya mwisho ya kuenea kwa brashi ni sawa na mraba.

Mfano wa Kanuni (5-11):

[cceN_cpp theme = "alfajiri"] usanidi batili () {

saizi (700, 700);

historia (255);

Stroke ();

}

chora batili () {

kwa (int i = 0; i <1000; i ++) {

uwiano wa kuelea = panyaX / (kuelea) upana;

kuelea x = mouseX + nasibu (-50, 50);

kuelea y = panyaY + nasibu (-50, 50);

jaza (0, uwiano * 255, 255 * (1 - uwiano), 30);

mviringo (x, y, 2, 2);

}

}

[/cceN_cpp]

Ikiwa tunatumia thamani ya panyaX kuathiri rangi ya kujaza, basi tutapata uporaji wa rangi ya uchawi zaidi.

Hatua ya 6: Kwa Kitanzi kilichowekwa

Kwa kitanzi kinaweza kuwekwa kiota. Unaweza kuandika kitanzi tena kwenye kitanzi. Wakati unahitaji kuteka matrix ya dot mbili, unaweza kuchagua njia hii.

Mfano wa Kanuni (5-12):

[cceN_cpp theme = "alfajiri"] usanidi batili () {

saizi (700, 700, P2D);

historia (202, 240, 107);

}

chora batili () {

jaza (0);

kwa (int i = 0; i <5; i ++) {

kwa (int j = 0; j <5; j ++) {

kuelea x = 150 + i * 100;

kuelea y = 150 + j * 100;

mviringo (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

Kutumia kitanzi kilichokaa kwa mara ya kwanza, lazima utambue uhusiano wake wa kimantiki. Utekelezaji wa nambari katika programu kila wakati ni kutoka juu hadi chini. Kwa hivyo, ya kwanza kutekelezwa hakika ni kitanzi cha nje. Kila wakati kitanzi cha nje hufanya kazi mara moja, kitanzi cha ndani kitaendelea kufanya kazi hadi kisipoweza kukidhi hali hiyo tena. Baada ya hapo, itaanza operesheni ya pili ya kitanzi cha nje. Baada ya operesheni ya pili kuanza, kitanzi cha ndani kitaendelea kutekeleza hadi hakiwezi kukidhi hali hiyo. Kurudia vile hufanya mpaka hali zote haziwezi kuridhika na inaruka kutoka kitanzi.

Katika nambari iliyo hapo juu, mwili wa kitanzi kwenye kitanzi cha nje umefanya kazi mara 5 kwa jumla, wakati mwili wa kitanzi katika kitanzi cha ndani umefanya kazi mara 25. Ndani ya mara 25, kulingana na tofauti ya i, j thamani, tunaweza kuhakikisha uratibu wa usawa na wima wa duara kando. Nimeingiza sehemu ya uchapishaji, unaweza kuona matokeo ya data na ufikirie juu ya mabadiliko yake. Na vitanzi viwili vilivyowekwa tu, tunaweza kupata mchanganyiko wote wa i, j data.

Vidokezo

Kwa kitanzi kwenye safu ya pili kawaida hujibana na Tab mwanzoni. Hii inaweza kufanya muundo wa nambari uwe wazi zaidi. Unapaswa kutaja vigeuzi vya kawaida katika tabaka mbili za kitanzi na majina tofauti. Kati yake, "i", "j", "k" ndio inayotumika zaidi.

Matumizi rahisi "i", "j"

Jina mbili za kutofautisha za "i", "j" zinawakilisha vigeugeu vya kawaida vya tabaka mbili za kitanzi. Mfano hapa chini utazidisha uelewa wako wa "i" "j". Kulingana na thamani tofauti ya "i", "j", tunaweza kuingiza vigezo vya kupanga vitu.

Mfano wa Msimbo (5-13): [cceN_cpp theme = "alfajiri"] usanidi batili () {

saizi (700, 700);

msingi (0);

Stroke ();

}

chora batili () {

msingi (0);

jaza (250, 233, 77);

kwa (int i = 0; i <7; i ++) {

kwa (int j = 0; j <7; j ++) {

PushMatrix ();

kutafsiri (50 + i * 100, 50 + j * 100);

// Kuweka 1

// angle ya kuelea = dhambi (millis () / 1000.0) * PI / 2;

// Kuweka 2

// uwiano wa kuelea = i / 7.0;

// angle ya kuelea = dhambi (millis () / 1000.0 + uwiano * (PI / 2)) * PI / 2;

// Kuweka 3

uwiano wa kuelea = (i * 7 + j) /49.0;

pembe ya kuelea = dhambi (millis () / 1000.0 + uwiano * (PI / 2)) * PI / 2;

zunguka (pembe);

rectMode (KITUO);

// Chora picha 1

rect (0, 0, 80, 80);

// Chora picha 2

// rect (0, 0, 100, 20);

// Chora picha 3

// rect (0, 0, uwiano * 50);

popMatrix ();

}

}

} [/cceN_cpp]

Maelezo ya Kanuni

rectMode (CENTRE) inaweza kubadilisha njia ya kuchora ya mraba. Vigezo viwili vya zamani vya orininal hutumiwa kufafanua uratibu wa kona ya juu kushoto ya sqaure. Baada ya kuanza amri hii, vigezo hivi viwili vitatumika kuweka uratibu kwa kituo cha mraba. Kwa sababu hapa tunafanya mzunguko wa doria kupitia kuzunguka, kwa hivyo tunahitaji kutumia njia hii kuteka hatua ya katikati hadi hatua ya awali ya uratibu.

millis () hupata wakati kutoka kwa mpango kuanza hadi sasa. Kitengo ni ms. Thamani hii itaathiri kasi inayobadilika ya thamani ya pato la dhambi. Ikiwa tunaandika millis moja kwa moja, kiwango cha kubadilisha ni kubwa sana. Kwa hivyo, lazima tuigawanye na 1000.0.

Katika sehemu hii ya nambari, tunatumia alama ya maoni "//" ili kuficha mipangilio kadhaa. Unaweza kuhama athari kwa kuanza au kufunga. Kwa mfano, ikiwa tunaanza sentensi nyuma ya "Kuweka 3", lazima tutumie alama ya maoni ili kufunga vizuizi vya nambari kuangazia "Kuweka 1" na "Kuweka 2". Kama kwa mifano ya muundo kama huu wa programu na anuwai anuwai, tunaweza kuandika katika muundo huu. Kwa hivyo sio lazima tuhifadhi nyaraka kadhaa za uhandisi kando. Tunaweza kutumia ustadi huu mara nyingi wakati wa mazoezi na uundaji na kuhifadhi mipangilio ya kuridhisha ya vigezo.

Miongoni mwao, ushawishi wa i, j thamani kwa programu hiyo inawakilishwa sana na kuhama "Kuweka 1 (Kuweka 2) (Kuweka 3)". Unaweza kulinganisha matokeo ya pato hapa chini.

Chora picha 1: Kuweka 1

Chora picha 1: Kuweka 2

Chora picha 1: Kuweka 3

Chora picha 2: Kuweka 1

Chora picha 2: Kuweka 2

Chora picha 2: Kuweka 3

Katika kuweka 1, hatujatumia i na j kushawishi pembe ya kuzunguka ya kila kitu. Kwa hivyo tunaweza kuona harakati ya kila kitu ni sawa. Wakati wa kuweka 2, tumetumia thamani na i na j katika mpangilio wa 3. Hatimaye wameathiri uingizaji wa parameter ya kazi ya dhambi kupitia uwiano. Hii imebadilisha mabadiliko ya mara kwa mara ya pembe. Kwa sababu ya athari halisi ya kuweka 2 na kuweka 3 sio wazi sana kwenye picha za michoro, tunaweza kuiona kutoka kwa skrini ifuatayo.

Chora Picha 2 (Kushoto: Kuweka 2; Kulia: Kuweka 3)

Chora Picha 3 (Kushoto: Kuweka 2; Kulia: Kuweka 3)

Katika picha ya kwanza, uwiano hutumiwa kuathiri pembe ya mzunguko wa mraba. Wakati picha ya pili, imewekwa kudhibiti eneo la duara moja kwa moja. Tunaweza kuona kuwa imetumia sentensi ya thamani:

uwiano wa kuelea = i / 7.0;

Mabadiliko yake ya kipengee cha wima ni sawa. Kwa sababu uratibu wa usawa wa kudhibiti picha unategemea tu thamani ya i, kwa hivyo patterms zilizo na uratibu sawa wa usawa zitakuwa sawa. Na thamani ya uwiano, pembe ya kuzunguka na eneo la mduara ni sawa pia.

Wakati huo huo, tunatumia sentensi i, j:

uwiano wa kuelea = (i * 7 + j) /49.0;

Inaweza kubagua "gradient". Hapa, na njia ya kuzidisha sababu, imeunganisha ushawishi wa safu na safu. Kwa hivyo kila kitu ni tofauti.

Hatua ya 7: Wakati kitanzi

Kuna kaka kwa kitanzi. Hiyo ni wakati wa kitanzi. Nini kwa kitanzi inaweza kufanya, wakati kitanzi kinaweza kuifanya pia. Lakini mzunguko wa kutumia wakati wa kitanzi katika ubunifu wa Usimbuaji sio juu kama kitanzi.

Mfano wa Msimbo (5-14): [cceN_cpp theme = "alfajiri"] usanidi batili () {

int = 0;

wakati (a <10) {

println (a);

++;

}

} [/cceN_cpp]

Muundo wa sarufi ya wakati ni rahisi kueleweka kuliko kwa. Tunaweza kuunda vigeuzi kabla ya taarifa. Kisha jaza usemi ndani ya mabano mraba. Inaporidhika, basi fanya sentensi ndani ya mwili wa kitanzi. Mwishowe tunaweka usemi katika mwili wa kitanzi kusasisha vigeu, kisha wakati kitanzi kimekamilika. Kwa nyakati za kitanzi zilizohakikishiwa, mara nyingi tunatumia kwa kitanzi. Kwa thamani isiyo na kipimo ya kutofautisha, tunapendekeza utumie wakati wa kitanzi.

Fikiria:

Jaribu kutumia kila aina ya vitu vya msingi kuchukua nafasi ya vitu vya kuchora kwa kitanzi kuunda brashi tofauti tofauti.

Unganisha na kazi ya trigonometri iliyosafishwa katika sura ya mwisho, jaribu kurekebisha brashi "za kutawanya" kuwa brashi ya umbo la pande zote.

Jaribu kutengeneza matrix ya nukta mbili yenye kitanzi tu.

Uhakiki wa Sura inayofuata Kama ilivyo kwa kozi hii, utapata kila maarifa mapya unayojifunza, uwezekano wa kucheza utaongezeka sana mara moja. Programu ni sanduku la pandora. Kila kitu unachoweza kufikiria, kinaweza kukufanyia. Kwa hivyo hakuna sababu ya sisi kutokujifunza lugha hii ambayo inaweza kuwasiliana na kompyuta. Katika sura yetu inayofuata, tutaanzisha taarifa nyingine ya kudhibiti mchakato ikiwa kwako. Inaweza kudhibiti mtiririko wa mchakato na kutoa matokeo ngumu zaidi na yanayobadilika. Ukiwa na taarifa, unaweza kuunda michezo yako ya matamasha ya maandishi kwa urahisi! Nakala hii inatoka kwa mbuni Wenzy. Masomo ya Jamaa: Mwongozo wa Kuvutia wa Kubuni kwa Mbuni - Inasindika Kugusa ya Awali Mwongozo wa Kupanga Programu kwa Muumbaji - Unda Programu yako ya Kwanza ya Usindikaji -Pata Kuendesha Picha yako (Sehemu ya Kwanza) Mwongozo wa Kuvutia wa Programu kwa Mbuni- Pata Picha Yako ya Kuendesha (Sehemu ya Pili)

Hatua ya 8: Chanzo

Nakala hii ni kutoka:

Ikiwa una maswali yoyote, unaweza kuwasiliana na: [email protected].

Ilipendekeza: