भग्न पैटर्न प्रकृति में हमारे चारों ओर हैं। जैसे फर्न के पत्ते से निकाली गई एक छोटी शाखा पत्ती के समान होती है। या एक कंकड़ अक्सर पहाड़ के आकार जैसा दिखता है! तो एक बड़े पैटर्न को उत्पन्न करने के लिए छोटे पैटर्न की पुनरावृत्ति के इस विचार को फ्रैक्टल ट्री के रूप में जाना जाता है। पायथन प्रोग्रामिंग में हम उपलब्ध विभिन्न मॉड्यूल का उपयोग करके फ्रैक्टल ट्री भी उत्पन्न कर सकते हैं।
पायगेम मॉड्यूल का उपयोग करना
यह मॉड्यूल हमें फ्रैक्टल ट्री उत्पन्न करने के लिए आवश्यक कार्य प्रदान करता है। यहां हम पहले स्क्रीन लेआउट आकार को परिभाषित करते हैं और फिर उस गहराई को परिभाषित करते हैं जिस तक पैटर्न खुद को दोहराएगा। रिकर्सन की यहां एक बड़ी भूमिका है क्योंकि हम एक ही पैटर्न को एक निश्चित गहराई तक बार-बार दोहराने जा रहे हैं।
उदाहरण
import pygame, math pygame.init() screen = pygame.display.set_mode((750, 650)) pygame.display.set_caption("Fractal Tree") display = pygame.display.get_surface() def drawTree(a, b, pos, deepness): if deepness: c = a + int(math.cos(math.radians(pos)) * deepness * 10.0) d = b + int(math.sin(math.radians(pos)) * deepness * 10.0) pygame.draw.line(display, (127,255,0), (a, b), (c, d), 1) drawTree(c, d, pos - 25, deepness - 1) drawTree(c, d, pos + 25, deepness- 1) def process(event): if event.type == pygame.QUIT: exit(0) drawTree(370, 650, -90, 10) pygame.display.flip() while True: process(pygame.event.wait())
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं:
कछुए का उपयोग करना
टर्टल मॉड्यूल का उपयोग करके हम एक समान दृष्टिकोण का अनुसरण कर सकते हैं। यहाँ कछुआ कार्यक्रम केवल ड्राइंग की दिशा बदलकर पेड़ की शाखाओं को दोहराए गए पैटर्न के रूप में चित्रित करना शुरू कर देता है। हम उन कोणों को परिभाषित करते हैं जिन पर फ़ंक्शन खुद को दोहराएगा और फिर हमें पूरा पेड़ मिलता है।
उदाहरण
import turtle def tree(Length,n): if Length > 10: n.forward(Length) n.right(25) tree(Length-15,n) n.left(50) tree(Length-15,n) n.right(25) n.backward(Length) def function(): n = turtle.Turtle() data = turtle.Screen() n.left(90) n.up() n.backward(100) n.down() n.color("green") tree(85,n) data.exitonclick() function()
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं: