ዝርዝር ሁኔታ:

የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን ማስኬድ (ክፍል ሁለት)-8 ደረጃዎች
የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን ማስኬድ (ክፍል ሁለት)-8 ደረጃዎች

ቪዲዮ: የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን ማስኬድ (ክፍል ሁለት)-8 ደረጃዎች

ቪዲዮ: የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን ማስኬድ (ክፍል ሁለት)-8 ደረጃዎች
ቪዲዮ: በ30 ቀን እራስን መለወጥ Change Yourself in 30 Days 2024, መስከረም
Anonim
የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን አሂድ (ክፍል ሁለት)
የሚስብ የፕሮግራም መመሪያ ለዲዛይነር-ስዕልዎን አሂድ (ክፍል ሁለት)

ሂሳብ ፣ ለአብዛኞቻችሁ ፣ የማይረባ ይመስላል። በዕለት ተዕለት ሕይወታችን ውስጥ በብዛት ጥቅም ላይ የዋለው መደመር ፣ መቀነስ ፣ ማባዛት እና መከፋፈል ብቻ ነው። ሆኖም ፣ በፕሮግራም መፍጠር ከቻሉ በጣም የተለየ ነው። የበለጠ ባወቁ ቁጥር የበለጠ አስደናቂ ውጤት ያገኛሉ።

ደረጃ 1 እንቅስቃሴ እና ተግባር

ጣዕምዎን ለማነቃቃት ብዙ ያልታወቁ ስዕሎችን ላሳይዎት።

ምንደነው ይሄ? አሁን ይህንን ጥያቄ መጀመሪያ እና የመጨረሻውን ብቻ ያቆዩታል እርስዎ ያውቃሉ እና ይጠቀሙበት።

በመጨረሻው ምዕራፍ ውስጥ የማይንቀሳቀስ ግራፊክስ ተለዋዋጭ እንዲሆን የሚያደርግ የተግባር ቅንብር እና የተግባር ስዕል ተምረናል። ሆኖም ፣ ይህ የእንቅስቃሴ ቅርጸት በጣም ቀላል ነው። የእኛን ግራፊክስ ከራሳቸው ባህሪ ጋር ለማሄድ ከዚህ በፊት የተካንን የተግባር ዕውቀትን እንጠቀማለን።

ከላይ ከተዘረዘሩት ሥዕሎች ምን ያህል ተግባሮችን ማወቅ ይችላሉ? ከእንቅስቃሴ ጋር ምን ዓይነት ግንኙነት አላቸው? አሁን አራት ማዕዘን ተግባርን ከእሱ እንውሰድ ፣ አንዳንድ ልኬቶችን በዘፈቀደ ያክሉ እና ምን እንደሚሆን ይመልከቱ። ለምሳሌ ፣ y = x² / 100።

የተግባር ምስሉ ይህ ይመስላል። ከዚህ በታች ያለውን ኮድ ይቅዱ።

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ x ፣ y; ባዶነት ማዋቀር () {መጠን (300 ፣ 300); ዳራ (0); x = 0; } ባዶ ባዶ () {stroke (255); የጭረት ክብደት (2); y = ዱቄት (x, 2) / 100.0; // የተግባር ዱቄት ወደ ስያሜ ቁጥር nth ኃይል ይመለሳል። (x ፣ 2) የ x ካሬውን ይወክላል። የመጀመሪያው ግቤት የመሠረቱ ቁጥር ሲሆን ሁለተኛው ደግሞ መረጃ ጠቋሚ ነው። ነጥብ (x, y); x ++; } [/cceN_cpp]

የሩጫ ውጤት

በመቀጠል የተግባር ኃጢአት ይምረጡ። ቀመር - y = 150 + ኃጢአት (x)።

የሚከተለውን ኮድ ይቅዱ።

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ x ፣ y; ባዶነት ቅንብር () {መጠን (300 ፣ 300); ዳራ (0); x = 0; } ባዶ ባዶ () {y = ቁመት/2 + ኃጢአት (ራዲያን (x)) * 150; // ተግባር ራዲያን x ን ወደ አንግል ይለውጣል። x ++; ስትሮክ (255); የጭረት ክብደት (2); ነጥብ (x, y); } [/cceN_cpp]

የሩጫ ውጤት

ኮዱን ከሠራን በኋላ የምናገኘው ግራፊክ ይህ ነው። እና ያ የእንቅስቃሴ ዱካዎቻቸው ናቸው። ከቀዳሚው ጋር ሲነፃፀር ውጤቱ ግልፅ ነው። የተግባር ምስል በእውነቱ ከእንቅስቃሴ ትራክ ጋር ይዛመዳል! እሱ በጣም ቀላል ነው። እርስዎ የ x ፣ y ን እሴት ወደ ማስተባበር መተካት አለብዎት። እኛ የቀረጽነው የቀድሞው ትራክ የተግባር ግራፊክ y = x² / 100 ነው። የኋለኛው ትራክ የተግባር ግራፊክስ y = 150 + ኃጢአት (x) ጋር እኩል ነው። ግን በፕሮግራሙ ውስጥ የ y አክሰል አቅጣጫ ተቃራኒ ነው። ስለዚህ ፣ ከመጀመሪያው ግራፊክ ጋር ሲነፃፀር ፣ ትራኩ ተገልብጦ ይሆናል። አሁን ፣ በጭንቅላትዎ ውስጥ ለረጅም ጊዜ የተጨነቁ አንዳንድ አስቸጋሪ ጥያቄዎች ወዲያውኑ እንደሚፈቱ ስሜት ሊኖርዎት ይገባል ብዬ እገምታለሁ። ከዚህ በፊት የተማርናቸው እነዚህ አስደናቂ ተግባራት የግራፊክ እንቅስቃሴን ለመቆጣጠር መቻላቸው አስገራሚ ነው!

ደረጃ 2 - ተግባር ለመፃፍ

ከዚህ በታች ብዙ በተደጋጋሚ ጥቅም ላይ የዋሉ ተግባሮችን ዘርዝሬያለሁ። እነዚህ በኮምፒተር ሊታወቁ ወደሚችሉ ተግባራት ወደ ኮድ ለመተርጎም ይረዳናል ብለን ተስፋ እናደርጋለን።

ስለዚህ በፕሮግራሙ ውስጥ ያለው ቀመር እንደሚከተለው ይፃፋል-

y = x² → y = ዱቄት (x, 2) ወይም y = ካሬ (x)

y = x³ → y = ዱቄት (x, 3)

y = xⁿ → y = ዱቄት (x, n)

y = 4ⁿ → y = ዱቄት (4 ፣ n)

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

y = e² = y = exp (2)

y = √5 → y = sqrt (5)

እንዲሁም በፕሮግራሙ ውስጥ አንድ ተግባርን በዘፈቀደ መፃፍ እና የእንቅስቃሴው ዱካ ምን እንደሚመስል ማየት ይችላሉ። የእሴት መስክን እና የትርጉም ጎራውን ግምት ውስጥ ማስገባትዎን ያስታውሱ ፣ ወይም ግራፊክዎ ከማያ ገጽዎ ያበቃል።

ትሪጎኖሜትሪክ ተግባር

አሁን ፣ ስለ ትሪግኖሜትሪክ ተግባራት አንዳንድ ጽሑፎችን ለማወቅ የበለጠ እንሂድ።

በፕሮግራሙ ውስጥ የማዕዘን አንፃራዊ ተግባር ግቤት ራዲያንን እንደሚቀበል ትኩረት መስጠት አለብን። ስለዚህ ኃጢአት 90 ° በኃጢአት ውስጥ ይፃፋል (PI / 2)። ይህንን ዘዴ የማያውቁት ከሆነ ፣ አንግል ወደ ራዲአን ለመለወጥ የተግባር ራንዲያንን መጠቀም ይችላሉ ፣ እና ከዚያ ኃጢአት (ራዲያን (90) ይፃፉ።

የተግባር ዲግሪዎች አጠቃቀም በአንፃራዊነት ተቃራኒ ነው። ራዲያንን ወደ አንግል መለወጥ ይችላል። የግቤት ህትመት (ዲግሪዎች (PI/2)) በቀጥታ ወደ አርትዖት አካባቢ ፣ እና ምን እንደሚያገኙ ይመልከቱ።

ደረጃ 3 በትሪጎኖሜትሪክ ተግባር የግራፊክ እንቅስቃሴን ይቆጣጠሩ

የግራፊክ እንቅስቃሴን ትክክለኛ ውጤት ለማየት ለእርስዎ አንድ ጉዳይ እዚህ አለ።

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ x ፣ y; ባዶነት ማዋቀር () {መጠን (700 ፣ 300); } ባዶ ባዶ () {ዳራ (234 ፣ 113 ፣ 107) ፤ y = ኃጢአት (ራዲያን (x)) * 150 + 150; x ++; noStroke (); ellipse (x, y, 50, 50); } [/cceN_cpp]

የተግባር ኃጢአት ወቅታዊ ተግባር ነው። ዝቅተኛው እሴቱ -1 ነው ፣ እና ከፍተኛው እሴት 1. የማያ ገጹ ቁመት 300 ነው። y = ኃጢአት (ራዲያን (x)) * 150 + 150 ፣ ስለዚህ የ y ለውጥ ክልል በ 0 ውስጥ በደንብ ይቆጣጠራል። ወደ 300።

የሚሽከረከር ክበብ

ደህና ፣ በመጨረሻ በዚህ ምዕራፍ ውስጥ በጣም አስፈላጊ ወደሆነው ክፍል ገባን። በፕሮግራም ውስጥ የክበብ መንገድን እንዴት መሳል? እሱን ለማሳየት ተግባሮችን እንዴት መጠቀም እንደሚቻል? በዚህ ጽሑፍ መጀመሪያ ላይ ያየናቸውን ሁለት ሥዕሎች እንደገና ላሳይዎት።

በእውነቱ እነሱ በክብ ዙሪያ አስተባባሪ እና በትሪግኖሜትሪክ ተግባር መካከል ያለውን ግንኙነት በምስል አጋልጠዋል። ከላይ ባሉት ሥዕሎች ውስጥ ያለው እንቅስቃሴ በየጊዜው እየጨመረ በሚሄድ ገለልተኛ ተለዋዋጭ driven ይነዳል። ግራ የተግባር ኃጢአት እና የኮስ ምስል ነው ፣ እና ቀኝ ካርታ ከተደረገ በኋላ ክብ እንቅስቃሴን የሚያደርግ ነጥብ ነው። በጣም ብልህ አይደለም? ከእንግዲህ ምስጢር አይደለም። እሱን ለመገንዘብ ኮዱን መጠቀም ይችላሉ።

አንድ ቀላል ምሳሌ

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ x ፣ y ፣ r ፣ R ፣ አንግል; ባዶነት ማዋቀር () {መጠን (300 ፣ 300); r = 20; // የክበብ ዲያሜትር R = 100; // የእንቅስቃሴ መንገድ ራዲየስ x = 0; አንግል = 0; y = ቁመት/2; } ባዶ ስዕል () {ዳራ (234 ፣ 113 ፣ 107) ፤ መተርጎም (ስፋት/2 ፣ ቁመት/2); // የመጀመሪያውን ነጥብ ወደ ማያ ማእከል ያንቀሳቅሱት። noStroke (); x = R * cos (አንግል); y = R * ኃጢአት (አንግል); ellipse (x, y, r, r); አንግል += 0.05; } [/cceN_cpp]

እነሆ! የሚሽከረከር ክበብ ይታያል! እዚህ ፣ ገለልተኛ ተለዋዋጭ ከእንግዲህ በቋሚ ጭማሪ ቢት አንግል (በስዕሉ ውስጥ θ ጋር እኩል ነው)። ለማእዘን የቆመ ነው። ከሱ ውስጥ ፣ xy በአንፃራዊነት ተባዝቶ ተባባሪ R ፣ ይህም ወደ ክበብ እንቅስቃሴ ራዲየስ (R ለ ራዲየስ) ማራዘምን ያስከትላል። R ን ለማባዛት ካልሆነ ፣ የእንቅስቃሴ መንገዱ ከ -1 እስከ 1 ባለው ክልል ውስጥ የተገደበ ይሆናል።

እየጨመረ ያለውን x ለምን አይጠቀሙም? በተግባሩ ንብረት መሠረት ፣ ማንኛውም x በትርጉም ጎራ ውስጥ እሱን ለማዛመድ ብቸኛው y አለው። ስለዚህ በአውሮፕላን አራት ማዕዘን ቅርፅ አስተባባሪ ስርዓት ውስጥ ክበብን በቀጥታ ለመሳል “ቀላል ተግባር” ማወቅ አይችሉም። ያ ማለት ይህንን ቅርጸት ከእንግዲህ መጠቀም አንችልም ማለት ነው።

y = (ያልታወቀ የ x?);

x ++;

ስለዚህ ሀሳባችንን መለወጥ አለብን። ሌላ አንግል እንደ ገለልተኛ ተለዋዋጭ ይምረጡ ፣ እና ከዚያ ወደ አግድም እና አቀባዊ ቅንጅት ለመቀየር የተግባር ኃጢአትን እና ኮስ ይጠቀሙ።

x = R * cos (አንግል);

y = R * ኃጢአት (አንግል);

አንግል += 0.05;

አንዳንዶቻችሁ የክበብ እንቅስቃሴን መንገድ ለምን ሊያሳይ ይችላል ብለው ያስቡ ይሆናል። በትሪጎኖሜትሪክ ተግባር ትርጓሜ መሠረት ፣ እኛ ያንን ተግባር በተቃራኒው ሀይፖታይተስ (hypotenuse) ውድርን ኃጢአት (ኃጢአት) ማድረግ እንችላለን። ተግባር cos ከ hypotenuse አጠገብ ያለው ጥምርታ ነው። የክበብ ነጥቡ የትም ቢሆን ፣ r (ራዲየስ) ሳይለወጥ ይቆያል። ስለዚህ የ x አስተባባሪ እና y ማስተባበር መግለጫን መደምደም እንችላለን።

በዚህ ምክንያት የሂሳብ መመሪያ አይደለም ፣ እዚህ ስለ ትሪግኖሜትሪክ ተግባር የበለጠ ዕውቀትን ለእርስዎ ማሳየቴን አቆማለሁ። እሱን ማወቅ ከፈለጉ ወይም እሱን ከረሱ ፣ እርስዎ እንደገና ለመገምገም መሞከር ይችላሉ።

በእርግጥ እሱን ሙሉ በሙሉ መረዳት ካልቻሉ ደህና ነው። ክበብ ለመሳል እንዴት እንደሚጠቀሙበት ብቻ ማወቅ አለብዎት። ይህ እንዲሁ “የፕሮግራም ሀሳብ” ዓይነት ነው። በኋላ ፣ እኛ አንድ ዓይነት ተግባር እንዲገነዘቡ በሌሎች የተሰሩ አንዳንድ ሞጁሎችን ብዙውን ጊዜ እንጠራቸዋለን። በዝርዝር ለማወቅ ብቻ እራስዎን አይግፉ።

ሆኖም ፣ ኃጢአት እና ኮስ ተግባር የተለመደ ነው። ከፍ ያለ ደረጃ መፍጠር ከፈለጉ ፣ እሱን በደንብ ለማወቅ ቢሞክሩ ይሻላል። ይህ ጥያቄ ራሱ የበለጠ የሂሳብ ዕውቀትን ለመማር እራሳችንን መንዳት ከቻለ ፣ ለመቆፈር የሚጠብቁዎት የበለጠ አስደሳች ነገሮች አሉ።

እነዚህ ከ trigonometric ተግባር ጋር በቅርበት የሚዛመዱ ስዕሎች ናቸው።

ደረጃ 4 የእንቅስቃሴ አስተባባሪ ስርዓት

የቀደሙት ውጤቶች ሁሉም ስለ ግራፊክ ቅንጅት ለውጦች ናቸው። አስተባባሪ ስርዓቱ ራሱ የማይንቀሳቀስ ነው። በእውነቱ እኛ የእንቅስቃሴ ውጤትን እውን ለማድረግ አስተባባሪው እንዲንቀሳቀስ ማድረግ እንችላለን። ይህ ልክ በባህር ዳርቻ ላይ ያሉ ሰዎች ሌሎች ሰዎችን በጀልባው ውስጥ እንደሚመለከቱት ነው። በጀልባ ላይ ላሉ ሰዎች ጀልባው የማይንቀሳቀስ ነው። ግን ጀልባው እራሱ የሚንቀሳቀስ ከሆነ ፣ ከዚያ በጀልባው ውስጥ ያሉ ሰዎች አብረው ይንቀሳቀሳሉ። የቀደሙት ጉዳዮች ሁሉም ስለ “በጀልባ ላይ ስለሚሮጡ ሰዎች” ናቸው። በእውነቱ ጀልባው አይንቀሳቀስም። የአስተባባሪ ስርዓትን ለመለወጥ የሚከተሉት አንዳንድ የተለመዱ ተግባራት ናቸው።

ተግባር መተርጎም

የተግባር መተርጎም ፣ ቀደም ብለን ስለ ተነጋገርነው ፣ የግራፊክ አስተባባሪ ስርዓትን በአግድም ለማንቀሳቀስ ያገለግላል።

የመጥሪያ ቅርጸት;

መተርጎም (ሀ ፣ ለ)

የመጀመሪያው ግቤት ለፒክስሎች ወደ x አክሰል ወደ አዎንታዊ አቅጣጫ ለመንቀሳቀስ ይቆማል። ሁለተኛው ግቤት ለ b ፒክሰሎች ወደ የ y axle አዎንታዊ አቅጣጫ ለመንቀሳቀስ ይቆማል።

ሁለቱን ኮድ ያወዳድሩ እና ማንኛውንም ልዩነት ለማግኘት ይሞክሩ። (ኮዱን ለማቃለል ፣ የተግባር መጠንን መሰረዝ እንችላለን ፣ የማያ ገጹ ስፋት እና ቁመቱ 100 መሆን ነባሪ ነው።)

ከመጠቀማችን በፊት:

ኤሊፕስ (0 ፣ 0 ፣ 20 ፣ 20);

ከተጠቀምን በኋላ ፦

መተርጎም (50 ፣ 50);

ኤሊፕስ (0 ፣ 0 ፣ 20 ፣ 20);

ተግባር ይሽከረከራል

የመጥሪያ ቅርጸት;

አሽከርክር (ሀ)

የማስተባበር ስርዓትን ለማሽከርከር ያገለግላል። መለኪያው አዎንታዊ በሚሆንበት ጊዜ የመጀመሪያውን ነጥብ እንደ ማዕከላዊ ነጥብ ይመርጣል እና በሰዓት አቅጣጫ ይሽከረከራል። የግቤት ግቤት ራዲያን ለመጠቀም ከ trigonometric ተግባር ጋር ተመሳሳይ ነው።

ከመጠቀምዎ በፊት:

ኤሊፕስ (50 ፣ 50 ፣ 20 ፣ 20);

ከተጠቀሙበት በኋላ:

አሽከርክር (ራዲያን (30));

ኤሊፕስ (50 ፣ 50 ፣ 20 ፣ 20);

በፕሮግራሙ ውስጥ ያለው ውጤት ክበቡ በሰዓት አቅጣጫ ለ 30 ዲግሪዎች በሰዓት አቅጣጫ በአስተባባሪ ማዕከላዊ ነጥብ ዙሪያ እንዲሽከረከር ማድረግ ነው።

የተግባር ልኬት

የመጥሪያ ቅርጸት;

ልኬት (ሀ)

ይህ ተግባር የማስተባበር ስርዓትን ማጉላት ይችላል። እሴቱ ለመለካት ነው። መለኪያው ከ 1 በላይ በሚሆንበት ጊዜ ፣ ከዚያ ያጉሉት። ከ 1 በታች ከሆነ ፣ ከዚያ ያጉሉ።

ከመጠቀምዎ በፊት:

ኤሊፕስ (0 ፣ 0 ፣ 20 ፣ 20);

ከተጠቀሙበት በኋላ:

ልኬት (4);

ኤሊፕስ (0 ፣ 0 ፣ 20 ፣ 20);

ከላይ ባለው ሥዕል ውስጥ ያለው ክበብ ከመጀመሪያው መጠን አራት ጊዜ ጋር ተጨምሯል። እንዲሁም ፣ በ x axle እና y axle አቅጣጫዎች በተናጠል ለማጉላት ሁለት ልኬቶችን መጠቀም ይችላሉ።

ልኬት (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));

ellipse (0, 0, 50, 20); // የሚሽከረከር አንግል ለውጥን ለማየት ፣ ኦቫል አድርገናል።

ጠማማ ይመስላል። እርስዎ የበለጠ ይለማመዱ ከዚያ ይረዱታል። (ልዩነቱን ለማየት የተርጓሚውን ቅደም ተከተል ለመለወጥ እና ለማሽከርከር መሞከርም ይችላሉ።)

አግድም እንቅስቃሴ እና ክብ እንቅስቃሴ

በሚከተሉት ሁኔታዎች ውስጥ ፣ አስተባባሪ ስርዓትን በመለወጥ የእንቅስቃሴ ውጤትን እንገነዘባለን። በተመሳሳይ ጊዜ ፣ የቀደመውን ምዕራፍ ምሳሌ እንዲጠቅሱ መጠየቅ እፈልጋለሁ። ብዙ ጊዜ ፣ አንድ የተወሰነ ዓይነት ውጤት ለመገንዘብ ያገኛሉ ፣ ሙሉ በሙሉ የተለየ ዘዴ መጠቀም ይችላሉ።

ደረጃ 5 - አግድም እንቅስቃሴ

[cceN_cpp ገጽታ = "ንጋት"]

int x, y; ባዶነት ማዋቀር () {መጠን (300 ፣ 300); x = 0; y = ቁመት/2; } ባዶ ስዕል () {ዳራ (234 ፣ 113 ፣ 107) ፤ noStroke (); መተርጎም (x, y); ellipse (0, 0, 50, 50); x ++; } [/cceN_cpp]

የክበብ አስተባባሪ አልተለወጠም ነገር ግን የአስተባባሪ ሥርዓቱ ተቀይሯል።

እንቅስቃሴን አሽከርክር

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ r ፣ አር ፣ አንግል; ባዶነት ቅንብር () {መጠን (300 ፣ 300); r = 20; // የክበብ ልኬት R = 100; // የእንቅስቃሴ ትራክ ራዲየስ} ባዶ ስዕል () {ዳራ (234 ፣ 113 ፣ 107) ፤ መተርጎም (ስፋት/2 ፣ ቁመት/2); // የመጀመሪያውን ነጥብ ወደ ማያ ማእከል ያንቀሳቅሱ። ማሽከርከር (አንግል); noStroke (); ellipse (0, R, r, r); አንግል += 0.05; } [/cceN_cpp]

ከትሪግኖሜትሪክ ተግባር የበለጠ ግልፅ እና ቀላል አይደለምን? እዚህ ጥያቄ ሊኖርዎት ይችላል። የማሽከርከር ኮድን እንደ ምሳሌ ይውሰዱ። በግልጽ ለማየት እንደሚቻለው ፣ ከላይ የተጠቀሰው የለውጥ ተግባር አንጻራዊ ነው እናም ልዕለ -አቀማመጥን ይፈቅዳል። መተርጎም (ስፋት/2 ፣ ቁመት/2) ወደ ተግባር መሳል ከጻፍን ፣ የተግባር ስዕል አንድ ጊዜ በሚሠራበት እያንዳንዱ ጊዜ ፣ አስተባባሪ ስርዓቱ ርቀትን ያንቀሳቅሳል ማለት አይደለም ከዋናው መሠረት በቀኝ የታችኛው አቅጣጫ? በምክንያታዊነት በማያ ገጹ መሃል ላይ ለዘላለም አይቆይም።

በዚህ መንገድ መረዳት ይችላሉ። በስራ ላይ ያለው ኮድ አንድ ክዋኔን ከላይ እስከ ታች ካጠናቀቀ በኋላ ፣ የማስተባበር ስርዓቱ በሁለተኛው ቀዶ ጥገና ወደ መጀመሪያው ሁኔታ ይመለሳል። ወደ ግራ ከላይኛው ጥግ ለመመለስ የመጀመሪያው የማስተባበር ስርዓት ነጥብ ይሰረዛል። ስለዚህ አስተባባሪ ሥርዓቱ ያለማቋረጥ እንዲለወጥ ለማድረግ ከፈለግን ፣ በተግባሩ ውስጥ ያለው የማዕዘን መለኪያዎች በየጊዜው ዋጋውን ከፍ ያደርጋሉ።

የመዳረሻ አስተባባሪ ሁኔታ

አንዳንድ ጊዜ ፣ የማስተባበር ስርዓት ሁኔታ ለውጥ በቀድሞው ላይ የተመሠረተ እንዲሆን አንፈልግም። በዚህ ጊዜ ተግባር pushMatrix እና popMatrix ን መጠቀም አለብን። ሁለቱም ተግባራት ብዙውን ጊዜ በባልና ሚስት ውስጥ ይታያሉ። ተግባር pushMatrix ከ popMatrix በፊት ነው። እነሱ ብቻ ጥቅም ላይ ሊውሉ አይችሉም ፣ አለበለዚያ ስህተት ይሆናል።

ለምሳሌ:

[cceN_cpp ገጽታ = "ንጋት"] pushMatrix (); // የመደብር አስተባባሪ ስርዓት ሁኔታ መተርጎም (50 ፣ 50) ፤ ኤሊፕስ (0 ፣ 0 ፣ 20 ፣ 20); ፖፕ ማትሪክስ (); // አስተባባሪ የስርዓት ሁኔታ ቀጥተኛ (0 ፣ 0 ፣ 20 ፣ 20) ፤ [/cceN_cpp]

በዚህ ምሳሌ ፣ መተርጎምን (50 ፣ 50) ከመጠቀምዎ በፊት ፣ የአሁኑን የማስተባበር ስርዓት ሁኔታ ለማከማቸት ተግባር pushMatrix. ን እንጠቀማለን። ይህ በተመሳሳይ ጊዜ የመነሻ ሁኔታ ነው። አንድ ክበብ ከሳልን በኋላ ፣ ከዚያ ፖፕ ማትሪክስን ይተግብሩ ፣ ወደዚህ ሁኔታ ይመለሳል። በዚህ ጊዜ ፣ የተግባርን ቀጥታ ይተግብሩ ፣ ይልቁንስ ከዋናው ነጥብ በግራ በኩል ከላይኛው ጥግ ላይ አንድ ካሬ ይሳላል ይልቁንስ ከተግባር መተርጎም ተጽዕኖ አልደረሰበትም።

በተጨማሪም ፣ ተግባር ግፊት ማትሪክስ እና ፖፕ ማትሪክስ መክተትን ይፈቅዳሉ።

ለምሳሌ

pushMatrix ();

pushMatrix ();

ፖፕ ማትሪክስ ();

ፖፕ ማትሪክስ ();

ግንኙነቱን በስሜታዊነት ለማሳየት ፣ የታሸገ ቅርጸት እንመርጣለን።

የተዋሃደ ንቅናቄ ወይስ በእንቅስቃሴ ውስጥ እንቅስቃሴ?

አሁን አስፈላጊ ክፍል ሁለተኛው ማዕበል ይጀምራል። ወደ ፊት ለመግፋት ብቻ ይሞክሩ። ከዚህ በፊት የጀልባ እና የሰዎች ዘይቤን እንጠቀማለን። ሰዎቹን እና ጀልባውን ሁለቱም እንዲያንቀሳቅሱ ብናደርግ ፣ በባህር ዳርቻው ላይ ያሉት ሰዎች ምን ዓይነት ስሜት ይኖራቸዋል ብለው አስበው ያውቃሉ?

እንደ አግድም እንቅስቃሴን ከአስተባባሪ ስርዓት ከማሽከርከር እንቅስቃሴ ጋር ያጣምሩ። እዚህ ያለው ነጥብ በእውነቱ አቅጣጫ ብቻ መንቀሳቀስ ነው።

[cceN_cpp ገጽታ = "ንጋት"] int x, y; ተንሳፋፊ አንግል; ባዶነት ቅንብር () {መጠን (300 ፣ 300); ዳራ (234 ፣ 113 ፣ 107); noStroke (); x = 0; // የ x የመጀመሪያ እሴት 0 ሲሆን ፣ ይህንን የኮድ ዓረፍተ ነገር ችላ ማለት እንችላለን። // ከላይ ለተጠቀሰው ተመሳሳይ። አንግል = 0; // ከላይ ለተጠቀሰው ተመሳሳይ። } ባዶ ባዶ () {angle += 0.25; y--; መተርጎም (ስፋት/2 ፣ ቁመት/2); pushMatrix (); ማዞር (አንግል); ellipse (x, y, 5, 5); ፖፕ ማትሪክስ (); } [/cceN_cpp]

እና የክብ እንቅስቃሴ እና አስተባባሪ የስርዓት ልኬት አሉ።

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ x ፣ y ፣ አንግል; ባዶነት ቅንብር () {መጠን (300 ፣ 300); ዳራ (234 ፣ 113 ፣ 107); noStroke (); } ባዶ ባዶ () {angle += 0.01; x = ኃጢአት (አንግል) * 100; y = cos (አንግል) * 100; መተርጎም (ስፋት / 2 ፣ ቁመት / 2); pushMatrix (); ልኬት (1 + 0.1 * ኃጢአት (አንግል * 10)); ellipse (x, y, 5, 5); ፖፕ ማትሪክስ (); } [/cceN_cpp]

በእሱ አትታለሉ! የክበብ ነጥብ በእውነቱ የክብ እንቅስቃሴን እያደረገ ነው። ከቪዲዮ ካሜራ ጋር ከማመዛዘን ጋር ብናነፃፅረው ለመረዳት አስቸጋሪ አይደለም። የቪዲዮ ካሜራ ያለማቋረጥ ወደ ፊት ወይም ወደኋላ ይንቀሳቀሳል በክብ እንቅስቃሴ ውስጥ ነጥቡን እየመታ ነው።

ተገረመ? እነዚህ ቀላል መሠረታዊ ተግባራት ናቸው። ነገር ግን ከተለያዩ ጥምረት ጋር ፣ ብዙ የተለያዩ ውጤቶችን መፍጠር እንችላለን። ለአሰሳዎ የተወሰነ ክፍል ለመቆጠብ እስካሁን ድረስ የእኔ ተጋላጭነት ይቆማል።

ደረጃ 6 - አጠቃላይ አጠቃቀም

ለዚህ ምዕራፍ በቅርቡ ይጠናቀቃል። የመጨረሻዎቹ ሁለት ምዕራፎች ፣ የግራፊክ እንቅስቃሴን መሠረታዊ ዘዴ አስተዋውቄያለሁ። ከመነሻ ሀሳቦችዎ ጋር ሲነፃፀር ለእሱ ጥልቅ ግንዛቤ ሊኖርዎት ይችላል ብዬ አምናለሁ። በመጨረሻ ፣ ለማጣቀሻዎ አንዳንድ የተጠናቀቀ ምሳሌ እዚህ አለ።

[cceN_cpp ገጽታ = "ንጋት"] ተንሳፋፊ x1 ፣ y1 ፣ x2 ፣ y2 ፣ r ፣ R; ተንሳፋፊ አንግል 1 ፣ አንግል 2; ባዶነት ቅንብር () {መጠን (300 ፣ 300); r = 12; አር = 120; አንግል 1 = 0; አንግል 2 = PI/4; } ባዶ ስዕል () {ዳራ (234 ፣ 113 ፣ 107) ፤ noStroke (); መተርጎም (ስፋት / 2 ፣ ቁመት / 2); አንግል 1 += 0.02; አንግል 2 += 0.06; x1 = R *ኃጢአት (አንግል 1); y1 = R* cos (አንግል 1); x2 = R/2 *ኃጢአት (አንግል 2); y2 = R/2 *cos (አንግል 2); ellipse (x1 ፣ y1 ፣ r/2 ፣ r/2); ellipse (x2 ፣ y2 ፣ r ፣ r); ellipse (-x1, -y1, r/2, r/2); ellipse (-x2, -y2, r, r); ellipse (x1, -y1, r/2, r/2); ellipse (x2, -y2, r, r); ellipse (-x1, y1, r/2, r/2); ellipse (-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 ገጽታ = "ንጋት"] ተንሳፋፊ ብዕር ፣ ጆሮ ፣ ዐይን ፣ ፊት ባዶነት ማዋቀር () {መጠን (500 ፣ 500); } ባዶ ባዶ () {ዳራ (200 ፣ 0 ፣ 0) ፤ browX = 150 + ኃጢአት (frameCount / 30.0) *20; earD = 180 + ኃጢአት (frameCount / 10.0) *20; eyeD = 60 + ኃጢአት (frameCount/30.0) *50; faceD = 300; የጭረት ክብደት (8); ellipse (175 ፣ 220 ፣ earD ፣ earD); ኤሊፕስ (ስፋት - 175 ፣ 220 ፣ ጆሮ ዲ ፣ ጆሮ ዲ); ቀጥተኛ (100 ፣ 100 ፣ faceD ፣ faceD); መስመር (browX ፣ 160 ፣ 220 ፣ 240); መስመር (ስፋት-browX ፣ 160 ፣ ስፋት-220 ፣ 240); ሙላ (የዘፈቀደ (255) ፣ የዘፈቀደ (255) ፣ የዘፈቀደ (255)); ellipse (175 ፣ 220 ፣ eyeD ፣ eyeD); ellipse (ስፋት -175 ፣ 220 ፣ አይን ፣ ዐይን); መሙላት (255); ነጥብ (ስፋት/2 ፣ ቁመት/2); ትሪያንግል (170 - cos (frameCount / 10.0) * 20, 300 - ኃጢአት (frameCount / 10.0) * 20 ፣ ስፋት - (170 + cos (frameCount / 10.0) * 20) ፣ 300 + ኃጢአት (frameCount / 10.0) * 20 ፣ 250 ፣ 350); } [/cceN_cpp]

ለተለዋዋጭ ግራፊክ አስማት አይደለም? እዚህ ብዙ ጉዳዮችን አላሳየዎትም። ከእኔ በጣም የተሻለ ውጤት መንደፍ ይችሉ ይሆናል። ከፕሮግራም ጋር የመሳል ጥቅሙ በእያንዳንዱ ፒክሰል መጫወት ይችላሉ። ግራፊክዎ bitmap ስላልሆነ ፣ በግራፊክዎ ላይ ያለው እያንዳንዱ ቁልፍ ነጥብ ቁጥጥር የሚደረግበት ነው። ሌሎች ሶፍትዌሮች ሊገነዘቧቸው የማይችሏቸውን አንዳንድ ውጤቶች መገንዘብ ይችላል።

ሁሉንም ነገር ለመስበር እና እንደገና ለማዋሃድ የሚፈልግ ልብ ካለዎት የጥናት መርሃ ግብር ይህንን ሀሳብ ለማሟላት በእጅጉ ይረዳዎታል።

ይህ ጽሑፍ ከዲዛይነር ዌንዚ የመጣ ነው።

ደረጃ 8 - አንጻራዊ ንባቦች ፦

አስደሳች ለዲዛይነር መመሪያ-የመጀመሪያ ንክኪን ማቀናበር

ለዲዛይነር የሚስብ የፕሮግራም መመሪያ-የመጀመሪያዎን የማቀናበር ፕሮግራም ይፍጠሩ

የሚስብ የፕሮግራም መመሪያ ለዲዛይነር – ስዕልዎን ማካሄድ (ክፍል አንድ)

ማንኛውም ጥያቄ ካለዎት ኢሜል ወደ [email protected] መላክ ይችላሉ።

ይህ ጽሑፍ ከ https://www.elecfreaks.com/10920.html ነው

የሚመከር: