Fractal Designs হল এমন ডিজাইন যা পুনরাবৃত্তি (recursion) বা স্ব-সামঞ্জস্য (self-similarity) ধারণার উপর ভিত্তি করে তৈরি করা হয়। Fractals এমন প্যাটার্ন বা ডিজাইন যা তাদের কাঠামো বা আকারের মধ্যে কিছু নির্দিষ্ট বৈশিষ্ট্য পুনরাবৃত্তি করে থাকে, একে একে ছোট বা বড় আকারে। Logo ভাষায় Fractal Designs তৈরি করতে Recursion (পুনরাবৃত্তি) ব্যবহৃত হয়, এবং এটি জ্যামিতিক আকৃতি এবং নিদর্শন তৈরি করতে সহায়তা করে।
Fractals সাধারণত প্রাকৃতিক দৃষ্টিকোণ যেমন গাছের শাখা, নদীর বাঁক, পাহাড়ের আকার, এবং তুষারের শাখাগুলির মধ্যে দেখা যায়। এই ডিজাইনগুলোকে মডেল করতে প্রোগ্রামিংয়ে recursive ফাংশন এবং পুনরাবৃত্তি কমান্ড ব্যবহার করা হয়।
Logo ভাষায় Fractal Designs তৈরি করার জন্য কিছু গুরুত্বপূর্ণ কমান্ড এবং তাদের প্রয়োগ নিচে দেওয়া হলো:
1. Sierpinski Triangle (সিয়ারপিনস্কি ত্রিভুজ)
এটি একটি সাধারণ এবং জনপ্রিয় ফ্র্যাক্টাল ডিজাইন, যেখানে একটি ত্রিভুজের মাঝখানে একটি ছোট ত্রিভুজ আঁকা হয়, এবং এটি পুনরাবৃত্তি হয় যতক্ষণ না একটি নির্দিষ্ট আকারে পৌঁছানো না হয়।
কোড:
TO sierpinski :size
IF :size < 10 [STOP] ; আকার ছোট হলে থামাবে
REPEAT 3 [
FORWARD :size
RIGHT 120
]
FORWARD :size / 2
sierpinski :size / 2
BACKWARD :size / 2
LEFT 60
FORWARD :size / 2
sierpinski :size / 2
BACKWARD :size / 2
RIGHT 60
END
sierpinski 200 ; সিয়ারপিনস্কি ত্রিভুজ আঁকার জন্য ফাংশন কলএখানে:
- sierpinski একটি recursive ফাংশন যা একটি ত্রিভুজ আঁকবে এবং তার মাঝখানে আরও একটি ছোট ত্রিভুজ আঁকবে।
- IF :size < 10 [STOP]: আকার যদি ১০ এর কম হয়, তখন ফাংশনটি থামবে।
2. Tree Fractal (গাছের ফ্র্যাক্টাল)
একটি গাছের শাখার মতো ফ্র্যাক্টাল তৈরি করতে, আমরা পুনরাবৃত্তি করে শাখা তৈরি করি, যেখানে প্রতিটি শাখা আরও ছোট শাখায় বিভক্ত হয়।
কোড:
TO tree :size
IF :size < 5 [STOP] ; যখন আকার খুব ছোট হয়ে যাবে, তখন থামবে
FORWARD :size
LEFT 30
tree :size / 2
RIGHT 60
tree :size / 2
LEFT 30
BACKWARD :size
END
tree 100 ; গাছ আঁকার জন্য ফাংশন কলএখানে:
- tree একটি recursive ফাংশন যা গাছের শাখা তৈরি করবে এবং প্রতিটি শাখার মধ্যে ছোট ছোট শাখা তৈরি করবে।
- IF :size < 5 [STOP]: যখন শাখার আকার ৫ পিক্সেলের নিচে পৌঁছাবে, তখন থামবে।
3. Snowflake Fractal (তুষারপাতের ফ্র্যাক্টাল)
তুষারের শাখার মতো একটি ফ্র্যাক্টাল তৈরি করতে Koch Curve বা Koch Snowflake ব্যবহার করা হয়। এটি একটি ফ্র্যাক্টাল যেখানে প্রতিটি সাইড ছোট ছোট অংশে বিভক্ত হয় এবং পুনরাবৃত্তি হয়।
কোড:
TO koch :size
IF :size < 5 [STOP] ; আকার ৫ এর নিচে গেলে থামবে
REPEAT 4 [
FORWARD :size / 3
LEFT 60
FORWARD :size / 3
RIGHT 120
FORWARD :size / 3
LEFT 60
FORWARD :size / 3
]
END
koch 200 ; তুষারপাতের ফ্র্যাক্টাল আঁকার জন্য ফাংশন কলএখানে:
- koch একটি recursive ফাংশন যা একটি তুষারপাতের শাখা তৈরি করবে এবং প্রতি শাখা ছোট ছোট ত্রিভুজে বিভক্ত হবে।
- IF :size < 5 [STOP]: যখন আকার ৫ এর নিচে পৌঁছাবে, তখন ফাংশন থামবে।
4. Mandelbrot Set Fractal (ম্যান্ডেলব্রট সেট ফ্র্যাক্টাল)
Mandelbrot Set একটি জটিল ফ্র্যাক্টাল যা অত্যন্ত জনপ্রিয়, তবে এটি আঁকতে Logo ভাষায় কিছু গণনা এবং ম্যাথমেটিক্যাল অপারেশন প্রয়োজন। যদিও এটি Logo ভাষায় তৈরি করা তুলনামূলকভাবে কঠিন, তবে এর ধারণাটি হল একটি নির্দিষ্ট পদ্ধতি ব্যবহার করে পয়েন্টগুলিকে ফিল্টার করা।
Fractal Designs-এর প্রয়োগ:
- Art and Design: ফ্র্যাক্টাল ডিজাইনগুলি অঙ্কন এবং শিল্পে ব্যাপকভাবে ব্যবহৃত হয়, যেমন গ্যালাক্সি, তুষারপাত, গাছের শাখা, ইত্যাদি প্রকৃতির ডিজাইনে।
- Mathematics: ফ্র্যাক্টাল গণিতের একটি গুরুত্বপূর্ণ ক্ষেত্র, যেখানে প্রকৃতির বিভিন্ন জটিল প্যাটার্ন এবং গঠন বিশ্লেষণ করা হয়।
- Computer Graphics: ফ্র্যাক্টালস কম্পিউটার গ্রাফিক্স এবং 3D মডেলিং এ ব্যবহৃত হয়, যেখানে প্রকৃতির আকৃতি এবং প্রাকৃতিক বস্তু তৈরি করা হয়।
সারসংক্ষেপ:
Logo ভাষায় Fractal Designs এবং Patterns তৈরি করা একটি আকর্ষণীয় এবং শিক্ষামূলক প্রক্রিয়া। Recursion এর মাধ্যমে আমরা একটি ডিজাইনের মধ্যে স্ব-সামঞ্জস্য (self-similarity) তৈরি করতে পারি, যা প্রকৃতির প্যাটার্নের মতো দেখতে হয়। Sierpinski Triangle, Tree Fractal, এবং Koch Snowflake এর মতো উদাহরণগুলি ফ্র্যাক্টাল ডিজাইন তৈরির প্রাথমিক ধারণা সরবরাহ করে। ফ্র্যাক্টাল ডিজাইনগুলি Mathematics, Art, এবং Computer Graphics এ অনেক গুরুত্ব পায়।
Read more