Křivka Lévy C. - Lévy C curve
v matematika, Křivka Lévy C. je podobný fraktální křivka který byl poprvé popsán a jehož rozlišitelnost vlastnosti byly analyzovány Ernesto Cesàro v roce 1906 a Georg Faber v roce 1910, ale nyní nese jméno francouzština matematik Paul Lévy, který ji popsal jako první sebepodobnost nemovitosti v roce 1937,[1] stejně jako poskytnout geometrickou konstrukci zobrazující ji jako reprezentativní křivku ve stejné třídě jako Kochova křivka. Jedná se o speciální případ křivky zdvojnásobení období, a de Rhamova křivka.
Konstrukce L-systému


Pokud používáte a Systém Lindenmayer potom konstrukce křivky C začíná přímkou. An rovnoramenný trojúhelník s úhly 45 °, 90 ° a 45 ° je sestaven pomocí této přímky jako její přepona. Původní čára je poté nahrazena dalšími dvěma stranami tohoto trojúhelníku.
Ve druhé fázi tvoří dvě nové čáry základnu pro další pravoúhlý rovnoramenný trojúhelník a jsou nahrazeny dalšími dvěma stranami jejich příslušného trojúhelníku. Takže po dvou fázích má křivka vzhled tří stran obdélníku se stejnou délkou jako původní čára, ale pouze z poloviny tak široká.
V každé následující fázi je každý přímkový segment v křivce nahrazen dalšími dvěma stranami na něm postaveného pravoúhlého rovnoramenného trojúhelníku. Po n fáze se křivka skládá ze 2n úsečkové segmenty, z nichž každý je faktorem 2 menší než původní čáran/2.
Tento L-systém lze popsat následovně:
Proměnné: | F |
Konstanty: | + − |
Start: | F |
Pravidla: | F → + F −− F + |
kde "F„znamená„ táhnout dopředu “,„ + “znamená„ otočit o 45 ° ve směru hodinových ručiček “a„ - “znamená„ otočit o 45 ° proti směru hodinových ručiček “.
The fraktální křivka to je limitem tohoto „nekonečného“ procesu je Lévyho křivka. Název je odvozen od podoby s vysoce zdobenou verzí písmene „C“. Křivka se podobá jemnějším detailům Pythagorův strom.
The Hausdorffova dimenze křivky C se rovná 2 (obsahuje otevřené množiny), zatímco hranice má rozměr asi 1,9340 [2].
Variace
Standardní křivka C je vytvořena pomocí rovnoramenných trojúhelníků 45 °. Varianty křivky C lze sestrojit pomocí rovnoramenných trojúhelníků s úhly jinými než 45 °. Pokud je úhel menší než 60 °, jsou nové čáry zavedené v každé fázi kratší než čáry, které nahrazují, takže stavební proces má sklon k mezní křivce. Úhly menší než 45 ° vytvářejí fraktál, který je méně pevně „zvlněný“.
Konstrukce IFS

Pokud používáte iterovaný funkční systém (IFS nebo chaos hra Vlastně metoda IFS), pak je konstrukce C křivky o něco jednodušší. Bude potřebovat sadu dvou „pravidel“, která jsou: Dvě bodů v letadlo (dále jen překladatelé ), každý spojený s a měřítko z 1 /√2. Prvním pravidlem je rotace o 45 ° a druhým −45 °. Tato sada bude opakovat bod [X, y] z náhodného výběru kteréhokoli ze dvou pravidel a pomocí parametrů přidružených k pravidlu měřítko / otočení a překlad bodu pomocí 2D-přeměnit funkce.
Vložte do vzorců:
od počáteční sady bodů .
Ukázková implementace Levyho křivky
// Java Sample Implementation of Levy C Curveimport java.awt.Color;import java.awt. Grafika;import java.awt.Graphics2D;import javax.swing.JFrame;import javax.swing.JPanel;import java.util.concurrent.ThreadLocalRandom;veřejnost třída C_curve rozšiřuje JPanel { veřejnost plovák X, y, len, alpha_angle; veřejnost int iterace_n; veřejnost prázdnota malovat(Grafika G) { Graphics2D g2d = (Graphics2D) G; c_curve(X, y, len, alpha_angle, iterace_n, g2d); } veřejnost prázdnota c_curve(dvojnásobek X, dvojnásobek y, dvojnásobek len, dvojnásobek alpha_angle, int iterace_n, Graphics2D G) { dvojnásobek fx = X; dvojnásobek fy = y; dvojnásobek délka = len; dvojnásobek alfa = alpha_angle; int it_n = iterace_n; -li (it_n > 0) { délka = (délka / Matematika.čtv(2)); c_curve(fx, fy, délka, (alfa + 45), (it_n - 1), G); // Rekurzivní volání fx = (fx + (délka * Matematika.cos(Matematika.Radianům(alfa + 45)))); fy = (fy + (délka * Matematika.hřích(Matematika.Radianům(alfa + 45)))); c_curve(fx, fy, délka, (alfa - 45), (it_n - 1), G); // Rekurzivní volání } jiný { Barva[] A = {Barva.ČERVENÉ, Barva.ORANŽOVÝ, Barva.MODRÝ, Barva.TMAVĚ ŠEDÁ}; G.setColor(A[ThreadLocalRandom.proud().nextInt(0, A.délka)]); // Pro výběr různých barevných hodnot G.drawLine((int) fx, (int) fy, (int) (fx + (délka * Matematika.cos(Matematika.Radianům(alfa)))), (int) (fy + (délka * Matematika.hřích(Matematika.Radianům(alfa))))); } } veřejnost statický prázdnota hlavní(Tětiva[] args) { C_curve bodů = Nový C_curve(); bodů.X = 200; // Uvedení hodnoty x bodů.y = 100; // Uvedení hodnoty y bodů.len = 150; // Uvedení hodnoty délky bodů.alpha_angle = 90; // Uvedení hodnoty úhlu bodů.iterace_n = 15; // Uvedení hodnoty iterace JFrame rám = Nový JFrame(„Body“); rám.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); rám.přidat(bodů); rám.setSize(500, 500); rám.setLocationRelativeTo(nula); rám.setVisible(skutečný); }}
Viz také
Reference
- Paul Lévy, Rovinné nebo kosmické křivky a povrchy skládající se z částí podobných celé (1938), přetištěno v Klasika na fraktálech Gerald A. Edgar vyd. (1993) Addison-Wesley Publishing ISBN 0-201-58701-7.
- E. Cesaro, Fonkce pokračují sans dérivée, Archiv der Math. und Phys. 10 (1906), str. 57–63.
- G. Faber, Über stetige Funktionen IIMath Annalen, 69 (1910), str. 372–443.
- S. Bailey, T. Kim, R. S. Strichartz, Uvnitř draka Lévyho, Americký matematický měsíčník 109(8) (2002), str. 689–703