Recursive Functions ব্যবহার করে প্যাটার্ন তৈরি

Recursive Drawing এবং Pattern Generation (রিকার্সিভ ড্রয়িং এবং প্যাটার্ন জেনারেশন) - লোগো (Logo) - Computer Programming

184

Recursive Functions Logo ভাষায় একটি অত্যন্ত শক্তিশালী কৌশল যা ফাংশন বা Procedure নিজেই তার মধ্যে অন্য একটি ফাংশন বা Procedure কল করে। এটি জটিল প্যাটার্ন এবং ফ্র্যাক্টাল তৈরির জন্য খুবই কার্যকর। নিচে Recursive Functions ব্যবহার করে প্যাটার্ন তৈরির কিছু উদাহরণ দেওয়া হলো:


Recursive Functions ব্যবহার করে প্যাটার্ন তৈরি:

এটি একটি বর্গাকার প্যাটার্ন তৈরি করবে, যা একাধিক স্তরে বিভক্ত।

কোড:

এখানে:

  • squarePattern একটি রেকারসিভ ফাংশন। প্রথমে এটি একটি বর্গ আঁকবে, তারপর IF শর্তের মাধ্যমে :size ১০ এর বেশি হলে ছোট আকারের বর্গ আঁকবে।
  • REPEAT 4: বর্গ আঁকার জন্য ৪টি সাইডের জন্য লুপ।
  • IF :size > 10: বর্গের সাইডের দৈর্ঘ্য ১০ এর বেশি হলে পুনরাবৃত্তি হবে, যা আকার ছোট করে দেয়।

এটি একটি ছোট আকারের বর্গ আঁকবে এবং পুনরাবৃত্তি হতে থাকবে যতক্ষণ না সাইডের দৈর্ঘ্য ১০ এর নিচে চলে আসে।


Recursive Function ব্যবহার করে Sierpinski Triangle (সির্পিনস্কি ত্রিভুজ) তৈরি:

Sierpinski Triangle একটি জনপ্রিয় ফ্র্যাক্টাল আকার, যা রেকারসিভ ফাংশন ব্যবহার করে তৈরি করা যায়। প্রতিটি ত্রিভুজের মধ্যে তিনটি ছোট ত্রিভুজ পুনরাবৃত্তি হবে, যা একটি বৃহত্তর ত্রিভুজ তৈরি করবে।

কোড:

এখানে:

  • sierpinski ফাংশনটি ত্রিভুজের সাইডের দৈর্ঘ্য হিসেবে :size ব্যবহার করে।
  • REPEAT 3: ত্রিভুজ আঁকার জন্য ৩টি সাইডের জন্য লুপ।
  • IF :size > 10: যখন সাইডের দৈর্ঘ্য ১০ এর বেশি হবে, তখন পুনরাবৃত্তি হবে, এবং ছোট ত্রিভুজ তৈরি করবে।

এটি একটি সির্পিনস্কি ত্রিভুজ তৈরি করবে, যেখানে ছোট ত্রিভুজগুলি বড় ত্রিভুজের মধ্যে পুনরাবৃত্তি হবে।


Recursive Function ব্যবহার করে Circle (বৃত্ত) তৈরি:

আমরা একটি ছোট রেকারসিভ ফাংশন ব্যবহার করে একটি বৃত্তের চারপাশে লাইন আঁকতে পারি, যা প্রতিটি স্তরে বৃত্তের আকারের প্রতি কিছু পরিবর্তন করবে।

কোড:

এখানে:

  • circlePattern ফাংশনটি প্রতিটি বৃত্তের আকারকে নিয়ন্ত্রণ করে। প্রথমে এটি একটি বড় বৃত্ত আঁকবে, তারপর IF :size > 1 শর্তের মাধ্যমে আকার ছোট করবে।
  • REPEAT 360: বৃত্ত আঁকতে ৩৬০টি স্টেপ নেওয়া হবে।
  • FORWARD :size: বৃত্তের সাইডের দৈর্ঘ্য হিসেবে :size ব্যবহার করা হচ্ছে, যা আকারের উপর ভিত্তি করে পরিবর্তিত হবে।

এটি একাধিক ছোট বৃত্ত আঁকবে, যেখানে প্রতিটি বৃত্তের আকার কিছুটা ছোট হবে।


ফ্র্যাক্টাল তৈরি করার আরও একটি উদাহরণ:

এখানে আমরা একটি Koch Curve তৈরি করবো, যা একটি ফ্র্যাক্টাল আকার। এই আকারের মধ্যে ছোট ছোট ত্রিভুজের পুনরাবৃত্তি হয় এবং এটি একটি জটিল রেকারসিভ প্যাটার্ন তৈরি করে।

কোড:

এখানে:

  • koch ফাংশনটি একটি Koch Curve তৈরি করার জন্য রেকারসিভ প্রক্রিয়া ব্যবহার করছে।
  • IF :size < 5: যখন সাইডের দৈর্ঘ্য ৫ এর কম হবে, তখন লাইন আঁকা হবে।
  • IF :size >= 5: যখন সাইডের দৈর্ঘ্য ৫ এর বেশি হবে, তখন ফাংশন নিজেই পুনরাবৃত্তি করবে এবং ছোট আকারের কোচ কনফিগারেশন তৈরি হবে।

এটি একটি Koch Curve তৈরি করবে, যা ছোট ত্রিভুজের মাধ্যমে একটি জটিল প্যাটার্ন তৈরি করবে।


সারসংক্ষেপ:

Recursive Functions ব্যবহার করে Logo ভাষায় জটিল প্যাটার্ন যেমন Sierpinski Triangle, Koch Curve, এবং Circle Patterns তৈরি করা যায়। রেকারসিভ ফাংশনগুলো পুনরাবৃত্তি করে ছোট আকারের পুনরাবৃত্তি বা কপি তৈরি করে একটি বৃহত্তর প্যাটার্ন তৈরি করে। এই ফাংশনগুলো কোডের পুনঃব্যবহারযোগ্যতা এবং জটিলতা সহজে সমাধান করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...