Snowflake Koch konstrukcija. Programmas Paskālā (Pascal): sniegpārsla un Koha līkne, fraktāļi. Terminoloģijas "fraktāļi" definīcija

Šis skaitlis ir viens no pirmajiem zinātnieku pētītajiem fraktāļiem. Tas nāk no trim eksemplāriem Koha līkne, kas pirmo reizi parādījās zviedru matemātiķa Helges fon Kohas rakstā 1904. gadā. Šī līkne tika izgudrota kā piemērs nepārtrauktai līnijai, kas nevar būt pieskares nevienam punktam. Līnijas ar šo īpašību bija zināmas jau iepriekš (Karls Veierštrāss savu piemēru uzbūvēja tālajā 1872. gadā), taču Koha līkne ir ievērojama ar tās dizaina vienkāršību. Nav nejaušība, ka viņa raksts saucas “Uz nepārtrauktas līknes bez pieskarēm, kas izriet no elementāras ģeometrijas”.

Funkciju, kas izsauc sevi rekursīvi, rakstīšana ir viens no veidiem, kā ekrānā ģenerēt fraktāļu diagrammu. Tomēr ko darīt, ja vēlaties, lai iepriekš redzamā Cantor rindas tiktu iestatītas kā atsevišķi objekti, kurus var pārvietot neatkarīgi? Rekursīvā funkcija ir vienkārša un eleganta, taču tā neļauj darīt daudz, izņemot tikai pašas veidnes izveidi.

Šeit ir noteikumi. Koha līkni un citus fraktāļu modeļus bieži sauc par "matemātiskiem monstriem". Tas ir saistīts ar dīvaino paradoksu, kas rodas, ja rekursīvo definīciju lietojat bezgalīgi daudzas reizes. Ja sākotnējās starta līnijas garums ir viens, Koha līknes pirmā iterācija dos līnijas garumu četras trešdaļas. Dariet to vēlreiz, un jūs saņemsiet sešpadsmit deviņus. Atkārtojoties bezgalībā, Koha līknes garums tuvojas bezgalībai. Tomēr tas iekļaujas mazajā ierobežotajā telpā, kas sniegta tieši šajā dokumentā!

Koha līknes konstruēšanas pirmie posmi

Zīmējums un animācija lieliski parāda, kā Koha līkne tiek veidota soli pa solim. Pirmā iterācija ir vienkārši sākotnējais segments. Tad to sadala trīs vienādās daļās, centrālo pabeidz, veidojot regulāru trīsstūri un pēc tam izmet ārā. Rezultāts ir otrā iterācija - pārtraukta līnija, kas sastāv no četriem segmentiem. Katrai no tām tiek piemērota viena un tā pati darbība, un tiek iegūts ceturtais būvniecības solis. Turpinot tādā pašā garā, var iegūt arvien jaunas rindas (tās visas būs lauztas līnijas). Un to, kas notiek limitā (tas jau būs iedomāts objekts), sauc par Koha līkni.

Tā kā mēs strādājam uz Zemes ar ierobežotu pikseļu apstrādi, šis teorētiskais paradokss mums nebūs faktors. Mēs varētu rīkoties tāpat kā ar Cantor kopu un uzrakstīt rekursīvu funkciju, kas iteratīvi piemēro Koha noteikumus atkal un atkal. Tomēr mēs šo problēmu atrisināsim atšķirīgi, katru Koha līknes segmentu apstrādājot kā atsevišķu objektu. Tas pavērs dažas dizaina iespējas. Piemēram, ja katrs segments ir objekts, mēs varam ļaut katram segmentam pārvietoties neatkarīgi no tā sākotnējās atrašanās vietas un piedalīties fizikas simulācijā.

Koha līknes pamatīpašības

1. Tas ir nepārtraukts, bet nekur nav atšķirams. Aptuveni runājot, tieši tāpēc tas tika izgudrots - kā piemērs šāda veida matemātikas “frīkiem”.

2. Ir bezgalīgs garums.Ļaujiet sākotnējā segmenta garumam būt vienādam ar 1. Katrā būvniecības posmā mēs katru no segmentiem, kas veido līniju, aizstājam ar lauztu līniju, kas ir 4/3 reizes garāka. Tas nozīmē, ka visas pārtrauktās līnijas garums katrā solī tiek reizināts ar 4/3: līnijas garums ar skaitli n ir vienāds ar (4/3) n–1 . Tāpēc robežlīnijai neatliek nekas cits kā būt bezgalīgi garai.

Turklāt mēs varētu izmantot izlases krāsu, līnijas biezumu utt. Lai parādītu katru segmentu atšķirīgi. Lai izpildītu uzdevumu uzskatīt katru segmentu kā atsevišķu objektu, mums vispirms jāizlemj, kas objektam jādara. Kādām funkcijām tam vajadzētu būt?

Apskatīsim, kas mums ir. Izmantojot iepriekš minētos elementus, kā un kur mēs izmantojam Koha noteikumus un rekursijas principus? Šajā simulācijā mēs vienmēr sekojām divām paaudzēm: pašreizējai un nākamajai. Kad mēs pabeidzām nākamās paaudzes aprēķināšanu, tagad tas kļuva aktuāli un mēs pārgājām uz jaunās nākamās paaudzes aprēķināšanu.

3. Koha sniegpārsla ierobežo ierobežoto apgabalu. Un tas neskatoties uz to, ka tā perimetrs ir bezgalīgs. Šis īpašums var šķist paradoksāls, taču tas ir acīmredzams – sniegpārsla pilnībā iekļaujas aplī, tāpēc tās laukums ir acīmredzami ierobežots. Platību var aprēķināt, un tam pat nav vajadzīgas īpašas zināšanas - skolā tiek mācītas formulas trijstūra laukumam un ģeometriskās progresijas summai. Tiem, kas interesējas, aprēķins ir norādīts zemāk sīkā drukā.

Šeit mēs izmantosim līdzīgu tehniku. Šādi izskatās kods. Protams, iepriekš minētais izslēdz faktisko "darbu", kas nosaka šos noteikumus. Kā sadalīt vienu līnijas segmentu četros, kā aprakstīts noteikumos? Fraktāļa konstrukcijas pamatā ir bezgalības jēdziens. 2. solis: mēs sadalīsim šo segmentu trīs vienādās daļās un pacelsim vienādmalu trīsstūri uz centrālās daļas. 3. darbība: četros jaunajos segmentos mēs veiksim šo darbību.

Krustojiet instrumentu starp diviem objektiem, noklikšķiniet uz apļa. Koha sniegpārsla ir īpaša fraktāļu līkne, ko konstruējis Koha matemātiķis, sākot ar Koha mežģīnēm. Šī ir līkne, kas novilkta gar vienādmalu trīsstūra malām. Koch mežģīnes ir veidotas katrā trīsstūra pusē.

Lai sākotnējā regulārā trijstūra mala būtu vienāda ar a. Tad tā platība. Vispirms mala ir 1 un laukums ir: . Kas notiek, palielinoties iterācijai? Var pieņemt, ka esošam daudzstūrim ir pievienoti mazi vienādmalu trīsstūri. Pirmajā reizē tās ir tikai 3, un katrā nākamajā reizē to ir 4 reizes vairāk nekā iepriekšējā. Tas ir, ieslēgts n Solī tiks pabeigti T n = 3 · 4 n–1 trīsstūri. Katras no tām malas garums ir viena trešdaļa no iepriekšējā solī pabeigtā trīsstūra malas. Tas nozīmē, ka tas ir vienāds ar (1/3) n. Laukumi ir proporcionāli malu kvadrātiem, tāpēc katra trīsstūra laukums ir . Lielām vērtībām n Starp citu, tas ir ļoti maz. Šo trīsstūru kopējais ieguldījums sniegpārslas laukumā ir T n · S n = 3/4 · (4/9) n · S 0 . Tāpēc pēc n solī skaitļa laukums būs vienāds ar summu S 0 + T 1 · S 1 + T 2 · S 2 + ... + T n · S n = . Sniegpārsliņu iegūst pēc bezgalīgi daudzām soļiem, kas atbilst n → ∞. Rezultāts ir bezgalīga summa, bet tā ir dilstošās ģeometriskās progresijas summa; tai ir formula: . Sniegpārslas laukums ir vienāds.

Nākamajā tabulā parādīti pirmie soļi līknes konstruēšanā. Lai izveidotu fraktāli, jums vienkārši jāievieto trīs līknes kopijas gar trīsstūra malām. Ņemiet vērā, ka otrā figūra ir Dāvida zvaigzne. Gala rezultāts ir slēgta līkne, kas veidota uz vienādmalu trīsstūra. Var atzīmēt, ka fritē ir sešstaru zvaigzne. Dizains ir ļoti līdzīgs fraktāļu piecstūrainam.

Ir vēl viens veids, kā veidot sniegpārslas. Iepriekš aprakstīto konstrukciju var definēt kā konstrukciju ar pievienošanu, jo sākuma figūra, trīsstūris, pievieno citus elementus. Ir apakšstruktūra, kas noņem elementus sākotnējās formas vietā.

4. Fraktāļu dimensija ir log4/log3 = log 3 4 ≈ 1,261859... . Precīzs aprēķins prasīs ievērojamas pūles un detalizētus paskaidrojumus, tāpēc šeit ir drīzāk fraktāļu dimensijas definīcijas ilustrācija. No pakāpju likuma formulas N(δ) ~ (1/δ)D, kur N- krustojošo kvadrātu skaits, δ - to izmērs, D- dimensiju, iegūstam, ka D = log 1/δ N. Šī vienādība ir patiesa līdz konstantes pievienošanai (vienāda visiem δ ). Attēli parāda Koha līknes konstruēšanas piekto iterāciju; režģa kvadrāti, kas ar to krustojas, ir iekrāsoti zaļā krāsā. Sākotnējā segmenta garums ir 1, tātad kreisajā attēlā kvadrātu malu garums ir 1/9. 12 kvadrāti ir noēnoti, log 9 12 ≈ 1.130929... . Vēl nav ļoti līdzīgs 1.261859... . Paskatīsimies tālāk. Vidējā attēlā kvadrāti ir uz pusi mazāki, to izmērs 1/18, ēnots 30. log 18 30 ≈ 1.176733... . Jau labāk. Labajā pusē kvadrāti joprojām ir uz pusi lielāki, 72 gabali jau ir nokrāsoti. log 72 30 ≈ 1.193426... . Vēl tuvāk. Tad jums jāpalielina iterācijas numurs un vienlaikus jāsamazina kvadrāti, tad Koha līknes dimensijas “empīriskā” vērtība vienmērīgi tuvosies log 3 4, un robežās tā pilnībā sakritīs.

Iespējas

Koha sniegpārsla "apgrieztā virzienā" iegūts, ja mēs izveidojam Koha līknes sākotnējā vienādmalu trīsstūrī.

Cēzaro līnijas. Vienādmalu trīsstūru vietā tiek izmantoti vienādsānu trijstūri ar pamatnes leņķi no 60° līdz 90°. Attēlā leņķis ir 88°.

Kvadrātveida variants. Šeit kvadrāti ir pabeigti.

Trīsdimensiju analogi. Koha telpa.

Koha līkne

Koha sniegpārslas

Lai uzbūvētu Koča sniegpārsliņu, mēs veicam šādas darbības. Apsveriet vienādmalu trīsstūri par nulles iterāciju.


Tad mēs sadalām katru šī trijstūra malu trīs vienādās daļās, noņemam vidējo daļu un pa vidu pabeidzam vienādmalu trīsstūri, kā parādīts attēlā. Nākamajā solī katra jaunās figūras mala tiek pakļauta tādai pašai procedūrai, sadalot trīs vienādās daļās un pabeidzot vienādmalu trīsstūra uzbūvi, un tā tālāk bezgalīgi. Rezultāts ir simetrisks, sniegpārsliņai līdzīgs, bezgalīgi lauzts līkums, kas ir sev līdzīgs kopums, ko sauc par Koha sniegpārsliņu. Tas tika nosaukts zviedru matemātiķa Helges fon Kohas vārdā, kurš pirmo reizi to aprakstīja 1904. viens otru.

Aprēķināsim tā fraktāļu dimensiju. Ņemiet par sākotnējā trīsstūra malu garumu l= 1, tad fragments sastāvēs no četriem segmentiem, katra garums ir 1/3 un līdz ar to kopējais garums ir 4/3. Nākamajā solī mēs iegūstam pārtrauktu līniju, kas sastāv no 16 segmentiem un kuras kopējais garums ir 16/9 vai utt. No tā izriet, ka fraktāļu izmērs ir vienāds ar

Šī vērtība ir lielāka par vienu (līnijas topoloģiskā dimensija), bet mazāka par Eiklīda dimensiju plaknei, uz kuras atrodas līkne. Ņemsim vērā, ka līkni, kas iegūta n-tās iterācijas rezultātā jebkuram galīgam n, sauc par prefraktāli, un tikai tad, kad n tiecas uz bezgalību, Koha līkne kļūst par fraktāli. Tādējādi Koha sniegpārsla ir bezgalīga garuma līnija, kas ierobežo ierobežotu laukumu. Izmantojot fraktāļa definīciju, mēs varam droši teikt, ka šī kopa ir fraktāls.

Bostonā bija neparasti silta ziema, bet mēs tik un tā gaidījām pirmo sniegu. Vērojot pa logu, kā krīt sniegs, domāju par sniegpārslām un to, kā to uzbūvi nemaz nav viegli matemātiski aprakstīt. Tomēr ir viens īpašs sniegpārslu veids, kas pazīstams kā Koha sniegpārsla, ko var raksturot salīdzinoši vienkārši. Šodien mēs apskatīsim, kā tā formu var izveidot, izmantojot COMSOL Multiphysics Application Builder.

Koha sniegpārslas izgatavošana

Kā jau minējām mūsu emuārā, fraktāļus var izmantot . Sniegpārsla Koha ir fraktālis, kas ir ievērojams ar to, ka tā izveidošanai ir ļoti vienkāršs iteratīvs process:

  1. Sāksim ar vienādmalu trīsstūri, kas faktiski ir Koha sniegpārslas nulles atkārtojums.
  2. Atradīsim centra punktu katrā pašreizējās sniegpārslas malā.
  3. Katras malas centrā pievienojiet vienādmalu trīsstūri, kas izvirzīts uz āru un kura mala ir vienāda ar 1/3 no pašreizējās malas garuma.
  4. Definēsim nākamo Koha sniegpārslas iterāciju, lai tā būtu iepriekšējās sniegpārslas un visu pievienoto trīsstūru ārpusē.
  5. Atkārtojiet 2.–4. darbību tik reižu, cik nepieciešams.

Šī procedūra ir ilustrēta zemāk esošajā attēlā pirmajām četrām sniegpārslas zīmēšanas iterācijām.

Pirmās četras Koha sniegpārslas iterācijas. Attēls autors Wxs — pašu darbs. Licencēts saskaņā ar CC BY-SA 3.0, izmantojot Wikimedia Commons.

Koha sniegpārslas ģeometrijas uzbūve

Tā kā mēs tagad zinām, kuru algoritmu izmantot, apskatīsim, kā izveidot šādu struktūru, izmantojot COMSOL Multiphysics Application Builder. Mēs atvērsim jaunu failu un izveidosim 2D objektu ģeometrijas daļa mezglā Globālās definīcijas. Šim objektam mēs iestatīsim piecus ievades parametrus: vienādmalu trijstūra malas garums; X- Un y– bāzes viduspunkta koordinātas; un normālā vektora komponenti, kas vērsti no pamatnes vidus uz pretējo virsotni, kā parādīts zemāk esošajos attēlos.


Pieci parametri, ko izmanto, lai iestatītu vienādmalu trīsstūra izmēru, pozīciju un orientāciju.


Ģeometriskās daļas ievades parametru iestatīšana.
Daudzstūra primitīvs tiek izmantots, lai izveidotu vienādmalu trīsstūri.


Objekts var griezties ap apakšējās malas centru.


Objektu var pārvietot attiecībā pret izcelsmi.

Tagad, kad esam definējuši ģeometrisko daļu, mēs to vienreiz izmantojam sadaļā Ģeometrija. Šis vienīgais trīsstūris ir līdzvērtīgs Koha sniegpārslas nulles iterācijai, un tagad izmantosim lietojumprogrammu veidotāju, lai izveidotu sarežģītākas sniegpārslas.

Lietotņu lietotāja interfeisa marķēšana lietojumprogrammu veidotājā

Lietojumprogrammai ir ļoti vienkāršs lietotāja interfeiss. Tajā ir tikai divi komponenti, ar kuriem lietotājs var mijiedarboties: Slīdnis (slīdnis)(atzīmēts kā 1 zemāk esošajā attēlā), ar kuru varat iestatīt sniegpārslas izveidošanai nepieciešamo iterāciju skaitu un Poga(2. etiķete), noklikšķinot uz kuras tiek izveidota un parādīta iegūtā ģeometrija. Tur ir arī Teksta uzraksts(3. etiķete) un Datu displejs (displejs).(4. iezīme), kas parāda norādīto iterāciju skaitu, kā arī logu Diagrammas(5. iezīme), kas parāda galīgo ģeometriju.


Pieteikumam ir viena veidlapa ar piecām sastāvdaļām.

Lietojumprogrammai ir divas Definīcijas, no kuriem viens definē vesela skaitļa vērtību, ko sauc par iterācijām, kuras noklusējuma vērtība ir nulle, bet lietotājs to var mainīt. Ir definēts arī 1D dubultspēlētāju masīvs, ko sauc par centru. Viena elementa vērtība masīvā ir 0,5, ko izmanto, lai atrastu katras malas centra punktu. Šī vērtība nekad nemainās.


Iestatījumi divām definīcijām.

UI komponents Slīdnis kontrolē vesela skaitļa, iterāciju parametra vērtību. Tālāk esošajā ekrānuzņēmumā ir parādīti slīdņa iestatījumi un vērtības, kas ir iestatītas kā veseli skaitļi diapazonā no 0 līdz 5. Tas pats avots (kā slīdnim) ir atlasīts arī komponentam. Datu displejs lai lietojumprogrammas ekrānā parādītu norādīto iterāciju skaitu. Mēs ierobežojam potenciālo lietotāju līdz piecām iterācijām, jo ​​izmantotais algoritms ir neoptimāls un ne pārāk efektīvs, taču ir pietiekami vienkāršs, lai to ieviestu un demonstrētu.


Komponenta "Slīdnis" iestatījumi.

Tālāk apskatīsim mūsu pogas iestatījumus, kas parādīti tālāk esošajā ekrānuzņēmumā. Nospiežot pogu, tiek izpildītas divas komandas. Pirmkārt, tiek izsaukta metode CreateSnowFlake. Pēc tam iegūtā ģeometrija tiek parādīta grafikas logā.


Pogu iestatījumi.

Tagad esam apskatījuši mūsu lietojumprogrammas lietotāja interfeisu un redzam, ka jebkura sniegpārsla ģeometrija ir jāizveido, izmantojot metodi, ko sauc. Apskatīsim šīs metodes kodu, pa kreisi pievienojot rindu numerāciju un sarkanā krāsā iezīmējot virknes konstantes:

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 UnionList = "pi" + iter; 7 for (int mala = 1; mala "geom1" ).getNEdges(); edge++) ( 8 virkne newPartInstance = "pi" + iter + edge; 9 model.geom("geom1" ).create(newPartInstance, "PartInstance" ).set("part" , "part1" ); 10 with(modelis. geom("geom1" ).feature(newPartInstance)); 11 setEntry("inputexpr" , "Length" , toString(Math.pow(1.0/3.0, iter))); 12 setEntry("inputexpr" , "px" , model.geom("geom1" ).edgeX(mala, centrs)); 13 setEntry("inputexpr" , "py" , model.geom("geom1" ).edgeX(edge, Center)); 14 setEntry("inputexpr " , "nx" , model.geom("geom1" ).edgeNormal(mala, centrs)); 15 setEntry("inputexpr" , "ny" , model.geom("geom1" ).edgeNormal(mala, centrs)) ; 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)

Pārskatīsim kodu pēc rindiņas, lai saprastu, kādu funkciju katra rinda veic:

  1. Notīriet visas esošās ģeometriskās secības, lai mēs varētu sākt no nulles.
  2. Mēs izveidojam vienu objekta eksemplāru - mūsu "trijstūri", izmantojot noklusējuma izmēru, orientāciju un atrašanās vietu. Šī ir mūsu nulles kārtas sniegpārsla ar identifikatora etiķeti pi1.
  3. Pabeigsim ģeometriju. Šī darbība ir nepieciešama, lai atjauninātu visus ģeometrijas indeksus.
  4. Sāksim iterācijas procesu caur visām dotajām sniegpārslas iterācijām, izmantojot iterāciju definīciju kā apstāšanās nosacījumu.
  5. Mēs definējam tukšu virkņu masīvu UnionList. Katrs masīva elements satur dažādu ģeometrisku objektu identifikatoru. Šī masīva garums ir vienāds ar malu skaitu pēdējā iterācijā plus viens.
  6. Mēs definējam pirmo elementu UnionList masīvā. Tas ir iepriekšējās iterācijas rezultāta identifikators. Ņemiet vērā, ka nulle iterācija jau ir izveidota 1.–3. rindiņā. Vesela skaitļa vērtības iters tiek automātiski pārveidots par virkni un pievienots virknes "pi" beigām.
  7. Mēs ejam cauri malu skaitam iepriekš izveidotajā sniegpārsliņā.
  8. Mēs iestatījām identifikatora etiķeti jaunam objekta gadījumam, kas piekļūst no “trijstūra” daļas, kas ir izveidota šajā malā. Ņemiet vērā, ka veselo skaitļu vērtības iter un edge tiek secīgi pievienotas virknes pi beigām, objekta instances identifikatora etiķetei.
  9. Mēs izveidojam objekta "trijstūris" gadījumu un piešķiram tam tikko norādīto identifikatora etiķeti.
  10. Mēs norādām, ka rindas 11-15 attiecas uz pašreizējo objekta gadījumu (daļas gadījumu), izmantojot priekšrakstu with()/endwith().
  11. Nosakiet trīsstūra malas garumu. Nulles kārtas malas garums ir viens, tāpēc n-tās iterācijas malas garums ir (1/3)n. Funkcija toString() ir nepieciešama datu tipu apraidei (pārveidošanai) — peldošā komata skaitlis virknē.
  12. Mēs uzstādījām x-jaunā trīsstūra koordinātas kā pēdējās iterācijas malas centra punkts. EdgeX metode ir dokumentēta . Atcerieties, ka centrs ir iestatīts uz 0,5.
  13. Mēs uzstādījām y-koordināta.
  14. Mēs uzstādījām x-trijstūra normālā vektora sastāvdaļa. Metode edgeNormal ir arī dokumentēta COMSOL programmēšanas uzziņu rokasgrāmata.
  15. Mēs uzstādījām y-normālā vektora sastāvdaļa.
  16. Mēs aizveram ar()/endwith() priekšrakstu.
  17. Visu objektu sarakstam pievienojiet pašreizējā trīsstūra etiķetes identifikatoru.
  18. Mēs aizveram visu malu meklēšanu.
  19. Mēs izveidojam visu objektu Būla savienību (loģisko savienību) ģeometriskā secībā. Mēs piešķiram etiķetei jaunu pi vērtību N, kur N ir skaitlis Nākamais iterācijas. Ap (iter+1) ir nepieciešamas iekavas, lai palielinātā itera vērtība tiktu pārvērsta par virkni.
  20. Mēs norādām, ka gala objekta iekšējās robežas nav saglabātas.
  21. Pabeigsim ģeometriju. Pēdējā darbība atjaunina visus ģeometrijas indeksus nākamajai sniegpārslas iterācijai.
  22. Mēs noslēdzam sniegpārslas izveides iterāciju ciklu.

Tādējādi mēs esam aptvēruši visus mūsu pieteikuma aspektus un elementus. Paskatīsimies uz rezultātiem!


Mūsu vienkāršais pieteikums Koch sniegpārslas konstruēšanai.

Mēs varētu paplašināt savu lietojumprogrammu, lai failā ierakstītu ģeometriju vai pat veiktu papildu analīzes tieši. Piemēram, mēs varētu izveidot fraktāļu antenu. Ja jūs interesē antenas dizains, skatiet mūsu piemēru vai pat izveidojiet tās izkārtojumu no nulles.

Izmēģiniet to pats

Ja vēlaties pats izveidot šo lietojumprogrammu, bet vēl neesat pabeidzis lietojumprogrammu veidotāju, jums var būt noderīgi šādi resursi:

  • Lejupielādējiet rokasgrāmatu Ievads lietojumprogrammu izstrādes vidē angļu valodā
  • Noskatieties šos videoklipus un uzziniet, kā to izmantot
  • Izlasiet šīs tēmas, lai uzzinātu, kā tiek izmantotas simulācijas lietojumprogrammas

Kad būsiet apskatījis šo materiālu, redzēsiet, kā lietotnes funkcionalitāti var paplašināt, lai mainītu sniegpārslas izmēru, eksportētu izveidoto ģeometriju, novērtētu laukumu un perimetru un daudz ko citu.

Kāda veida lietojumprogrammu jūs vēlētos izveidot programmā COMSOL Multiphysics? palīdzībai.

Šis skaitlis ir viens no pirmajiem zinātnieku pētītajiem fraktāļiem. Tas nāk no trim eksemplāriem Koha līkne, kas pirmo reizi parādījās zviedru matemātiķa Helges fon Kohas rakstā 1904. gadā. Šī līkne tika izgudrota kā piemērs nepārtrauktai līnijai, kas nevar būt pieskares nevienam punktam. Līnijas ar šo īpašību bija zināmas jau iepriekš (Karls Veierštrāss savu piemēru uzbūvēja tālajā 1872. gadā), taču Koha līkne ir ievērojama ar tās dizaina vienkāršību. Nav nejaušība, ka viņa raksts saucas “Uz nepārtrauktas līknes bez pieskarēm, kas izriet no elementāras ģeometrijas”.

Zīmējums un animācija lieliski parāda, kā Koha līkne tiek veidota soli pa solim. Pirmā iterācija ir vienkārši sākotnējais segments. Tad to sadala trīs vienādās daļās, centrālo pabeidz, veidojot regulāru trīsstūri un pēc tam izmet ārā. Rezultāts ir otrā iterācija - pārtraukta līnija, kas sastāv no četriem segmentiem. Katrai no tām tiek piemērota viena un tā pati darbība, un tiek iegūts ceturtais būvniecības solis. Turpinot tādā pašā garā, var iegūt arvien jaunas rindas (tās visas būs lauztas līnijas). Un to, kas notiek limitā (tas jau būs iedomāts objekts), sauc par Koha līkni.

Koha līknes pamatīpašības

1. Tas ir nepārtraukts, bet nekur nav atšķirams. Aptuveni runājot, tieši tāpēc tas tika izgudrots - kā piemērs šāda veida matemātikas “frīkiem”.

2. Ir bezgalīgs garums.Ļaujiet sākotnējā segmenta garumam būt vienādam ar 1. Katrā būvniecības posmā mēs katru no segmentiem, kas veido līniju, aizstājam ar lauztu līniju, kas ir 4/3 reizes garāka. Tas nozīmē, ka visas pārtrauktās līnijas garums katrā solī tiek reizināts ar 4/3: līnijas garums ar skaitli n vienāds ar (4/3) n-1. Tāpēc robežlīnijai neatliek nekas cits kā būt bezgalīgi garai.

3. Koha sniegpārsla ierobežo ierobežoto apgabalu. Un tas neskatoties uz to, ka tā perimetrs ir bezgalīgs. Šis īpašums var šķist paradoksāls, taču tas ir acīmredzams – sniegpārsla pilnībā iekļaujas aplī, tāpēc tās laukums ir acīmredzami ierobežots. Platību var aprēķināt, un tam pat nav vajadzīgas īpašas zināšanas - skolā tiek mācītas formulas trijstūra laukumam un ģeometriskās progresijas summai. Tiem, kas interesējas, aprēķins ir norādīts zemāk sīkā drukā.

Lai sākotnējā regulārā trijstūra mala būtu vienāda ar a. Tad tā platība ir . Vispirms mala ir 1 un laukums ir: . Kas notiek, palielinoties iterācijai? Var pieņemt, ka esošam daudzstūrim ir pievienoti mazi vienādmalu trīsstūri. Pirmajā reizē tās ir tikai 3, un katrā nākamajā reizē to ir 4 reizes vairāk nekā iepriekšējā. Tas ir, ieslēgts n solis tiks pabeigts Tn= 34 n-1 trīsstūri. Katras no tām malas garums ir viena trešdaļa no iepriekšējā solī pabeigtā trīsstūra malas. Tātad tas ir vienāds ar (1/3) n. Laukumi ir proporcionāli malu kvadrātiem, tāpēc katra trīsstūra laukums ir . Lielām vērtībām n Starp citu, tas ir ļoti maz. Šo trīsstūru kopējais ieguldījums sniegpārslas laukumā ir Tn · S n= 3/4 · (4/9) n · S 0 . Tāpēc pēc n-solis, figūras laukums būs vienāds ar summu S 0 + T 1 · S 1 + T 2 · S 2 + ... +Tn S n = . Sniegpārsliņu iegūst pēc bezgalīgi daudzām soļiem, kas atbilst n→ ∞. Rezultāts ir bezgalīga summa, bet tā ir dilstošās ģeometriskās progresijas summa; tai ir formula: . Sniegpārslas laukums ir.

4. Fraktāles dimensija ir vienāda ar log4/log3 = log 3 4 ≈ 1,261859... . Precīzs aprēķins prasīs ievērojamas pūles un detalizētus paskaidrojumus, tāpēc šeit ir drīzāk fraktāļu dimensijas definīcijas ilustrācija. No spēka likuma formulas N(δ ) ~ (1/δ )D, Kur N- krustojošo kvadrātu skaits, δ - to lielums un D- dimensija, mēs to sapratām D= žurnāls 1/ δ N. Šī vienlīdzība ir patiesa līdz pat konstantes pievienošanai (vienādi visiem δ ). Attēli parāda Koha līknes konstruēšanas piekto iterāciju; režģa kvadrāti, kas ar to krustojas, ir iekrāsoti zaļā krāsā. Sākotnējā segmenta garums ir 1, tātad augšējā attēlā kvadrātu malu garums ir 1/9. 12 kvadrāti ir noēnoti, log 9 12 ≈ 1.130929... . Vēl nav ļoti līdzīgs 1.261859... . Paskatīsimies tālāk. Vidējā attēlā kvadrāti ir uz pusi mazāki, to izmērs 1/18, ēnots 30. log 18 30 ≈ 1.176733... . Jau labāk. Zemāk kvadrāti joprojām ir uz pusi lielāki, 72 gabali jau ir nokrāsoti. log 72 30 ≈ 1.193426... . Vēl tuvāk. Tad jums jāpalielina iterācijas numurs un vienlaikus jāsamazina kvadrāti, tad Koha līknes dimensijas “empīriskā” vērtība vienmērīgi tuvosies log 3 4, un robežās tā pilnībā sakritīs.

Helga fon Koha 1904. gadā izgudrotās sniegpārslas robežu (2.2. att.) apraksta līkne, kas sastāv no trim vienādiem dimensijas fraktāļiem. Katra sniegpārslas trešdaļa ir konstruēta iteratīvi, sākot no vienādmalu trīsstūra vienas malas. Ļaut būt sākotnējam segmentam. Noņemsim vidējo trešdaļu un pievienosim divus jaunus tāda paša garuma segmentus, kā parādīts attēlā. 2.3. Sauksim iegūto kopu . Atkārtosim šo procedūru daudzas reizes, katrā solī vidējo trešdaļu aizstājot ar diviem jauniem segmentiem. Apzīmēsim ar skaitli, kas iegūts pēc n-tā soļa.

Rīsi. 2.2. Sniegpārsla Koha

Ir intuitīvi skaidrs, ka līkņu secība saplūst ar kādu robežlīkni K. Mēs veiksim stingru matemātisko pētījumu par šādu līkņu secību un citu kopu konverģenci 3.5. sadaļā un pielikumā. A.3. Pagaidām pieņemsim, ka līkne K pastāv, un ņemsim vērā dažas tās īpašības.

Rīsi. 2.3. a B C D)

Ja paņemat K kopiju, kas samazināta trīs reizes, tad no šādām kopijām var izveidot visu K kopu. Līdz ar to pašlīdzības attiecība (2.1) ir izpildīta norādītajam N un , un fraktāļu dimensija būs:

Vēl viena svarīga īpašība, kas piemīt Koha sniegpārslas robežai, ir tās bezgalīgais garums (sk. 2.1.1. teorēmu). Tas var šķist pārsteidzoši lasītājam, kurš ir pieradis rīkoties ar līknēm no aprēķina kursa. Parasti gludas vai vismaz pa daļām gludas, tām vienmēr ir ierobežots garums (ko var pārbaudīt ar integrāciju). Mandelbrots šajā sakarā publicēja vairākus aizraujošus darbus, kas pēta jautājumu par Lielbritānijas piekrastes garuma mērīšanu. Kā modeli viņš izmantoja fraktāļu līkni, kas atgādina sniegpārslas malu, izņemot to, ka tajā tika ieviests nejaušības elements, ņemot vērā nejaušību dabā. Rezultātā izrādījās, ka līknei, kas raksturo krasta līniju, ir bezgalīgs garums.

Raksti par tēmu