ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับ เฟิร์นบาร์นสลีย์ ซึ่งสร้างโดย Michael Barnsley . คุณสมบัติของ เฟิร์นบาร์นสลีย์ คล้ายกับเฟิร์น รูปร่าง. มันถูกสร้างขึ้นโดยการวนซ้ำสมการทางคณิตศาสตร์ทั้งสี่ที่เรียกว่า Iterated Function System (IFS) . การแปลงมีสูตรดังนี้
f(x,y)=$$\begin{bmatrix}a &b \\c &d \end{bmatrix}\begin{bmatrix}x \\y \end{bmatrix}+\begin{bmatrix}e \\ f \end{bmatrix}$$
ที่มา – Wikipedia
ค่าของตัวแปรคือ −
ที่มา – Wikipedia
สมการทั้งสี่ที่ Barnsley Fern เสนอคือ −
ที่มา – Wikipedia
ตอนนี้เราจะเห็นรหัสเพื่อสร้างรูปร่างเฟิร์นใน Python .
ตัวอย่าง
# importing matplotlib module for the plot import matplotlib.pyplot as plot # importing random module to generate random integers for the plot import random # initialising the lists x = [0] y = [0] # initialising a variable to zero to track position current = 0 for i in range(1, 1000): # generating a random integer between 1 and 100 z = random.randint(1, 100) # checking the z range and appending corresponding values to x and y # appending values to the x and y if z == 1: x.append(0) y.append(0.16 * y[current]) if z >= 2 and z <= 86: x.append(0.85 * x[current] + 0.04 * y[current]) y.append(-0.04 * x[current] + 0.85 * y[current] +1.6) if z>= 87 and z<= 93: x.append(0.2 * x[current] - 0.26 * y[current]) y.append(0.23 * x[current] + 0.22*(y[current])+1.6) if z >= 94 and z <= 100: x.append(-0.15 * x[current] + 0.28 * y[current]) y.append(0.26 * x[current] + 0.24 * y[current] + 0.44) # incrementing the current value current += 1 # plotting the graph using x and y plot.scatter(x, y, s = 0.2, edgecolor = 'green') plot.show()
ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทช่วยสอน โปรดระบุในส่วนความคิดเห็น ข้อมูลอ้างอิง −วิกิพีเดีย