Fraktallarni faqat bitta hosil qiluvchi qoidadan foydalangan holda qurishda quyidagi qiyinchilik yuzaga keladi. Biz qoidani o'qish yo'nalishini ba'zi bosqichlarda o'zgartira olmaymiz, ya'ni chapdan o'ngga emas, balki o'ngdan chapga o'qing. Ushbu muammoni hal qilmasdan, egri chiziqlarning turli sinflari uchun L tizimlarini olish mumkin emas (Peano egri chizig'i, Xarter-Hateway ajdahosi, Hagerty kafel va boshqalar). Misol uchun, "Xarter-Hateway ajdahosi" deb nomlangan fraktalni qurish uchun rasmda ko'rsatilgan generatsiya qoidasining o'qish yo'nalishini o'zgartirish imkoniyatiga ega bo'lish kerak. 4.1. Chapdagi egri chiziq boshlovchi yoki aksioma sifatida ishlatiladi. Bu holatda avlod qoidasi tashabbuskorni avval oldinga, keyin esa orqaga tortishdir. Bunday sxema faqat bitta ishlab chiqaruvchi qoidadan foydalanadigan L-tizimlari doirasiga to'g'ri kelmaydi. Bu muammoni oldinga siljish uchun ikki xil buyruqni kiritish orqali hal qilish mumkin, masalan, X va Y. Faraz qilaylik, toshbaqa X va Y ni bir xil, ya'ni oldinga bir qadam sifatida izohlaydi. Ushbu ikki harf bilan ajdaho uchun generativ qoidani quyidagicha yozish mumkin:
axiom = X,
newx — X+Y+,
newy = -X-Y.
Guruch. 4.1. Harter-Hateway ajdahosini qurish algoritmi
Guruch. 4.2. 3 ta takroriy mozaika (Patrik Xeygerti)
Biroq, biz bir qadam oldinga deb talqin qilingan faqat bitta F harfi mavjud bo'lgan asl yondashuvdan voz kechishni xohlamaymiz. Ushbu yondashuvga qaytish uchun X va Y harflarini toshbaqa e'tiborsiz qoldiradigan yordamchi o'zgaruvchilar sifatida ko'rib chiqamiz va ularni avlod qoidasida mos ravishda FX va FY bilan almashtiramiz.
Biz olamiz: axiom = FX,
FX =FX+YF+,
YF = -FX-YF.
Bundan tashqari, shuni ta'kidlaymizki, xuddi shunday natijaga quyidagi generativ qoidalar yordamida erishish mumkin:
axiom = FX,
newf = F,
newx = X+YF+,
newy = -FX-Y.
Guruch. 4.3. 3 ta takrorlashdan keyin zanjir (Yang-Xi Luo)
Quyida ushbu generativ qoidalardan foydalangan holda ajdaho qurishning bir necha qadamlari keltirilgan:
1-qadam: FX+YF+
2-qadam: FX+YF++-FX-YF+
3-qadam: FX+YF++-FX-YF++-FX+YF+ – –FX-YF+
4-qadam: FX+YF++-FX-YF++-FX+YF+ – –FX-YF++ -FX+YF++-FX-YF+ – – FX+YF+ – – FX-YF+
Shaklda. 4.4 ajdarni 12 ta takrorlashdan keyin ko'rsatadi. E'tibor bering, ajdaho bir nechta o'xshash qismlardan iborat.
Guruch. 4.4. Harter-Hateway Dragon 12 iteratsiyadan so'ng
Keling, Hagerty plitkalari uchun aksioma va generatsiya qoidalarini yozamiz.
Mozaik Xagerti
Aksioma - F – F – F – F
Qoidalarni yaratish –
newF = F – B + F – F – F – FB – F + B – F + F + F + FB + FF
newB = BBBB
Boshlanish burchagi – 0
Burilish burchagi – 90o
Guruch. 4.5. Hagerty plitkalarini qurishning uchta iteratsiyasi
Yang-Ci-Lo zanjiri
Aksioma - F + F + F + F
Qoidalarni yaratish –
newF = F + B – F – FFF + F + B – F
newB = BBBB
Boshlanish burchagi – 0
Burilish burchagi – 90o
Guruch. 4.6. Zanjirni qurishning to'rtta takrorlanishi
Biz bir nechta qoida yordamida L-tizimlarni qurish holatlarini ko'rib chiqdik.
Shoxlanish qoidalari
Xulosa qilib, shoxlanish operatsiyasiga to'xtalib o'tamiz. [ (ochiq shox) belgisiga duch kelganimizda, biz toshbaqaning joylashuvi va yo'nalishini, ya'ni o'zgaruvchilarni (x, y, a) eslaymiz va keyinroq bu sozlamalarga qaytamiz.
X, y, a tripletlarini saqlash uchun stek qo'llaniladi: (AAA) va stek oxiriga yangi ma'lumotlar yoziladi. Filial yopilganda, x, y, a o'zgaruvchilarga stek oxiridan o'qiladigan qiymatlar beriladi. Keyin bu qiymatlar stekdan o'chiriladi.
Shunday qilib, filial ikkita belgi bilan beriladi: [ Filialni oching. X, y, a ni stek oxirida saqlang. ] Filialni yoping. X, y, a o'zgaruvchilarga stek oxiridan o'qilgan qiymatlarni belgilang va keyin ularni stekdan olib tashlang. Shaklda. 4.7, rasm. 4.8 va rasm. 4.9 da tarmoqlanish operatsiyasi yordamida tuzilgan fraktallar ko'rsatilgan.
Gul Brandon Nelson
Aksioma - F [+F+ F][- F- F][ ++F][-- F] F
Qoidalarni yaratish –
newF = FF[ ++F][+F][F][-F][--F]
Boshlanish burchagi – 270o
Burilish burchagi – 11.25o
Guruch. 4.7. Gul (Brandon Nelson) uchta iteratsiyadan keyin
Bush
Aksioma - – – – – F
Qoidalarni yaratish –
newF = +F – F –[– F + F +]+][+ F – F – F]
Boshlanish burchagi – 0
Burilish burchagi – 22.5o
Guruch. 4.8. Bush 4 ta takrorlashdan keyin
Qor parchasi Jong Vu Kim
Aksioma – [F] + [F] + [F] + [F] + [F] + [F]
Qoidalarni yaratish –
newF = F[+ +F][-FF]FF[+F][-F]FF
Boshlanish burchagi – 0
Burilish burchagi – 60o
Guruch. 4.9. 3 ta takrorlashdan keyin qor parchasi (Jong Vu Kim)
Do'stlaringiz bilan baham: |