Koch Curve এবং Sierpinski Triangle দুটি জনপ্রিয় ফ্র্যাক্টাল প্যাটার্ন, যা recursion (পুনরাবৃত্তি) ব্যবহার করে তৈরি করা যায়। এই প্যাটার্নগুলো জটিল এবং সুন্দর ডিজাইন তৈরি করতে সাহায্য করে।
1. Koch Curve (কচ কার্ভ)
Koch Curve একটি ফ্র্যাক্টাল প্যাটার্ন যা একটি সরল রেখার প্রতি আড়াইভাগে বিভক্ত করে এবং প্রতিটি ছোট অংশে সমান আকারে একটি সমতল ত্রিভুজ যোগ করে। এই প্রক্রিয়া পুনরাবৃত্তি করে যতবার প্রয়োজন ততবার ফ্র্যাক্টাল ডিজাইন তৈরি করা হয়।
কোড:
TO kochCurve :size :iterations
IF :iterations = 0 [FORWARD :size] ; যখন পুনরাবৃত্তির সংখ্যা শূন্য হবে, তখন সরল রেখা আঁকবে
REPEAT 4 [
kochCurve :size / 3 :iterations - 1 ; প্রতিটি সাইডের জন্য পুনরাবৃত্তি করবে
LEFT 60
]
END
kochCurve 300 4এখানে:
- kochCurve ফাংশনটি একটি সাইডের জন্য ফ্র্যাক্টাল আঁকবে। যতবার আপনি :iterations বৃদ্ধি করবেন, ফ্র্যাক্টালটি ততটা জটিল হবে।
- LEFT 60: প্রতিটি কোণের জন্য ৬০ ডিগ্রি ঘুরানো হচ্ছে, যা ত্রিভুজ তৈরি করে।
এটি একটি Koch Curve তৈরি করবে, যেখানে ৪টি পুনরাবৃত্তির মাধ্যমে একটি জটিল ফ্র্যাক্টাল প্যাটার্ন তৈরি হবে।
2. Sierpinski Triangle (সিয়ারপিনস্কি ত্রিভুজ)
Sierpinski Triangle একটি বিখ্যাত ফ্র্যাক্টাল যা একটি বড় ত্রিভুজকে আরও ছোট ত্রিভুজে ভাগ করে এবং প্রতিটি ছোট ত্রিভুজের মধ্যে একই প্রক্রিয়া পুনরাবৃত্তি করা হয়।
কোড:
TO sierpinskiTriangle :size :iterations
IF :iterations = 0 [REPEAT 3 [FORWARD :size RIGHT 120]] ; শর্তের ভিত্তিতে ত্রিভুজ আঁকবে
REPEAT 3 [
sierpinskiTriangle :size / 2 :iterations - 1 ; ছোট ত্রিভুজ আঁকবে
FORWARD :size
RIGHT 120
]
END
sierpinskiTriangle 200 4এখানে:
- sierpinskiTriangle ফাংশনটি একটি ত্রিভুজ তৈরি করবে এবং তারপর সেটিকে আরও ছোট ছোট ত্রিভুজে বিভক্ত করবে।
- REPEAT 3 [FORWARD :size RIGHT 120]: এটি ত্রিভুজ আঁকার জন্য ব্যবহৃত কমান্ড।
- :iterations - 1: প্রতি পুনরাবৃত্তির পর এটি ত্রিভুজের আকার ছোট করবে।
এটি একটি Sierpinski Triangle তৈরি করবে, যেখানে প্রতি পুনরাবৃত্তির পর ত্রিভুজটি ছোট হতে থাকবে এবং আরো জটিল হয়ে যাবে।
সারসংক্ষেপ:
Koch Curve এবং Sierpinski Triangle তৈরি করতে Recursion ব্যবহৃত হয়, যা টার্টল গ্রাফিক্সে বিভিন্ন আকৃতি এবং প্যাটার্ন তৈরি করার শক্তিশালী উপায়। Koch Curve একটি সোজা রেখাকে ছোট ছোট ত্রিভুজ যোগ করে জটিল করে তোলে, এবং Sierpinski Triangle একটি ত্রিভুজকে আরও ছোট ত্রিভুজে বিভক্ত করে তৈরি হয়। এই ফ্র্যাক্টাল প্যাটার্নগুলি প্রোগ্রামিং এবং গণিতের সৃষ্টিশীল ব্যবহার প্রদর্শন করে।
Read more