آکسیوم چیست؟
آکسیوم حالت اولیه سیستم است. مثل یک کلمه یا نماد شروع که قوانین روی آن اعمال میشوند.
آکسیوم چیست؟
آکسیوم حالت اولیه سیستم است. مثل یک کلمه یا نماد شروع که قوانین روی آن اعمال میشوند.
قوانین چیست؟
قوانین دستورالعملهایی هستند که مشخص میکنند هر عنصر چگونه به عناصر دیگر تبدیل شود.
در این مثال ساده میبینیم که در هر تکرار، کلمه “کتاب” با عبارت “کتاب خوب” جایگزین میشود. کلمه “خوب” تغییر نمیکند چون قانونی برای آن تعریف نشده است. در هر تکرار، رشته طولانیتر میشود و الگوی رشد را میتوانیم مشاهده کنیم.
نکته مهم ۱
جایگزینیها همزمان انجام میشوند. یعنی ابتدا کل رشته را میخوانیم، سپس همه تغییرات را یکجا اعمال میکنیم.
نکته مهم ۲
در هر مرحله، تمام کلماتی که قانون دارند جایگزین میشوند، حتی اگر در مرحله قبل اضافه شده باشند.
آکسیوم: F
قانون: F -> F+F-F
زاویه چرخش: 90 درجه
نتایج مراحل مختلف:
FF+F-FF+F-F+F+F-F-F+F-Fاین تابع تعداد تکرار n را میگیرد و عبارت مربوط به آن را تولید میکند

این تابع یک عبارت میگیرد و تک تک حرف های آنرا اجرا و طرح را میکشد.
این سیستم قبلی فقط دور خود میچرخد. حتی با زیاد کردن تعداد دور ها دور خود خواهد چرخید اما ما میخواهیم شاخه بزنیم. برای اینکار در فرمول از [ و ] استفاده میکنیم. عکس زیر را ببینید.

تابع follow یک عبارت مثل F+F-F+F+F-F-F+F-F را در آرگومان s میگیرد و آنرا روی صفحه میکشد
def follow(s): """Draw the L-system string using turtle graphics""" # something to do for c in s: if c == 'f': turtle.forward(x) elif c == '-': turtle.left(a) elif c == '+': turtle.right(a) elif c == '[': # Save the current position and angle elif c == ']': # Restore the last saved position and angleدر تابع بالا استفاده از درسنامه قبلی جاهای خالی را موقعیت میگیریم و ذخیره میکنیم..
بیاید عکس بالا را برای ساده سازی فرمول ساده تر بدیم. تعداد تکرار را 1 بگذاریم
شکلی زیر پدید می آید. مراحل را مطابق شکل بکشید.

تنها یک بخش مانده به فرمول اضافه کنیم تا شاخه دوم پدید آید و آن +x است که با رنگ قرمز به آن اضافه شد.
تیم تدریسیاران درس - © ۱۴۰۳