Kar Tanesi Koch inşaatı. Pascal (Pascal) dilindeki programlar: kar tanesi ve Koch eğrisi, fraktallar. "Fraktallar" terminolojisinin tanımı

Bu rakam bilim adamlarının incelediği ilk fraktallardan biridir. Üç kopyadan geliyor Koch eğrisiİlk kez 1904'te İsveçli matematikçi Helge von Koch'un bir makalesinde ortaya çıktı. Bu eğri, herhangi bir noktaya teğet olamayacak sürekli bir çizgiye örnek olarak icat edildi. Bu özelliğe sahip çizgiler daha önce biliniyordu (Karl Weierstrass, örneğini 1872'de oluşturdu), ancak Koch eğrisi, tasarımının basitliği nedeniyle dikkat çekicidir. Makalesinin adının “Temel geometriden kaynaklanan, teğetleri olmayan sürekli bir eğri üzerinde” olması tesadüf değildir.

Kendini yinelemeli olarak çağıran bir fonksiyon yazmak, ekranda fraktal diyagram oluşturmanın bir yoludur. Ancak yukarıdaki Cantor'daki satırların bağımsız olarak hareket ettirilebilecek ayrı nesneler olarak ayarlanmasını isterseniz ne olur? Özyinelemeli işlev basit ve zariftir ancak şablonun kendisini oluşturmanın ötesinde pek bir şey yapmanıza izin vermez.

İşte kurallar. Koch eğrisi ve diğer fraktal desenlere genellikle "matematik canavarları" adı verilir. Bunun nedeni özyinelemeli tanımı sonsuz sayıda uyguladığınızda ortaya çıkan tuhaf paradokstur. Orijinal başlangıç ​​çizgisinin uzunluğu bir ise, Koch eğrisinin ilk yinelemesi üçte dörtlük bir çizgi uzunluğu verecektir. Tekrar yaparsan on altı dokuz alırsın. Sonsuza doğru ilerledikçe Koch eğrisinin uzunluğu sonsuza yaklaşır. Ancak bu kağıtta sağlanan küçücük sınırlı alana sığar!

Koch eğrisini oluşturmanın ilk aşamaları

Çizim ve animasyon, Koch eğrisinin adım adım nasıl oluşturulduğunu mükemmel bir şekilde göstermektedir. İlk yineleme yalnızca başlangıç ​​bölümüdür. Daha sonra üç eşit parçaya bölünür, ortadaki parça tamamlanarak düzgün bir üçgen oluşturulur ve sonra dışarı atılır. Sonuç, ikinci yinelemedir - dört bölümden oluşan kesikli bir çizgi. Her birine aynı işlem uygulanarak yapımın dördüncü adımı elde edilir. Aynı ruhla devam ederek giderek daha fazla yeni satır elde edebilirsiniz (hepsi kırık çizgiler olacaktır). Ve limitte meydana gelen şeye (bu zaten hayali bir nesne olacaktır) Koch eğrisi denir.

Sonlu piksel işlemenin Dünya üzerinde çalıştığımız için bu teorik paradoks bizim için bir faktör olmayacaktır. Cantor kümesinde olduğu gibi ilerleyebilir ve Koch kurallarını tekrar tekrar yinelemeli olarak uygulayan özyinelemeli bir fonksiyon yazabiliriz. Ancak Koch eğrisinin her bir parçasını ayrı bir nesne olarak ele alarak bu sorunu farklı şekilde çözeceğiz. Bu, bazı tasarım olanaklarının önünü açacaktır. Örneğin her parça bir nesne ise her parçanın orijinal konumundan bağımsız olarak hareket etmesine ve fizik simülasyonuna katılmasına izin verebiliriz.

Koch eğrisinin temel özellikleri

1. Süreklidir ancak hiçbir yerde türevlenemez. Kabaca söylemek gerekirse, bu tür matematiksel "ucubelerin" bir örneği olarak icat edilmesinin nedeni tam olarak budur.

2. Sonsuz uzunluğa sahiptir. Orijinal parçanın uzunluğu 1'e eşit olsun. Her inşaat aşamasında çizgiyi oluşturan parçaların her birini 4/3 kat daha uzun olan kesikli bir çizgiyle değiştiriyoruz. Bu, tüm kesikli çizginin uzunluğunun her adımda 4/3 ile çarpıldığı anlamına gelir: numaralı çizginin uzunluğu N(4/3) n–1'e eşittir. Bu nedenle sınır çizgisinin sonsuz uzunlukta olmaktan başka seçeneği yoktur.

Ayrıca rastgele renk, çizgi kalınlığı vb. de kullanabiliriz. Her segmenti farklı şekilde görüntülemek için. Her parçayı ayrı bir nesne olarak ele alma görevimizi gerçekleştirmek için öncelikle nesnenin ne yapması gerektiğine karar vermeliyiz. Hangi özelliklere sahip olmalı?

Elimizde ne var bir bakalım. Yukarıdaki unsurlarla Koch'un özyineleme kurallarını ve ilkelerini nasıl ve nerede uygularız? Bu simülasyonda her zaman iki nesli takip ettik: şimdiki nesil ve sonraki nesil. Gelecek nesli hesaplamayı bitirdiğimizde artık bu konu gündeme geldi ve yeni nesil hesaplamaya geçtik.

3. Koch'un kar tanesi sonlu alanı sınırlıyor. Ve bu, çevresinin sonsuz olmasına rağmen. Bu özellik paradoksal görünebilir, ancak açıktır - bir kar tanesi tamamen bir daireye sığar, dolayısıyla alanı açıkça sınırlıdır. Alan hesaplanabilir ve bunun için özel bir bilgiye bile ihtiyacınız yoktur - okulda bir üçgenin alanı ve geometrik ilerlemenin toplamı için formüller öğretilir. İlgilenenler için hesaplama aşağıda ayrıntılı olarak listelenmiştir.

Burada da benzer bir teknik kullanacağız. Kodun neye benzediği budur. Elbette yukarıdakiler, bu kuralları tanımlayan asıl "iş"i hariç tutar. Kurallarda tanımlandığı gibi bir doğru parçasını dörde nasıl böleriz? Fraktalın yapısı sonsuzluk kavramına dayanmaktadır. Adım 2: Bu parçayı üç eşit parçaya böleceğiz ve orta kısımda bir eşkenar üçgen oluşturacağız. Adım 3: Dört yeni segmentte adımı gerçekleştireceğiz.

Aracı iki nesne arasında kesiştirin, daireye tıklayın. Koch kar tanesi, Koch matematikçisi tarafından Koch dantelinden başlayarak oluşturulan özel bir fraktal eğridir. Bu bir eşkenar üçgenin kenarları boyunca çizilen bir eğridir. Koch bağcıkları üçgenin her iki yanına inşa edilmiştir.

Orijinal normal üçgenin kenarı şuna eşit olsun: A. Daha sonra kendi alanı. Öncelikle kenar 1 ve alan: . Yineleme arttıkça ne olur? Küçük eşkenar üçgenlerin mevcut bir çokgene iliştirildiğini varsayabiliriz. İlk seferinde sadece 3 tane var ve her seferinde bir öncekinden 4 kat daha fazla var. Yani, üzerinde N Adımda T n = 3 · 4 n–1 üçgeni tamamlanacaktır. Her birinin kenar uzunluğu, bir önceki adımda tamamlanan üçgenin kenarının üçte biri kadardır. Bu, (1/3) n'ye eşit olduğu anlamına gelir. Alanlar kenarların kareleriyle orantılı olduğundan her üçgenin alanı . Büyük değerler için N Bu arada bu çok az. Bu üçgenlerin kar tanesi alanına toplam katkısı T n · S n = 3/4 · (4/9) n · S 0 . Bu nedenle sonra N Adımda, şeklin alanı S 0 + T 1 · S 1 + T 2 · S 2 + ... +T n · S n = toplamına eşit olacaktır. . Sonsuz sayıda adımdan sonra bir kar tanesi elde edilir, bu da n → ∞'a karşılık gelir. Sonuç sonsuz bir toplamdır, ancak bu azalan geometrik ilerlemenin toplamıdır, bunun için bir formül vardır: . Kar tanesinin alanı eşittir.

Aşağıdaki tablo bir eğri oluşturmanın ilk adımlarını göstermektedir. Bir fraktal oluşturmak için eğrinin üç kopyasını üçgenin kenarlarına yerleştirmeniz yeterlidir. İkinci figürün Davud Yıldızı olduğunu unutmayın. Sonuç, eşkenar üçgen üzerine inşa edilmiş kapalı bir eğridir. Fritin altı köşeli bir yıldız içerdiği belirtilebilir. Tasarım fraktal beşgen olana çok benzer.

Kar taneleri oluşturmanın başka bir yolu var. Yukarıda anlatılan yapı, başlangıç ​​figürü olan üçgenin başka unsurları da eklemesi nedeniyle eklemeli bir yapı olarak tanımlanabilir. Orijinal şeklin yerine elemanları kaldıran bir alt yapı var.

4. Fraktal boyut log4/log3 = log 3 4 ≈ 1,261859... . Doğru hesaplama önemli ölçüde çaba ve ayrıntılı açıklamalar gerektirecektir, bu nedenle burada daha ziyade fraktal boyutun tanımının bir örneği bulunmaktadır. Güç yasası formülünden N(δ) ~ (1/δ)D, burada N- kesişen karelerin sayısı, δ - boyutları, D- boyutta, D = log 1/δ N elde ederiz. Bu eşitlik bir sabitin eklenmesine kadar doğrudur (her şey için aynıdır) δ ). Şekiller Koch eğrisinin oluşturulmasının beşinci yinelemesini göstermektedir; onunla kesişen ızgara kareleri yeşil renkte gölgelendirilmiştir. Orijinal parçanın uzunluğu 1 olduğundan soldaki şekilde karelerin kenar uzunluğu 1/9'dur. 12 kare gölgelidir, log 9 12 ≈ 1,130929... . Henüz 1.261859'a pek benzemiyor... . Daha ileriye bakalım. Ortadaki resimde kareler yarı büyüklükte, boyutları 1/18, gölgeli 30. log 18 30 ≈ 1,176733... . Zaten daha iyi. Sağdaki kareler hala yarısı büyüklüğünde, 72 parçanın üzeri zaten boyanmış. log 72 30 ≈ 1,193426... . Daha da yakın. Daha sonra yineleme sayısını artırmanız ve aynı zamanda kareleri azaltmanız gerekir, o zaman Koch eğrisinin boyutunun "ampirik" değeri sürekli olarak log 3 4'e yaklaşacak ve limitte tamamen çakışacaktır.

Seçenekler

Koch'un kar tanesi "tersine" orijinal eşkenar üçgenin içinde Koch eğrileri oluşturursak elde edilir.

Cesaro Hatları. Eşkenar üçgenler yerine taban açısı 60° ile 90° arasında olan ikizkenar üçgenler kullanılır. Şekildeki açı 88°'dir.

Kare seçeneği. Burada kareler tamamlandı.

Üç boyutlu analoglar. Koch uzayı.

Koch eğrisi

Koch'un kar taneleri

Koch kar tanesi oluşturmak için aşağıdaki işlemleri gerçekleştiriyoruz. Sıfır yineleme olarak eşkenar üçgeni düşünün.


Daha sonra bu üçgenin her bir kenarını üç eşit parçaya bölüyoruz, orta kısmı çıkarıyoruz ve ortada Şekil 2'deki gibi bir eşkenar üçgen tamamlıyoruz. Bir sonraki adımda, yeni şeklin her bir tarafı aynı prosedüre tabi tutulur; üç eşit parçaya bölünür ve bir eşkenar üçgenin oluşturulması tamamlanır ve bu sonsuza kadar devam eder. Sonuç, Koch kar tanesi adı verilen kendine benzer bir küme olan simetrik, kar tanesi benzeri, sonsuzca kırık bir eğridir. Adını, onu ilk kez 1904'te tanımlayan İsveçli matematikçi Helge von Koch'tan almıştır. Ayırt edici özelliği, kapalı olmasına rağmen kendisiyle hiçbir yerde kesişmemesidir, çünkü tamamlanan üçgenler her seferinde yeterince küçüktür ve hiçbir zaman birbirleriyle "çarpışmaz". birbirine göre.

Fraktal boyutunu hesaplayalım. Orijinal üçgenin kenarlarının uzunluğunu alın ben= 1 ise parça her birinin uzunluğu 1/3 olan ve dolayısıyla toplam uzunluğu 4/3 olan dört parçadan oluşacaktır. Bir sonraki adımda, 16 parçadan oluşan ve toplam uzunluğu 16/9 veya vb. olan kesikli bir çizgi elde ediyoruz. Bundan fraktal boyutun şuna eşit olduğu anlaşılmaktadır:

Bu değer birden büyüktür (doğrunun topolojik boyutu), ancak eğrinin bulunduğu düzlemin Öklid boyutundan (d = 2) küçüktür. Herhangi bir sonlu n için n'inci iterasyon sonucunda elde edilen eğriye prefraktal adı verildiğini ve ancak n sonsuza doğru yöneldiğinde Koch eğrisinin fraktal haline geldiğini belirtelim. Dolayısıyla Koch kar tanesi, sonlu bir alanı sınırlayan sonsuz uzunlukta bir çizgidir. Fraktalın tanımını kullanarak bu kümenin bir fraktal olduğunu rahatlıkla söyleyebiliriz.

Boston'da alışılmadık derecede sıcak bir kıştı ama biz hâlâ ilk kar yağışını bekliyorduk. Pencereden düşen karı izlerken kar tanelerini ve yapılarının matematiksel olarak ifade edilmesinin hiç de kolay olmadığını düşündüm. Ancak Koch kar tanesi olarak bilinen ve nispeten basit bir şekilde tanımlanabilecek özel bir kar tanesi türü vardır. Bugün COMSOL Multiphysics Application Builder kullanılarak şeklinin nasıl oluşturulabileceğine bakacağız.

Koch'un Kar Taneciğinin Yapımı

Blogumuzda daha önce de belirttiğimiz gibi fraktallar kullanılabilir. Kar Tanesi Koch bir fraktaldır ve bunu oluşturmak için çok basit bir yinelemeli sürecin olması dikkat çekicidir:

  1. Koch kar tanesinin aslında sıfırıncı yinelemesi olan eşkenar üçgenle başlayalım.
  2. Mevcut kar tanesinin her bir kenarının merkez noktasını bulalım.
  3. Her kenarın ortasına, kenarı mevcut kenarın uzunluğunun 1/3'üne eşit olacak şekilde dışarı doğru çıkıntı yapan bir eşkenar üçgen ekleyin.
  4. Koch kar tanesinin bir sonraki yinelemesini önceki kar tanesinin ve eklenen tüm üçgenlerin dışında olacak şekilde tanımlayalım.
  5. 2-4 arasındaki adımları gerektiği kadar tekrarlayın.

Bu prosedür, bir kar tanesi çiziminin ilk dört yinelemesi için aşağıdaki şekilde gösterilmektedir.

Koch kar tanesinin ilk dört tekrarı. Resim Wxs tarafından - Kendi çalışmam. Wikimedia Commons aracılığıyla CC BY-SA 3.0 kapsamında lisanslanmıştır.

Koch kar tanesi geometrisinin inşası

Artık hangi algoritmayı kullanacağımızı bildiğimize göre, COMSOL Multiphysics Application Builder'ı kullanarak böyle bir yapının nasıl oluşturulacağına bakalım. Yeni bir dosya açıp 2 boyutlu bir nesne oluşturacağız geometri parçası düğümde Küresel tanımlar. Bu nesne için beş giriş parametresi belirleyeceğiz: eşkenar üçgenin kenar uzunluğu; X- Ve sen– tabanın orta noktasının koordinatları; ve aşağıdaki şekillerde gösterildiği gibi tabanın ortasından karşı tepe noktasına yönlendirilen normal vektörün bileşenleri.


Eşkenar üçgenin boyutunu, konumunu ve yönünü ayarlamak için kullanılan beş parametre.


Geometrik parçanın giriş parametrelerinin ayarlanması.
Eşkenar üçgen oluşturmak için çokgen ilkel kullanılır.


Nesne alt kenarın merkezi etrafında dönebilir.


Bir nesne orijine göre hareket ettirilebilir.

Artık geometrik kısmı tanımladığımıza göre onu kesitte bir kez kullanıyoruz. Geometri. Bu tek üçgen, Koch kar tanesinin sıfırıncı yinelemesine eşdeğerdir ve şimdi daha karmaşık kar taneleri oluşturmak için Uygulama Oluşturucuyu kullanalım.

Uygulama Oluşturucuda Uygulama Kullanıcı Arayüzü İşaretlemesi

Uygulama oldukça basit bir kullanıcı arayüzüne sahiptir. Kullanıcının etkileşimde bulunabileceği yalnızca iki bileşen içerir: Kaydırıcı (Kaydırıcı)(aşağıdaki şekilde 1 olarak işaretlenmiştir), bununla bir kar tanesi oluşturmak için gereken yineleme sayısını ayarlayabilirsiniz ve Düğme(etiket 2), elde edilen geometrinin oluşturulduğu ve görüntülendiği tıklatılarak. Ayrıca orada Metin yazıtı(etiket 3) ve Verilerin görüntülenmesi (Görüntülenmesi)(etiket 4), belirtilen yinelemelerin sayısını ve ayrıca pencereyi gösterir Grafikler(etiket 5), son geometriyi görüntüler.


Uygulamanın beş bileşenden oluşan tek bir formu vardır.

Uygulamanın iki tane var Tanımlar Bunlardan biri, varsayılan olarak sıfır olan ancak kullanıcı tarafından değiştirilebilen Yinelemeler adı verilen bir tamsayı değerini tanımlar. Merkez adı verilen 1 boyutlu çiftler dizisi de tanımlanır. Dizideki tek öğe, her kenarın merkez noktasını bulmak için kullanılan 0,5 değerine sahiptir. Bu değer asla değişmez.


İki Tanıma ilişkin ayarlar.

Kullanıcı arayüzündeki Slider bileşeni, tamsayı değeri olan Yinelemeler parametresini kontrol eder. Aşağıdaki ekran görüntüsünde "Kaydırıcı" ayarları ve 0 ile 5 arasında tamsayı olarak ayarlanan değerler gösterilmektedir. Bileşen için de aynı kaynak (kaydırıcıyla olduğu gibi) seçilmiştir Veri görüntüleme Uygulama ekranında belirtilen yineleme sayısını görüntülemek için. Kullanılan algoritma optimalin altında olduğundan ve çok verimli olmadığından, ancak uygulanması ve gösterilmesi yeterince basit olduğundan potansiyel kullanıcıyı beş yinelemeyle sınırlandırıyoruz.


"Kaydırıcı" bileşeninin ayarları.

Daha sonra aşağıdaki ekran görüntüsünde gösterilen düğmemizin ayarlarına bakalım. Düğmeye basıldığında iki komut yürütülür. İlk olarak CreateSnowFlake metodu çağrılır. Ortaya çıkan geometri daha sonra grafik penceresinde görüntülenir.


Düğme ayarları.

Artık uygulamamızın kullanıcı arayüzüne baktık ve herhangi bir kar tanesi geometrisinin oluşturulmasının adı verilen bir yöntemle gerçekleşmesi gerektiğini görebiliyoruz. Satır numaralandırmanın sola eklendiği ve dize sabitlerinin kırmızıyla vurgulandığı bu yöntemin koduna bakalım:

1 model.geom("geom1" ).feature().clear(); 2 model.geom("geom1" ).create("pi1", "PartInstance"); 3 model.geom("geom1" ).run("fin"); 4 for (int iter = 1; iter "geom1" ).getNEdges()+1; 6 BirlikListesi = "pi" + iter; 7 for (int edge = 1; edge "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))) model.geom("geom1" ).edgeX( edge, Center)); 13 setEntry("inputexpr", "py", model.geom("geom1" ).edgeX(edge, Center)); ", "nx", model.geom("geom1" ).edgeNormal (kenar, Merkez)); 15 setEntry("inputexpr", "ny", model.geom("geom1" ).edgeNormal(edge, Center)) ; 17 endwith(); 17 UnionList = newPartInstance; "geom1" ).create("pi" +(iter+1), "Birlik" ).selection("input" ).set(UnionList ); 20 model.geom("geom1" ).feature("pi" +(iter+1)).set("intbnd", "off"); 21 model.geom("geom1" ).run("fin"); 22)

Her satırın hangi işlevi yerine getirdiğini anlamak için kodu satır satır inceleyelim:

  1. Sıfırdan başlayabilmemiz için mevcut tüm geometrik dizileri temizliyoruz.
  2. Varsayılan boyutu, yönü ve konumu kullanarak nesnenin bir örneğini - "üçgenimizi" oluştururuz. Bu bizim pi1 tanımlayıcı etiketine sahip sıfırıncı dereceden kar tanesidir.
  3. Geometriyi sonlandıralım. Bu işlem tüm geometri indekslerini güncellemek için gereklidir.
  4. Durdurma koşulu olarak Yinelemeler tanımını kullanarak kar tanesinin verilen tüm yinelemelerini yineleme sürecine başlayalım.
  5. Boş bir dize dizisi tanımlarız, UnionList. Dizinin her öğesi çeşitli geometrik nesnelerin tanımlayıcısını içerir. Bu dizinin uzunluğu, son yinelemedeki kenar sayısının bir artısına eşittir.
  6. UnionList dizisinin ilk elemanını tanımlıyoruz. Önceki yinelemenin sonucunun tanımlayıcısıdır. Sıfır yinelemenin zaten 1-3 satırlarında oluşturulduğunu unutmayın. iter tamsayı değeri otomatik olarak bir dizeye dönüştürülür ve "pi" dizisinin sonuna eklenir.
  7. Daha önce oluşturulan kar tanesindeki kenar sayısını geçiyoruz.
  8. Bu kenarda oluşturulan “üçgen” parça örneğinden erişen bir nesnenin yeni örneği için bir tanımlayıcı etiket ayarlıyoruz. iter ve edge tamsayı değerlerinin, nesne örneğinin tanımlayıcı etiketi olan pi dizisinin sonuna sırayla eklendiğini unutmayın.
  9. "Üçgen" nesnesinin bir örneğini yaratırız ve ona az önce belirttiğimiz tanımlayıcı etiketi atarız.
  10. With()/endwith() deyimini kullanarak 11-15. satırların nesnenin geçerli örneğine (parça örneği) atıfta bulunduğunu belirtiriz.
  11. Üçgenin kenar uzunluğunu belirleyin. Sıfırıncı sıranın kenar uzunluğu birdir, dolayısıyla n'inci yinelemenin kenar uzunluğu (1/3)n'dir. toString() işlevi, veri türlerini (kayan nokta sayısı) bir dizeye dönüştürmek (dönüştürmek) için gereklidir.
  12. Ayarladık X-son yinelemenin kenarının merkez noktası olarak yeni üçgenin koordinatı. EdgeX yöntemi şurada belgelenmiştir: . Merkezin 0,5'e ayarlandığını hatırlayın.
  13. Ayarladık sen-koordinat.
  14. Ayarladık X-üçgenin normal vektörünün bileşeni. edgeNormal yöntemi ayrıca belgelenmiştir. COMSOL Programlama Referans Kılavuzu.
  15. Ayarladık sen-normal vektörün bileşeni.
  16. with()/endwith() deyimini kapatıyoruz.
  17. Geçerli üçgenin etiket tanımlayıcısını tüm nesnelerin listesine ekleyin.
  18. Tüm kenarların aramasını kapatıyoruz.
  19. Tüm nesnelerin Boole Birliği'ni (mantıksal birliği) geometrik bir dizi halinde oluşturuyoruz. Etikete yeni bir pi değeri atadık N, burada N sayıdır Sonraki yinelemeler. Artan yineleme değerinin bir dizeye dönüştürülmesi için (iter+1) çevresinde parantezlerin kullanılması gerekir.
  20. Nihai nesnenin iç sınırlarının korunmadığını belirtiyoruz.
  21. Geometriyi sonlandıralım. Son işlem, kar tanesinin bir sonraki yinelemesi için tüm geometri indekslerini günceller.
  22. Bir kar tanesi yaratmanın tekrarlama döngüsünü kapatıyoruz.

Böylece uygulamamızın tüm yönlerini ve unsurlarını ele aldık. Sonuçlara bakalım!


Koch kar tanesini oluşturmak için basit uygulamamız.

Uygulamamızı bir dosyaya geometri yazacak şekilde genişletebilir, hatta doğrudan ek analizler gerçekleştirebiliriz. Örneğin fraktal bir anten tasarlayabiliriz. Anten tasarımıyla ilgileniyorsanız, örneğimize göz atın, hatta düzenini sıfırdan yapın.

Kendin dene

Bu uygulamayı kendiniz oluşturmak istiyorsanız ancak Uygulama Oluşturucuyu henüz tamamlamadıysanız aşağıdaki kaynakları yararlı bulabilirsiniz:

  • Kılavuzu indirin İngilizce Uygulama Geliştirme Ortamına Giriş
  • Bu videoları izleyin ve nasıl kullanılacağını öğrenin
  • Simülasyon uygulamalarının nasıl kullanıldığına aşina olmak için bu konuları okuyun.

Bu materyali ele aldıktan sonra, uygulamanın işlevselliğinin bir kar tanesini yeniden boyutlandırmak, oluşturulan geometriyi dışa aktarmak, alanı ve çevreyi tahmin etmek ve çok daha fazlasını sağlayacak şekilde nasıl genişletilebileceğini göreceksiniz.

COMSOL Multiphysics'te nasıl bir uygulama oluşturmak istiyorsunuz? yardım için.

Bu rakam bilim adamlarının incelediği ilk fraktallardan biridir. Üç kopyadan geliyor Koch eğrisiİlk kez 1904'te İsveçli matematikçi Helge von Koch'un bir makalesinde ortaya çıktı. Bu eğri, herhangi bir noktaya teğet olamayacak sürekli bir çizgiye örnek olarak icat edildi. Bu özelliğe sahip çizgiler daha önce biliniyordu (Karl Weierstrass, örneğini 1872'de oluşturdu), ancak Koch eğrisi, tasarımının basitliği nedeniyle dikkat çekicidir. Makalesinin adının “Temel geometriden kaynaklanan, teğetleri olmayan sürekli bir eğri üzerinde” olması tesadüf değildir.

Çizim ve animasyon, Koch eğrisinin adım adım nasıl oluşturulduğunu mükemmel bir şekilde göstermektedir. İlk yineleme yalnızca başlangıç ​​bölümüdür. Daha sonra üç eşit parçaya bölünür, ortadaki parça tamamlanarak düzgün bir üçgen oluşturulur ve sonra dışarı atılır. Sonuç, ikinci yinelemedir - dört bölümden oluşan kesikli bir çizgi. Her birine aynı işlem uygulanarak yapımın dördüncü adımı elde edilir. Aynı ruhla devam ederek giderek daha fazla yeni satır elde edebilirsiniz (hepsi kırık çizgiler olacaktır). Ve limitte meydana gelen şeye (bu zaten hayali bir nesne olacaktır) Koch eğrisi denir.

Koch eğrisinin temel özellikleri

1. Süreklidir ancak hiçbir yerde türevlenemez. Kabaca söylemek gerekirse, bu tür matematiksel "ucubelerin" bir örneği olarak icat edilmesinin nedeni tam olarak budur.

2. Sonsuz uzunluğa sahiptir. Orijinal parçanın uzunluğu 1'e eşit olsun. Her inşaat aşamasında çizgiyi oluşturan parçaların her birini 4/3 kat daha uzun olan kesikli bir çizgiyle değiştiriyoruz. Bu, tüm kesikli çizginin uzunluğunun her adımda 4/3 ile çarpıldığı anlamına gelir: numaralı çizginin uzunluğu N(4/3)'e eşit N-1 . Bu nedenle sınır çizgisinin sonsuz uzunlukta olmaktan başka seçeneği yoktur.

3. Koch'un kar tanesi sonlu alanı sınırlıyor. Ve bu, çevresinin sonsuz olmasına rağmen. Bu özellik paradoksal görünebilir, ancak açıktır - bir kar tanesi tamamen bir daireye sığar, dolayısıyla alanı açıkça sınırlıdır. Alan hesaplanabilir ve bunun için özel bir bilgiye bile ihtiyacınız yoktur - okulda bir üçgenin alanı ve geometrik ilerlemenin toplamı için formüller öğretilir. İlgilenenler için hesaplama aşağıda ayrıntılı olarak listelenmiştir.

Orijinal normal üçgenin kenarı şuna eşit olsun: A. O zaman onun alanıdır. Öncelikle kenar 1 ve alan: . Yineleme arttıkça ne olur? Küçük eşkenar üçgenlerin mevcut bir çokgene iliştirildiğini varsayabiliriz. İlk seferinde sadece 3 tane var ve her seferinde bir öncekinden 4 kat daha fazla var. Yani, üzerinde N inci adım tamamlanacak Tn= 3 4 N–1 üçgen. Her birinin kenar uzunluğu, bir önceki adımda tamamlanan üçgenin kenarının üçte biri kadardır. Yani (1/3)'e eşittir N. Alanlar kenarların kareleriyle orantılı olduğundan her üçgenin alanı . Büyük değerler için N Bu arada bu çok az. Bu üçgenlerin kar tanesi alanına toplam katkısı Tn · Sn= 3/4 · (4/9) N · S 0. Bu nedenle sonra N-adım, şeklin alanı toplama eşit olacaktır S 0 + T 1 · S 1 + T 2 · S 2 + ... +Tn S N = . Sonsuz sayıda adımdan sonra bir kar tanesi elde edilir; N→ ∞. Sonuç sonsuz bir toplamdır, ancak bu azalan geometrik ilerlemenin toplamıdır, bunun için bir formül vardır: . Kar tanesinin alanı.

4. Fraktal boyut eşittir log4/log3 = log 3 4 ≈ 1,261859... . Doğru hesaplama önemli ölçüde çaba ve ayrıntılı açıklamalar gerektirecektir, bu nedenle burada daha ziyade fraktal boyutun tanımının bir örneği bulunmaktadır. Güç yasası formülünden N(δ ) ~ (1/δ )D, Nerede N- kesişen karelerin sayısı, δ - boyutları ve D- boyut, bunu anlıyoruz D= günlük 1/ δ N. Bu eşitlik bir sabitin eklenmesine kadar doğrudur (herkes için aynı) δ ). Şekiller Koch eğrisinin oluşturulmasının beşinci yinelemesini göstermektedir; onunla kesişen ızgara kareleri yeşil renkte gölgelendirilmiştir. Orijinal parçanın uzunluğu 1 olduğundan üstteki şekilde karelerin kenar uzunluğu 1/9'dur. 12 kare gölgelidir, log 9 12 ≈ 1,130929... . Henüz 1.261859'a pek benzemiyor... . Daha ileriye bakalım. Ortadaki resimde kareler yarı büyüklükte, boyutları 1/18, gölgeli 30. log 18 30 ≈ 1,176733... . Zaten daha iyi. Aşağıda kareler hâlâ yarısı kadar büyüklükte; 72 parçanın üzeri zaten boyanmış. log 72 30 ≈ 1,193426... . Daha da yakın. Daha sonra yineleme sayısını artırmanız ve aynı zamanda kareleri azaltmanız gerekir, o zaman Koch eğrisinin boyutunun "ampirik" değeri sürekli olarak log 3 4'e yaklaşacak ve limitte tamamen çakışacaktır.

Helg von Koch tarafından 1904'te icat edilen bir kar tanesinin sınırı (Şekil 2.2), üç özdeş boyut fraktalından oluşan bir eğri ile tanımlanır. Kar tanesinin her üçte biri eşkenar üçgenin bir tarafından başlayarak tekrarlanarak inşa edilir. Başlangıç ​​segmenti olsun. Şekil 2'de gösterildiği gibi ortadaki üçte birlik kısmı kaldıralım ve aynı uzunlukta iki yeni parça ekleyelim. 2.3. Ortaya çıkan kümeyi çağıralım. Her adımda ortadaki üçte birlik kısmı iki yeni parçayla değiştirerek bu işlemi birçok kez tekrarlayalım. n'inci adımdan sonra elde edilen rakamla belirtelim.

Pirinç. 2.2. Kar Tanesi Koch

Eğri dizisinin bir K limit eğrisine yakınsadığı sezgisel olarak açıktır. Bu tür eğri dizilerinin ve diğer kümelerin yakınsaklığına ilişkin titiz bir matematiksel çalışmayı Bölüm 3.5'te ve ekte gerçekleştireceğiz. A.3. Şimdilik K eğrisinin var olduğunu varsayalım ve bazı özelliklerini göz önünde bulunduralım.

Pirinç. 2.3. a B C D)

K'nin üç kat azaltılmış bir kopyasını alırsanız, K kümesinin tamamı bu kopyalardan oluşabilir. Sonuç olarak, öz-benzerlik ilişkisi (2.1) belirtilen N ve için sağlanır ve fraktal boyut şöyle olur:

Koch kar tanesi sınırının sahip olduğu bir diğer önemli özellik ise sonsuz uzunluğudur (bkz. Teorem 2.1.1). Bu, matematik dersinde eğrilerle uğraşmaya alışkın bir okuyucu için şaşırtıcı görünebilir. Genellikle pürüzsüz veya en azından parçalı olarak pürüzsüzdürler, her zaman sonlu bir uzunluğa sahiptirler (bu, entegrasyonla doğrulanabilir). Mandelbrot bu bağlamda Britanya kıyı şeridinin uzunluğunun ölçülmesi sorununu araştıran bir dizi etkileyici çalışma yayınladı. Model olarak, bir kar tanesinin kenarını anımsatan fraktal bir eğri kullandı, ancak doğadaki rastgeleliği hesaba katarak içine bir rastgelelik unsuru dahil edildi. Sonuç olarak kıyı şeridini tanımlayan eğrinin sonsuz uzunluğa sahip olduğu ortaya çıktı.

Konuyla ilgili makaleler