Fraktallar. Koch əyrisi Fraktal çoxluqların alınması prosedurları

ev / sevgi

Düzgün üçbucağın tərəflərində qurulmuş (nöqtələri xaricə olan) Koch əyrisinin üç nüsxəsi sonsuz uzunluqda qapalı əyri əmələ gətirir. Kochun qar dənəciyi.

Bu rəqəm alimlər tərəfindən tədqiq edilən ilk fraktallardan biridir. Üç nüsxədən gəlir Koch əyrisi, ilk dəfə 1904-cü ildə İsveç riyaziyyatçısı Helge von Koch tərəfindən bir məqalədə ortaya çıxdı. Bu əyri heç bir nöqtəyə toxuna bilməyən davamlı xəttin nümunəsi kimi icad edilmişdir. Bu xüsusiyyətə malik xətlər əvvəllər məlum idi (Karl Weierstrass öz nümunəsini 1872-ci ildə qurdu), lakin Koch əyrisi dizaynının sadəliyi ilə diqqəti çəkir. Təsadüfi deyil ki, onun məqaləsi “Elementar həndəsədən yaranan tangenssiz davamlı əyri haqqında” adlanır.

Rəsm və animasiya Koch əyrisinin addım-addım necə qurulduğunu mükəmməl şəkildə göstərir. Birinci iterasiya sadəcə başlanğıc seqmentdir. Sonra üç bərabər hissəyə bölünür, ortası düz üçbucaq əmələ gətirmək üçün tamamlanır və sonra atılır. Nəticə ikinci iterasiyadır - dörd seqmentdən ibarət qırıq xətt. Onların hər birinə eyni əməliyyat tətbiq edilir və tikintinin dördüncü pilləsi alınır. Eyni ruhda davam edərək, daha çox yeni sətirlər əldə edə bilərsiniz (hamısı qırıq xətlər olacaq). Həddində baş verənlər (bu, artıq xəyali bir obyekt olacaq) Koch əyrisi adlanır.

Kox əyrisinin əsas xassələri

1. Davamlıdır, lakin heç bir yerdə fərqləndirilə bilməz. Kobud desək, məhz buna görə icad edilmişdir - bu cür riyazi “qəribələrə” misal olaraq.

2. Sonsuz uzunluğa malikdir. Orijinal seqmentin uzunluğu 1-ə bərabər olsun. Hər bir tikinti addımında xətti təşkil edən seqmentlərin hər birini 4/3 dəfə uzun olan qırıq bir xətt ilə əvəz edirik. Bu o deməkdir ki, bütün qırıq xəttin uzunluğu hər addımda 4/3-ə vurulur: nömrə ilə xəttin uzunluğu n bərabər (4/3) n-1. Buna görə də, limit xəttinin sonsuz uzunluqdan başqa seçimi yoxdur.

3. Koxun qar dənəciyi sonlu ərazini məhdudlaşdırır. Və bu onun perimetrinin sonsuz olmasına baxmayaraq. Bu xüsusiyyət paradoksal görünə bilər, lakin açıqdır - bir qar dənəciyi tamamilə bir dairəyə uyğun gəlir, buna görə də onun sahəsi açıq şəkildə məhduddur. Sahə hesablana bilər və bunun üçün hətta xüsusi biliyə ehtiyacınız yoxdur - üçbucağın sahəsi və həndəsi irəliləyişin cəmi üçün düsturlar məktəbdə öyrədilir. Maraqlananlar üçün hesablama incə çap şəklində aşağıda verilmişdir.

Orijinal müntəzəm üçbucağın tərəfi bərabər olsun a. Sonra onun sahəsi. Əvvəlcə tərəfi 1, sahəsi isə: . İterasiya artdıqca nə baş verir? Mövcud çoxbucaqlıya kiçik bərabərtərəfli üçbucaqların bağlandığını güman edə bilərik. İlk dəfə onlardan yalnız 3-ü var, hər dəfə isə əvvəlkindən 4 dəfə çoxdur. Yəni, üzərində n ci addım tamamlanacaq Tn= 3 4 n-1 üçbucaq. Onların hər birinin tərəfinin uzunluğu əvvəlki addımda tamamlanan üçbucağın tərəfinin üçdə bir hissəsidir. Beləliklə, (1/3) bərabərdir n. Sahələr tərəflərin kvadratlarına mütənasibdir, buna görə də hər üçbucağın sahəsi . Böyük dəyərlər üçün n Yeri gəlmişkən, bu çox azdır. Bu üçbucaqların qar dənəciyinin sahəsinə ümumi töhfəsi Tn · S n= 3/4 · (4/9) n · S 0 . Buna görə də sonra n-addım, rəqəmin sahəsi cəminə bərabər olacaq S 0 + T 1 · S 1 + T 2 · S 2 + ... +Tn S n = . Sonsuz sayda addımdan sonra qar dənəciyi əldə edilir, bu da uyğun gəlir n→ ∞. Nəticə sonsuz bir cəmdir, lakin bu, azalan həndəsi irəliləyişin cəmidir; bunun üçün bir düstur var: . Qar dənəciyinin sahəsi .

4. Fraktal ölçü log4/log3 = log 3 4 ≈ 1,261859-a bərabərdir... . Dəqiq hesablama xeyli səy və ətraflı izahat tələb edəcək, ona görə də burada fraktal ölçüsün tərifinin təsviri verilmişdir. Güc qanunu düsturundan N(δ ) ~ (1/δ )D, Harada N- kəsişən kvadratların sayı, δ - onların ölçüsü, və Dölçüdür, biz bunu alırıq D= log 1/ δ N. Bu bərabərlik sabit əlavə olunana qədər doğrudur (hamı üçün eynidir δ ). Rəqəmlər Koch əyrisinin qurulmasının beşinci iterasiyasını göstərir; onunla kəsişən şəbəkə kvadratları yaşıl rəngdədir. Orijinal seqmentin uzunluğu 1-dir, buna görə də yuxarıdakı şəkildə kvadratların yan uzunluğu 1/9-dur. 12 kvadrat kölgəlidir, log 9 12 ≈ 1,130929... . Hələ 1.261859-a çox bənzəmir... . Gəlin daha da baxaq. Orta şəkildəki şəkildə kvadratlar yarı ölçüdədir, ölçüsü 1/18, kölgəli 30. log 18 30 ≈ 1.176733... . Onsuz da daha yaxşı. Aşağıdakı kvadratlar hələ də yarısı qədər böyükdür; 72 ədəd artıq rənglənib. log 72 30 ≈ 1.193426... . Daha da yaxın. Sonra iterasiya sayını artırmaq və eyni zamanda kvadratları azaltmaq lazımdır, sonra Koch əyrisinin ölçüsünün "empirik" dəyəri davamlı olaraq log 3 4-ə yaxınlaşacaq və limitdə tamamilə üst-üstə düşəcəkdir.

Seçimlər

Orijinal bərabərtərəfli üçbucaq daxilində Koch əyriləri qursaq, "əksinə" Koch qar dənəciyi əldə edilir.

Cesaro xətləri. Bərabəryanlı üçbucaqların əvəzinə əsas bucağı 60°-dən 90°-ə qədər olan ikitərəfli üçbucaqlardan istifadə olunur. Şəkildə bucaq 88°-dir.

Kvadrat variant. Burada meydanlar tamamlandı.





Qar dənəciyi Koch

kətan(
haşiyə: 1px kəsikli qara;
}

var cos = 0,5,
sin = Math.sqrt(3) / 2,
dərəcə = Math.PI / 180;
canv, ctx;

funksiya rebro(n, len) (
ctx.save(); // Cari transformasiyanı yadda saxla
if (n == 0) ( // Qeyri-rekursiv halda - xətt çəkin
ctx.lineTo(len, 0);
}
başqa(
ctx.miqyas(1/3, 1/3); // 3 dəfə böyüdün
rebro(n-1, len); // kənarda RECUURSION
ctx.rotate (60 * dərəcə);
rebro(n-1, len);
ctx.rotate (-120 * dərəcə);
rebro(n-1, len);
ctx.rotate (60 * dərəcə);
rebro(n-1, len);
}
ctx.restore(); // Transformasiyanı bərpa edin
ctx.translate(len, 0); // kənarın sonuna gedin
}

funksiyası drawKochSnowflake(x, y, len, n) (
x = x - len / 2;
y = y + len / 2 * Math.sqrt(3)/3;
ctx.save();
ctx.beginPath();
ctx.translate(x, y);
ctx.moveTo(0, 0);
rebro(n, len); ctx.rotate (-120 * dərəcə); //RECUUUURSION artıq üçbucaqdır
rebro(n, len); ctx.rotate (-120 * dərəcə);
rebro(n, len); ctx.closePath();
ctx.strokeStyle = "#000";
ctx.stroke();
ctx.restore();
}

clearcanvas())( //kətanı təmizləyin
ctx.save();
ctx.beginPath();

// Kətanı təmizləyərkən şəxsiyyət matrisindən istifadə edin
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, canvas1.width, canvas1.height);

// Transformasiyanı bərpa edin
ctx.restore();
}

funksiya run() (
canv = document.getElementById("canvas1");
ctx = canv.getContext("2d");
var numberiter = document.getElementById("qty").value;
drawKochSnowflake(canv.width/2, canv.height/2, 380, numberiter);

Ctx.stroke(); //göstərmə
}




Koch qar dənəciyi - misal









Bostonda qeyri-adi isti qış idi, lakin biz hələ də ilk qarın yağmasını gözləyirdik. Pəncərədən yağan qarı seyr edərək, qar dənəcikləri və onların quruluşunu riyazi olaraq təsvir etmək heç də asan olmadığını düşündüm. Bununla belə, nisbətən sadə şəkildə təsvir edilə bilən Koch qar dənəciyi kimi tanınan xüsusi bir qar dənəciyi növü var. Bu gün biz onun formasının COMSOL Multiphysics Application Builder istifadə edərək necə qurulacağına baxacağıq.

Koxun qar dənəciyinin hazırlanması

Bloqumuzda artıq qeyd etdiyimiz kimi fraktallardan . Qar dənəciyi Koch fraktaldır, onu qurmaq üçün çox sadə iterativ prosesin olması ilə diqqət çəkir:

  • Gəlin bərabərtərəfli üçbucaqdan başlayaq, əslində Koch qar dənəciyinin sıfırıncı iterasiyasıdır.
  • Cari qar dənəciyinin hər kənarında mərkəz nöqtəsini tapaq.
  • Hər bir kənarın ortasına, cari kənarın uzunluğunun 1/3 hissəsinə bərabər bir tərəfi olan kənara doğru çıxan bərabərtərəfli üçbucaq əlavə edin.
  • Gəlin Koch qar dənəciyinin növbəti iterasiyasını əvvəlki qar dənəciyinin və bütün əlavə edilmiş üçbucaqların kənarında olmasını müəyyən edək.
  • 2-4 addımları lazım olan qədər təkrarlayın.
  • Bu prosedur qar dənəciyinin çəkilməsinin ilk dörd təkrarlanması üçün aşağıdakı şəkildə təsvir edilmişdir.

    Koch qar dənəciyinin ilk dörd təkrarlanması. Şəkil Wxs - Öz işi. Wikimedia Commons vasitəsilə CC BY-SA 3.0 altında lisenziyalaşdırılıb.

    Koch qar dənəciyi həndəsəsinin qurulması

    İndi hansı alqoritmin istifadə olunacağını bildiyimiz üçün COMSOL Multiphysics Application Builder-dən istifadə edərək belə bir strukturun necə yaradılmasına baxaq. Yeni bir fayl açacağıq və 2D obyekti yaradacağıq həndəsə hissəsi qovşaqda Qlobal təriflər. Bu obyekt üçün beş giriş parametri təyin edəcəyik: bərabərtərəfli üçbucağın tərəfinin uzunluğu; X- Və y– bazanın orta nöqtəsinin koordinatları; və normal vektorun komponentləri aşağıdakı şəkildə göstərildiyi kimi bazanın ortasından əks təpəyə doğru yönəldilir.


    Bərabər üçbucağın ölçüsünü, mövqeyini və istiqamətini təyin etmək üçün istifadə olunan beş parametr.


    Həndəsi hissənin giriş parametrlərinin təyin edilməsi.
    Bərabərtərəfli üçbucaq yaratmaq üçün çoxbucaqlı primitivdən istifadə olunur.


    Obyekt alt kənarın mərkəzi ətrafında dönə bilər.


    Obyekt mənşəyə nisbətən köçürülə bilər.

    İndi həndəsi hissəni təyin etdikdən sonra bölmədə bir dəfə istifadə edirik Həndəsə. Bu tək üçbucaq Koch qar dənəciyinin sıfırıncı iterasiyasına bərabərdir və indi daha mürəkkəb qar dənəcikləri yaratmaq üçün Tətbiq Qurucusundan istifadə edək.

    Tətbiq Yaradıcısında Tətbiq UI İşarələməsi

    Tətbiq çox sadə istifadəçi interfeysinə malikdir. O, istifadəçinin qarşılıqlı əlaqə qura biləcəyi yalnız iki komponentdən ibarətdir: Slayder (Slayder)(aşağıdakı şəkildə 1 kimi işarələnmişdir), bununla siz qar dənəciyi yaratmaq üçün lazım olan iterasiyaların sayını təyin edə bilərsiniz və Düymə(etiket 2), klikləməklə nəticələnən həndəsə yaradılır və göstərilir. Həmçinin var Mətn yazısı(etiket 3) və Məlumatların göstərilməsi (Ekran).(etiket 4), göstərilən təkrarlamaların sayını, həmçinin pəncərəni göstərir Qrafiklər(etiket 5), son həndəsəni göstərir.


    Tətbiq beş komponentdən ibarət bir forma malikdir.

    Tətbiqdə iki var Təriflər, bunlardan biri defolt olaraq sıfır olan, lakin istifadəçi tərəfindən dəyişdirilə bilən İterasiyalar adlı tam dəyəri müəyyən edir. Mərkəz adlı ikiqatların 1D massivi də müəyyən edilmişdir. Massivdəki tək element 0,5 dəyərinə malikdir və bu, hər bir kənarın mərkəzi nöqtəsini tapmaq üçün istifadə olunur. Bu dəyər heç vaxt dəyişməz.


    İki Tərif üçün parametrlər.

    UI-dəki Slider komponenti tam ədədin, İterasiyalar parametrinin dəyərinə nəzarət edir. Aşağıdakı ekran görüntüsü "Slayder" üçün parametrləri və 0 ilə 5 arasında tam ədədlər kimi təyin olunan dəyərləri göstərir. Komponent üçün də eyni mənbə (slayder kimi) seçilib. Data Ekranı tətbiq ekranında göstərilən təkrarlamaların sayını göstərmək üçün. Potensial istifadəçini beş təkrarlama ilə məhdudlaşdırırıq, çünki istifadə olunan alqoritm suboptimaldır və çox səmərəli deyil, lakin həyata keçirmək və nümayiş etdirmək üçün kifayət qədər sadədir.


    "Slider" komponenti üçün parametrlər.

    Sonra, aşağıdakı ekran görüntüsündə göstərilən düyməmizin parametrlərinə baxaq. Düymə basıldıqda iki əmr yerinə yetirilir. Əvvəlcə CreateSnowFlake metodu çağırılır. Sonra alınan həndəsə qrafik pəncərəsində göstərilir.


    Düymə parametrləri.

    İndi tətbiqimizin istifadəçi interfeysinə baxdıq və görə bilərik ki, hər hansı bir qar dənəciyi həndəsəsinin yaradılması adlanan üsulla baş verməlidir. Sola əlavə edilmiş sətir nömrələməsi və qırmızı rənglə vurğulanan sətir sabitləri ilə bu metodun koduna baxaq:

    1 model.geom("geom1" ).feature().clear(); 2 model.geom("geom1" ).create("pi1" , "PartInstance" ); 3 model.geom("geom1" ).run("fin" ); 4 üçün (int iter = 1; iter "geom1" ).getNEdges()+1; 6 UnionList = "pi" + iter; 7 üçün (int kənar = 1; kənar "geom1" ).getNEdges(); edge++) ( 8 String newPartInstance = "pi" + iter + edge; 9 model.geom("geom1" ).create(newPartInstance, "PartInstance" ).set("part" , "part1" ); 10 with(model. geom("geom1" ).feature(newPartInstance)); 11 setEntry("inputexpr" , "Length" , toString(Math.pow(1.0/3.0, iter))); 12 setEntry("inputexpr" , "px" , model.geom("geom1" ).edgeX(kənar, Mərkəz)); 13 setEntry("inputexpr" , "py" , model.geom("geom1" ).edgeX(kənar, Mərkəz)); 14 setEntry("inputexpr" " , "nx" , model.geom("geom1" ).edgeNormal(kənar, Mərkəz)); 15 setEntry("inputexpr" , "ny" , model.geom("geom1" ).edgeNormal(kənar, Mərkəz)) ; 16 endwith(); 17 UnionList = newPartInstance; 18 ) 19 model.geom("geom1" ).create("pi" +(iter+1), "Union" ).selection("input" ).set(UnionList) ); 20 model.geom("geom1" ).feature("pi" +(iter+1)).set("intbnd" , "off" ); 21 model.geom("geom1" ).run("fin" ); 22)

    Hər xəttin hansı funksiyanı yerinə yetirdiyini başa düşmək üçün kod sətirindən keçək:

  • Sıfırdan başlaya bilmək üçün bütün mövcud həndəsi ardıcıllıqları təmizləyirik.
  • Standart ölçüdən, oriyentasiyadan və yerdən istifadə edərək obyektin bir nümunəsini - "üçbucağımızı" yaradırıq. Bu, pi1 identifikatoru etiketli sıfırıncı dərəcəli qar dənəciyimizdir.
  • Həndəsəni yekunlaşdıraq. Bu əməliyyat bütün həndəsə indekslərini yeniləmək üçün tələb olunur.
  • Dayanma şərti kimi İterasiya tərifindən istifadə edərək qar dənəciyinin bütün verilmiş iterasiyaları üzrə təkrarlama prosesinə başlayaq.
  • Biz sətirlərin boş massivini təyin edirik, UnionList. Massivin hər bir elementi müxtəlif həndəsi obyektlərin identifikatorunu ehtiva edir. Bu massivin uzunluğu sonuncu iterasiyadakı kənarların sayına üstəgəl birə bərabərdir.
  • UnionList massivində birinci elementi təyin edirik. Bu, əvvəlki təkrarlamanın nəticəsinin identifikatorudur. Nəzərə alın ki, 1-3-cü sətirlərdə sıfır iterasiya artıq yaradılıb. Tam ədəd dəyəri iter avtomatik olaraq sətirə çevrilir və "pi" sətirinin sonuna əlavə olunur.
  • Əvvəllər yaradılan qar dənəciyinin kənarlarının sayından keçirik.
  • Bu kənarda yaradılmış “üçbucaq” hissə nümunəsindən daxil olan obyektin yeni nümunəsi üçün identifikator etiketi təyin etdik. Nəzərə alın ki, iter və kənar tam qiymətləri ardıcıl olaraq obyekt nümunəsinin identifikator etiketi olan pi sətirinin sonuna əlavə edilir.
  • Biz "üçbucaq" obyektinin nümunəsini yaradırıq və ona indicə müəyyən edilmiş identifikator etiketini təyin edirik.
  • Biz göstəririk ki, 11-15-ci sətirlər with()/endwith() ifadəsindən istifadə edərək obyektin cari nümunəsinə (hissə nümunəsi) istinad edir.
  • Üçbucağın tərəfinin uzunluğunu təyin edin. Sıfırıncı sıranın bir tərəfinin uzunluğu var, buna görə də n-ci iterasiyanın (1/3)n tərəfinin uzunluğu var. toString() funksiyası məlumat növlərini - üzən nöqtə nömrəsini sətirə köçürmək (çevirmək) üçün tələb olunur.
  • Biz təyin etdik x-son təkrarlamanın tərəfinin mərkəzi nöqtəsi kimi yeni üçbucağın koordinatı. edgeX metodu sənədləşdirilmişdir . Xatırladaq ki, Mərkəz 0,5 olaraq təyin edilib.
  • Biz təyin etdik y- əlaqələndirmək.
  • Biz təyin etdik x-üçbucağın normal vektorunun komponenti. EdgeNormal metodu da sənədləşdirilmişdir COMSOL Proqramlaşdırma İstinad Təlimatları.
  • Biz təyin etdik y-normal vektorun komponenti.
  • with()/endwith() ifadəsini bağlayırıq.
  • Bütün obyektlərin siyahısına cari üçbucağın etiket identifikatorunu əlavə edin.
  • Bütün kənarların axtarışını bağlayırıq.
  • Biz həndəsi ardıcıllıqla bütün obyektlərin Boolean Birliyini (məntiqi birliyini) yaradırıq. Etiketə yeni bir pi dəyəri təyin edirik N, burada N rəqəmdir növbəti təkrarlamalar. Artan iter dəyərinin sətirə çevrilməsi üçün (iter+1) ətrafında mötərizələr tələb olunur.
  • Son obyektin daxili sərhədlərinin qorunmadığını göstəririk.
  • Həndəsəni yekunlaşdıraq. Son əməliyyat qar dənəciyinin növbəti iterasiyası üçün bütün həndəsə indekslərini yeniləyir.
  • Bir qar dənəciyi yaratmağın iterasiya dövrünü bağlayırıq.
  • Beləliklə, biz tətbiqimizin bütün aspektlərini və elementlərini əhatə etdik. Gəlin nəticələrə baxaq!


    Koch qar dənəciyinin qurulması üçün sadə proqramımız.

    Fayla həndəsə yazmaq üçün tətbiqimizi genişləndirə və ya hətta birbaşa əlavə təhlillər apara bilərik. Məsələn, biz fraktal antena dizayn edə bilərik. Əgər siz antenanın dizaynı ilə maraqlanırsınızsa, nümunəmizə baxın və ya hətta onun sxemini sıfırdan düzəldin.

    Özünüz cəhd edin

    Bu proqramı özünüz yaratmaq istəyirsinizsə, lakin Tətbiq Qurucusunu hələ tamamlamamısınızsa, aşağıdakı resursları faydalı tapa bilərsiniz:

    • Bələdçini yükləyin İngilis dilində Tətbiq İnkişafı Mühitinə Giriş
    • Bu videolara baxın və necə istifadə edəcəyinizi öyrənin
    • Simulyasiya proqramlarının necə istifadə edildiyi ilə tanış olmaq üçün bu mövzuları oxuyun

    Bu materialı əhatə etdikdən sonra siz tətbiqin funksionallığının qar dənəsinin ölçüsünü dəyişmək, yaradılmış həndəsəni ixrac etmək, ərazi və perimetri hesablamaq və daha çox şey üçün necə genişləndirilə biləcəyini görəcəksiniz.

    COMSOL Multiphysics-də hansı proqram yaratmaq istərdiniz? kömək üçün.

    Ən məşhur və sirli həndəsi obyektlərdən biri olan fraktal qar dənəciyi əsrimizin əvvəllərində Helga von Koch tərəfindən təsvir edilmişdir. Ənənəyə görə, ədəbiyyatımızda ona Koxun qar dənəciyi deyilir. Bu, Davud Ulduzunun öz-özünə dəfələrlə “çoxalması”nın nəticəsi kimi metaforik olaraq görülə bilən çox “tikəli” həndəsi fiqurdur. Onun altı əsas şüası sonsuz sayda böyük və kiçik “iynələr” təpələri ilə örtülmüşdür. Qar dənəciyinin konturunun hər bir mikroskopik fraqmenti bir qabda iki noxuda bənzəyir və böyük şüa da öz növbəsində sonsuz sayda eyni mikroskopik fraqmentləri ehtiva edir.

    Hələ 1994-cü ildə Varnada keçirilən riyazi modelləşdirmə metodologiyasına dair beynəlxalq simpoziumda mən bolqar müəlliflərin kosmosun bölünməsi problemini təsvir etmək üçün orta məktəb dərslərində Koxun qar dənəciklərindən və digər oxşar obyektlərdən istifadə təcrübələrini təsvir edən işinə rast gəldim. Zenonun fəlsəfi aporiyaları. Bundan əlavə, təhsil baxımından, mənim fikrimcə, müntəzəm fraktal həndəsi strukturların qurulması prinsipinin özü çox maraqlıdır - əsas elementin rekursiv vurulması prinsipi. Təbiətin fraktal formaları "sevməsi" boş yerə deyil. Bu, onların sadə reproduksiya və müəyyən bir elementar tikinti blokunun ölçüsünü dəyişdirməklə əldə edilməsi ilə dəqiq izah olunur. Bildiyiniz kimi, təbiət müxtəlif səbəblərlə daşmır və mümkün olan yerlərdə ən sadə alqoritmik həllərlə kifayətlənir. Yarpaqların konturlarına diqqətlə baxın və bir çox hallarda Koch qar dənəciyinin konturunun forması ilə aydın əlaqə tapa bilərsiniz.

    Fraktal həndəsi strukturların vizuallaşdırılması yalnız kompüterin köməyi ilə mümkündür. Üçüncü sıradan yuxarı Koch qar dənəciyini əl ilə qurmaq artıq çox çətindir, lakin siz həqiqətən sonsuzluğa baxmaq istəyirsiniz! Buna görə də, niyə uyğun bir kompüter proqramı hazırlamağa çalışmayın. RuNet-də üçbucaqlardan Koch qar dənəciyi qurmaq üçün tövsiyələr tapa bilərsiniz. Bu alqoritmin nəticəsi kəsişən xətlərin qarışıqlığına bənzəyir. Bu rəqəmi "parçalardan" birləşdirmək daha maraqlıdır. Koch qar dənəciyinin konturu üfüqi x oxuna görə 0°, 60° və 120° meylli bərabər uzunluqlu seqmentlərdən ibarətdir. Əgər onları müvafiq olaraq 1, 2 və 3 ilə işarələsək, onda hər hansı düzənli qar dənəciyi ardıcıl üçlüklərdən ibarət olacaq - 1, 2, 3, 1, 2, 3, 1, 2, 3... və s. Bu üç növün hər biri. seqmentlərin bir və ya digər ucunda əvvəlki birinə əlavə edilə bilər. Bu vəziyyəti nəzərə alaraq, bir qar dənəciyinin konturunun altı növ seqmentdən ibarət olduğunu düşünə bilərik. Onları 0, 1, 2, 3, 4, 5 ilə işarə edək. Beləliklə, biz 6 rəqəmdən istifadə etməklə istənilən sifarişin konturunu kodlaşdırmaq imkanı əldə edirik (şəklə bax).

    Daha yüksək səviyyəli bir qar dənəciyi, hər bir kənarı dörd ilə əvəz edərək, qatlanmış xurma (_/\_) kimi bağlanaraq, aşağı dərəcəli sələfdən əldə edilir. Kənar növü 0, cədvələ uyğun olaraq dörd kənar 0, 5, 1, 0 və s. ilə əvəz olunur:

    0 0 1 5 0
    1 1 2 0 1
    2 2 3 1 2
    3 3 4 2 3
    4 4 5 3 4
    5 5 0 4 5

    Sadə bərabərtərəfli üçbucağı sıfır nizamlı Kox qar dənəciyi kimi düşünmək olar. Təsvir edilən kodlaşdırma sistemində o, 0, 4, 2 girişinə uyğundur. Qalan hər şey təsvir edilən əvəzləmələrlə əldə edilə bilər. Mən burada prosedur kodunu təqdim etməyəcəyəm və bununla da sizi öz proqramınızı hazırlamaq zövqündən məhrum etməyəcəyəm. Onu yazarkən açıq rekursiv çağırışdan istifadə etmək heç də lazım deyil. Onu adi bir dövrə ilə əvəz etmək olar. İş prosesində rekursiya və onun ətrafımızdakı dünyanın kvazi-fraktal formalarının formalaşmasında rolu haqqında düşünmək üçün başqa bir səbəbiniz olacaq və yolun sonunda (əlbəttə ki, çox tənbəl deyilsinizsə) onu sona qədər keçmək üçün) fraktal qar dənəciyinin konturlarının mürəkkəb naxışına heyran olacaqsınız və nəhayət sonsuzluğun üzünə baxa biləcəksiniz.

    Mövzu: Fraktallar.

    1. Giriş. Fraktallar haqqında qısa tarixi məlumat. 2. Fraktallar təbiətdəki həndəsə elementləridir.

    3. Təbiətdə fraktal xassələrə malik obyektlər. 4. “Fraktallar” terminologiyasının tərifi.

    5. Fraktalların sinifləri.

    6. Fraktal proseslərin təsviri. 7.Fraktal çoxluqların alınması prosedurları.

    8.1 Qırılmış Kokha (alınma proseduru).

    8.2 Kox qar dənəciyi (Koch fraktal).

    8.3 Menger süngərləri.

    9. Fraktallardan istifadə nümunələri.

    Giriş. Fraktallar haqqında qısa tarixi məlumat.

    Fraktallar diskret riyaziyyatın gənc qoludur.

    1904-cü ildə isveçli Koch heç bir yerdə tangensi olmayan davamlı bir əyri ilə gəldi - Koch əyrisi.

    1918-ci ildə fransız Julia fraktalların bütün ailəsini təsvir etdi.

    1938-ci ildə Pierre Levy "Təmi və məkan əyriləri və bütövə bənzər hissələrdən ibarət səthlər" məqaləsini nəşr etdi.

    1982-ci ildə Benoit Mandelbrot "Təbiətin fraktal həndəsəsi" kitabını nəşr etdi.

    Sadə konstruksiyalar və düsturlardan istifadə edərək şəkillər yaradılır. “Fraktal rəsm” ortaya çıxdı.

    1993-cü ildən World Scientific “Fractals” jurnalını nəşr etdirir.

    Fraktallar təbiətdəki həndəsə elementləridir.

    Fraktallar dağ silsilələrinin maketləri, sərt sahil xətləri, bir çox kapilyarların və damarların qan dövranı sistemləri, ağac tacları, şəlalələr, şüşə üzərində şaxtalı naxışlar kimi obyektləri təsvir etmək üçün vasitədir.

    Və ya bunlar: qıjı yarpağı, buludlar, ləkə.

    Belə obyektlərin şəkilləri fraktal qrafikadan istifadə etməklə təqdim edilə bilər.

    Təbiətdə fraktal xassələrə malik obyektlər.

    MərcanlarUlduz və UrchinsDəniz qabıqları

    Çiçəklər və bitkilər (brokoli, kələm) Meyvələr (ananas)

    Ağacların və bitkilərin yarpaqlarının tacları İnsan və heyvanların qan dövranı sistemi və bronxları Cansız təbiətdə:

    Coğrafi obyektlərin sərhədləri (ölkələr, rayonlar, şəhərlər) Sahil xətləri Dağ silsilələri Qar dənəcikləri Buludlar İldırım

    Şüşə üzərində əmələ gələn naxışlar Kristallar Stalaktitlər, stalaqmitlər, heliktitlər.

    "Fraktallar" terminologiyasının tərifi.

    Fraktallar aşağıdakı xüsusiyyətlərdən birini və ya bir neçəsini təmin edən həndəsi formalardır:

    İstənilən böyütmədə (bütün miqyaslarda) mürəkkəb qeyri-trivial quruluşa malikdir; (təxminən) özünə bənzəyir.

    O, fraksiya Hausdorff (fraktal) ölçüsünə malikdir və ya topoloji olanı üstələyir; Rekursiv prosedurlarla qurula bilər.

    Dairə, ellips və ya hamar funksiyanın qrafiki kimi müntəzəm fiqurlar üçün çox böyük miqyasda kiçik bir fraqment düz xəttin fraqmentinə bənzəyir. Fraktal üçün miqyasın artırılması strukturun sadələşdirilməsinə səbəb olmur, bütün miqyaslar üçün eyni dərəcədə mürəkkəb şəkillər görəcəyik.

    Fraktal siniflər

    Fraktal bütövə bənzər hissələrdən (alt strukturlardan) ibarət strukturdur.

    Bəzi fraktalları təbiət elementləri kimi həndəsi (konstruktiv) fraktallar kimi təsnif etmək olar.

    Qalanları dinamik fraktallar (cəbri) kimi təsnif etmək olar.

    Fraktal çoxluqların alınması prosedurları.

    Bu, fraktal əyriləri əldə etmək üçün sadə bir rekursiv prosedurdur: sonlu sayda əlaqə ilə ixtiyari bir qırıq xətti - generatoru təyin edin. Sonra, generatorun hər bir seqmenti dəyişdirilir. Sonra içindəki hər bir seqment yenidən bir generatorla əvəz olunur və s. sonsuzdur.

    Göstərilir: vahid seqmentin 3 hissəyə (a), vahid kvadrat sahəsinin 9 hissəyə (b), vahid kubun 27 hissəyə (c) və 64 hissəyə (d) bölünməsi. Hissələrin sayı n, miqyas əmsalı k, məkanın ölçüsü isə d-dir. Aşağıdakı əlaqələrimiz var: n = kd,

    əgər n = 3, k = 3, onda d = 1; əgər n = 9, k = 3, onda d = 2; əgər n = 27, k = 3, onda d = 3.

    əgər n = 4, k = 4, onda d = 1; əgər n = 16, k = 4, onda d = 2; əgər n = 64, k = 4, onda d = 3. Fəzanın ölçüsü tam ədədlərlə ifadə edilir: d = 1, 2, 3; n = 64 üçün d qiymətidir

    Koch polixəttinin qurulmasının beş addımı göstərilir: vahid uzunluğunun bir seqmenti (a), üç hissəyə bölünür (k = 3), dörd hissədən (n = 4) - qırıq xətt (b); hər düz seqment üç hissəyə bölünür (k2 = 9) və 16 hissədən (n2 = 16) - qırıq bir xətt (c); prosedur k3 = 27 və n3 = 64 üçün təkrarlanır – qırıq xətt (g); k5 = 243 və n5 = 1024 üçün – qırıq xətt (e).

    Ölçü

    Bu fraksiya və ya fraktal ölçüdür.

    1904-cü ildə Helg von Koch tərəfindən təklif edilən Koch polyline sahil xəttinin möhkəmliyini modelləşdirmək üçün uyğun olan fraktal kimi çıxış edir. Mandelbrot sahil xəttinin tikintisi alqoritminə təsadüfilik elementini daxil etdi, lakin bu, sahil xəttinin uzunluğu ilə bağlı əsas nəticəyə təsir göstərmədi. Çünki limit

    Sahil xəttinin uzunluğu sahilin sonsuz sərtliyinə görə sonsuzluğa meyllidir.

    Daha ətraflı miqyasdan daha az təfərrüata keçərkən sahil xəttinin hamarlanması proseduru, yəni.

    Koch qar dənəciyi (Koch fraktal)

    Tikinti üçün əsas olaraq, vahid uzunluğunun seqmentlərini deyil, bərabər tərəfli üçbucağı götürə bilərsiniz, hər tərəfə pozuntuları çoxaltma prosedurunu genişləndirə bilərsiniz. Bu halda, biz bir Koch qar dənəciyi (şəkil) alırıq və üç növdən ibarətdir: yeni yaranan üçbucaqlar yalnız əvvəlki üçbucaqdan (a) və (b) xaricə yönəldilir; yalnız içəridə (içində); təsadüfi olaraq ya xaricə, ya da daxilə (d) və (e). Koch fraktalının qurulması prosedurunu necə təyin edə bilərsiniz.

    düyü. Qar dənəciyi Koch

    Şəkildə. iki vektor diaqramı göstərilir; Oxların üstündəki rəqəmlər yəqin ki, sual doğuracaq: onlar nə deməkdir? 0 vektoru absis oxunun müsbət istiqaməti ilə üst-üstə düşür, çünki onun l = 0-da faza amili exp (i2πl/6) öz istiqamətini saxlayır. 1-ci vektor 0 vektoruna nisbətən 2π/6 bucaqla fırlanır, l= 1. Vektor 5-in faza faktoru exp (i2π5/6), l = 5. Sonuncu vektor birinci ilə eyni faza əmsala malikdir ( l = 0). l tam ədədləri vahid vektorun faza əmsalının bucağını xarakterizə edir.

    Birinci addım (şək.) bütün sonrakı addımlar və xüsusən də ikinci addım üçün rekursiv proseduru müəyyən edir (şək.). φ1 = (0 1 5 0) ədədlər toplusundan φ2 = (0 1 5 0 1 2 0 1 5 0 4 5 0 1 5 0)-a necə keçmək olar? Cavab: bir matrisin hər bir elementi orijinal matrisə vurulduqda birbaşa matrisin vurulması ilə. Bu halda biz birölçülü massivlə məşğul olduğumuz üçün, yəni. Matrislər vektor olduğundan, bir matris-vektorun hər bir elementi digər matris-vektorun bütün elementlərinə vurulur. Bundan əlavə, φ1 matrisa vektorunun elementləri exp (i2πl/6) eksponensial funksiyalarından ibarətdir, ona görə də 10 h ədədini vurarkən çoxalmaq yox, mod (6) üzrə əlavə etmək lazım gələcək.

      Koch qar dənəciyinin həndəsi forması belə görünür

      Koch qar dənəciyini necə çəkmək olar

      Koch piramidası da var

      Aşağıdakı videodan Koch qar dənəciyinin necə çəkiləcəyini daha ətraflı öyrənə bilərsiniz. Kimsə başa düşə bilər, imtina etdim.

      Əvvəlcə bu Koch qar dənəciyinə baxaq. Aşağıdakı diaqram bizi ən yaxşı şəkildə göstərəcək.

      Yəni verilmiş qar dənəciyini çəkmək üçün bu həndəsi fraktalı təşkil edən fərdi həndəsi formalardan istifadə etmək lazımdır.

      Rəsmimizin əsası bərabərtərəfli üçbucaqdır. Hər tərəf üç seqmentə bölünür, onlardan növbəti, daha kiçik, bərabərtərəfli üçbucaqlar qurulur. Yaranan üçbucaqlarla eyni əməliyyat bir neçə dəfə həyata keçirilir.

      Koxun qar dənəciyi alimlər tərəfindən tədqiq edilən ilk fraktallardan biridir. Koch əyrisinin üç nüsxəsindən bir qar dənəciyi əldə edilir, bu kəşf haqqında məlumat 1904-cü ildə İsveç riyaziyyatçısı Helge von Kochun məqaləsində ortaya çıxdı. Əslində, hər hansı bir nöqtədə toxunan xəttin çəkilə bilməyəcəyi davamlı xəttin nümunəsi kimi bir əyri icad edilmişdir. Koch əyrisi dizaynında sadədir.

      Bir nümunə, addım-addım çəkmə ilə Koch qar dənəciyinin şəklinin fotoşəkili.

      Bu diaqramda siz daha sonra Koch qar dənəciyini yaradacaq xətləri ətraflı nəzərdən keçirə bilərsiniz.

      Və bu, Kochun qar dənəciyinə əsaslanan yeni qar dənəciyinin təfsiridir.

      Koch qar dənəciyinin necə çəkiləcəyini başa düşməzdən əvvəl onun nə olduğunu müəyyənləşdirməlisiniz.

      Beləliklə, Koch qar dənəciyi həndəsi təsvirdir - fraktal.

      Kochun qar dənəciyinin tam tərifi aşağıdakı şəkildə verilmişdir.

    © 2024 skudelnica.ru -- Sevgi, xəyanət, psixologiya, boşanma, hisslər, mübahisələr