কম্পিউটার টিউটোরিয়াল

পাইথনে ফাইলোট্যাক্সিস (Phyllotaxis) প্যাটার্ন তৈরি করুন

ফাইলোট্যাক্সিস প্যাটার্ন কী?

বোটানি বা উদ্ভিদ বিজ্ঞানে ফাইলোট্যাক্সিস বলতে উদ্ভিদের কাণ্ডে ফুল, পাতা বা বীজের বিন্যাসকে বোঝায়, যা ফিবোনাচি স্পাইরালের মতো। ফিবোনাচি সিকোয়েন্সের ভিত্তিতে ফিবোনাচি স্পাইরাল হলো সংখ্যার একটি সেট যা প্যাসকেলের ত্রিভুজের মতো একটি প্যাটার্ন অনুসরণ করে। ফিবোনাচি সিকোয়েন্সের সংখ্যাগুলো হলো: ১, ১, ২, ৩, ৫, ৮, ১৩, ২১, ৩৪, ৫৫, ৮৯, ১৪৪, ইত্যাদি। প্রতিটি ফিবোনাচি সংখ্যা তার পূর্ববর্তী দুটি সংখ্যার যোগফল।

ফিবোনাচি স্পাইরাল

আমরা সাধারণত সমমিতি ও প্যাটার্ন খুঁজি আমাদের চারপাশের বস্তু বুঝতে। অজান্তে আমাদের চোখে ফিবোনাচি সিকোয়েন্স বা সূর্যমুখীর মস্তকের মতো ফিবোনাচি স্পাইরাল পড়ে।

সমাধান

পাইথনে ফাইলোট্যাক্সিস (Phyllotaxis) প্যাটার্ন তৈরি করুন


পাইথনে ফাইলোট্যাক্সিস (Phyllotaxis) প্যাটার্ন তৈরি করুন

সূর্যমুখী স্পাইরাল

উদাহরণ কোড

import math
import turtle

def PhyllotacticPattern(t, petalstart, angle=137.508, size=2, cspread=4):
    """স্পাইরাল ফাইলোট্যাক্টিক ডেটা ব্যবহার করে বৃত্তের প্যাটার্ন প্রিন্ট করুন"""
    # পজিশন ইনিশিয়ালাইজ করুন
    turtle.pen(outline=1, pencolor="black", fillcolor="orange")
    # turtle.color("orange")
    phi = angle * (math.pi / 180.0)
    xcenter = 0.0
    ycenter = 0.0
    
    # লুপ প্রথম মান থেকে ৪ পর্যন্ত চলে (৪ ছোট হওয়া পর্যন্ত)
    for n in range(0, t):
        r = cspread * math.sqrt(n)
        theta = n * phi
        x = r * math.cos(theta) + xcenter
        y = r * math.sin(theta) + ycenter
        
        # টার্টেলকে সেই পজিশনে নিয়ে যান এবং আঁকুন
        turtle.up()
        turtle.setpos(x, y)
        turtle.down()
        
        # টার্টেলকে সঠিক দিকে মুড়ান
        turtle.setheading(n * angle)
        
        if n > petalstart - 1:
            # turtle.color("yellow")
            drawPetal(x, y)
        else:
            turtle.stamp()

def drawPetal(x, y):
    turtle.up()
    turtle.setpos(x, y)
    turtle.down()
    turtle.begin_fill()
    # turtle.fill(True)
    turtle.pen(outline=1, pencolor="black", fillcolor="yellow")
    turtle.right(25)
    turtle.forward(100)
    turtle.left(45)
    turtle.forward(100)
    turtle.left(140)
    turtle.forward(100)
    turtle.left(45)
    turtle.forward(100)
    turtle.up()
    turtle.end_fill()

# এটি শেষ পंखুড়ি পুরা করতে প্রয়োজন
turtle.shape("turtle")
turtle.speed(0)  # টার্টেলকে যতটা দ্রুত সম্ভব করুন
PhyllotacticPattern(200, 160, 137.508, 4, 10)
turtle.exitonclick()  # উইন্ডোর বাইরে ক্লিক করলে বন্ধ হয়ে যাবে

আউটপুট

পাইথনে ফাইলোট্যাক্সিস (Phyllotaxis) প্যাটার্ন তৈরি করুন

প্রোগ্রামে ছোট একটি পরিবর্তন আনলে আপনার ফলাফল নিচের মতো দেখাতে পারে (কাস্টম রঙ এবং মান পরিবর্তন করে):

পাইথনে ফাইলোট্যাক্সিস (Phyllotaxis) প্যাটার্ন তৈরি করুন

  1. পাইথন প্রোগ্রাম: উল্টো স্টার প্যাটার্ন প্রিন্ট করা

  2. পাইথনে প্যাটার্ন প্রিন্ট করার পদ্ধতি

  3. পাইথনে Turtle গ্রাফিক্স: আঙ্কন ও অ্যানিমেশন

  4. পাইথনে ইউনিক্স ফাইলনেম প্যাটার্ন ম্যাচিং