รูปแบบฟิลโลแท็กซิส คืออะไร?
ฟิลโลแท็กซิส (Phyllotaxis) หมายถึงการจัดเรียงของดอกไม้ ใบหรือเมล็ดพันธุ์บนก้านพืช ซึ่งมีรูปแบบคล้ายกับสปิรัลฟิบอนัชชี (Fibonacci spiral) ที่พบในลำดับฟิบอนัชชี: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... โดยแต่ละตัวเลขเป็นผลรวมของสองตัวเลขก่อนหน้า
สปิรัลฟิบอนัชชี
เรามักมองหาความสมมาตรและรูปแบบเพื่อทำความเข้าใจสิ่งรอบตัว แม้เราจะไม่รู้สึก ตาเราก็เห็นลำดับฟิบอนัชชีอยู่เสมอ เช่น หัวทานตะวันที่มีเมล็ดจัดเรียงเป็นสปิรัลฟิบอนัชชี
โค้ดตัวอย่าง: วาดรูปแบบฟิลโลแท็กซิสด้วย Turtle
import math
import turtle
def PhyllotacticPattern(t, petalstart, angle=137.508, size=2, cspread=4):
"""วาดรูปแบบวงกลมโดยใช้ข้อมูลสปิรัลฟิลโลแท็กติก"""
# ตั้งค่าเพน
turtle.pen(outline=1, pencolor="black", fillcolor="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:
drawPetal(x, y)
else:
turtle.stamp()
def drawPetal(x, y):
turtle.up()
turtle.setpos(x, y)
turtle.down()
turtle.begin_fill()
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() # คลิกเพื่อปิดหน้าต่าง
การปรับแต่งรูปแบบ
ด้วยการเปลี่ยนสี ขนาด หรือพารามิเตอร์ต่างๆ จะได้รูปแบบที่หลากหลายและสวยงามขึ้น เช่น การใช้สีที่แตกต่างกันสำหรับกลีบดอกไม้และเมล็ดพันธุ์
รูปแบบฟิลโลแท็กซิสไม่ได้มีอยู่แค่ในธรรมชาติเท่านั้น แต่ยังเป็นแรงบันดาลใจให้ศิลปิน นักออกแบบ และนักคณิตศาสตร์ในการสร้างงานที่สวยงามและมีโครงสร้างที่น่าสนใจ