Кривая Серпинского

Кривые Серпинского — это рекурсивно определённая последовательность непрерывных замкнутых плоских фрактальных кривых, открытых Вацлавом Серпинским. Кривая в пределе при полностью заполняет единичный квадрат, так что предельная кривая, также называемая кривой Серпинского, является примером заполняющих пространство кривых.

Поскольку кривая Серпинского заполняет пространство, её размерность Хаусдорфа (в пределе при ) равна .
Евклидова длина кривой

равна ,

т. е. она растёт экспоненциально по , а предел при площади области, заключённой кривой , составляет квадрата (в евклидовой метрике).

Кривая Серпинского, первый шаг
Кривая Серпинского, шаги 1 и 2
Кривая Серпинского, шаги с 1 по 3

Использование кривой

Кривая Серпинского полезна для некоторых практических приложений, поскольку она более симметрична по сравнению с другими обычно рассматриваемыми заполняющими пространство кривыми. Например, она использовалась в качестве базиса для быстрого построения приближённого решения задачи коммивояжёра (которая ищет кратчайший обход заданных точек) — эвристическое решение заключается в посещении точек в той последовательности, в какой они встречаются на кривой Серпинского[1]. Для осуществления требуется два шага. Сначала вычисляется обратная позиция каждой точки, затем значения сортируются. Эта идея использовалась для системы маршрутизации коммерческих машин, которая базировалась только на карточках Rolodex[2].

На основе кривой Серпинского могут быть реализованы вибраторные либо печатные конструкции антенн[3].

Построение кривой

Заполняющая пространство кривая является непрерывным отображением единичного интервала в единичный квадрат и (псевдо) обратным отображением единичного квадрата в единичный интервал. Один из способов построения псевдообратного отображения следующий. Пусть нижний левый угол (0, 0) единичного квадрата соответствует 0.0 (и 1.0). Тогда верхний левый угол (0, 1) должен соответствовать 0.25, верхний правый угол (1, 1) — 0.50, а нижний правый угол (1, 0) — 0.75. Прообраз внутренних точек вычисляется с использованием рекурсивной структуры кривой. Ниже приведена функция на Java, вычисляющая относительное положение любой точки на кривой Серпинского (то есть, псевдообратное значение). Функция принимает координаты точки (x, y) и углы заключающего прямоугольного равнобедренного треугольника (ax, ay), (bx, by) и (cx, cy) (Заметим, что единичный квадрат является объединением двух таких треугольников). Остальные параметры определяют уровень точность вычислений.

    static long sierp_pt2code( double ax, double ay, double bx, double by, double cx, double cy,
        int currentLevel, int maxLevel, long code, double x, double y ) 
    {
        if (currentLevel <= maxLevel) {
            currentLevel++;
            if ((sqr(x-ax) + sqr(y-ay)) < (sqr(x-cx) + sqr(y-cy))) {
                code = sierp_pt2code( ax, ay, (ax+cx)/2.0, (ay+cy)/2.0, bx, by,
                    currentLevel, maxLevel, 2 * code + 0, x, y );
            }
            else {
                code = sierp_pt2code( bx, by, (ax+cx)/2.0, (ay+cy)/2.0, cx, cy,
                    currentLevel, maxLevel, 2 * code + 1, x, y );
            }
        }
        return code;    
    }

Следующий апплет на языке Java рисует кривую Серпинского с помощью четырёх взаимно рекурсивных методов (методов, вызывающих друг друга):

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;

public class SierpinskyCurve extends Applet {

    private SimpleGraphics sg = null;
    private int dist0 = 128, dist;
    private Image offscrBuf;
    private Graphics offscrGfx;

    public void init() {
        sg = new SimpleGraphics(getGraphics());
        dist0 = 100;
        resize(4 * dist0, 4 * dist0);
    }

    public void update(Graphics g) {
        paint(g);
    }

    public void paint(Graphics g) {

        if (g == null)
            throw new NullPointerException();

        if (offscrBuf == null) {
            offscrBuf = createImage(this.getWidth(), this.getHeight());
            offscrGfx = offscrBuf.getGraphics();
            sg.setGraphics(offscrGfx);
        }

        int level = 3;
        dist = dist0;
        for (int i = level; i > 0; i--)
            dist /= 2;
        sg.goToXY(2 * dist, dist);
        sierpA(level); // start recursion
        sg.lineRel('X', +dist, +dist);
        sierpB(level); // start recursion
        sg.lineRel('X', -dist, +dist);
        sierpC(level); // start recursion
        sg.lineRel('X', -dist, -dist);
        sierpD(level); // start recursion
        sg.lineRel('X', +dist, -dist);

        g.drawImage(offscrBuf, 0, 0, this);

    }

    private void sierpA(int level) {
        if (level > 0) {
            sierpA(level - 1);
            sg.lineRel('A', +dist, +dist);
            sierpB(level - 1);
            sg.lineRel('A', +2 * dist, 0);
            sierpD(level - 1);
            sg.lineRel('A', +dist, -dist);
            sierpA(level - 1);
        }
    }

    private void sierpB(int level) {
        if (level > 0) {
            sierpB(level - 1);
            sg.lineRel('B', -dist, +dist);
            sierpC(level - 1);
            sg.lineRel('B', 0, +2 * dist);
            sierpA(level - 1);
            sg.lineRel('B', +dist, +dist);
            sierpB(level - 1);
        }
    }

    private void sierpC(int level) {
        if (level > 0) {
            sierpC(level - 1);
            sg.lineRel('C', -dist, -dist);
            sierpD(level - 1);
            sg.lineRel('C', -2 * dist, 0);
            sierpB(level - 1);
            sg.lineRel('C', -dist, +dist);
            sierpC(level - 1);
        }
    }

    private void sierpD(int level) {
        if (level > 0) {
            sierpD(level - 1);
            sg.lineRel('D', +dist, -dist);
            sierpA(level - 1);
            sg.lineRel('D', 0, -2 * dist);
            sierpC(level - 1);
            sg.lineRel('D', -dist, -dist);
            sierpD(level - 1);
        }
    }
}

class SimpleGraphics {
    private Graphics g = null;
    private int x = 0, y = 0;

    public SimpleGraphics(Graphics g) {
        setGraphics(g);
    }

    public void setGraphics(Graphics g) {
        this.g = g;
    }

    public void goToXY(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public void lineRel(char s, int deltaX, int deltaY) {
        g.drawLine(x, y, x + deltaX, y + deltaY);
        x += deltaX;
        y += deltaY;
    }
}

Следующая программа на языке Лого рисует кривую Серпинского с использованием рекурсии.

to half.sierpinski :size :level
 if :level = 0 [forward :size stop]
 half.sierpinski :size :level - 1
 left 45
 forward :size * sqrt 2 
 left 45
 half.sierpinski :size :level - 1
 right 90
 forward :size 
 right 90
 half.sierpinski :size :level - 1
 left 45
 forward :size * sqrt 2 
 left 45
 half.sierpinski :size :level - 1
end
to sierpinski :size :level
 half.sierpinski :size :level
 right 90
 forward :size
 right 90
 half.sierpinski :size :level
 right 90
 forward :size
 right 90
end

См. также

Примечания

  1. Platzman, Bartholdi, 1989.
  2. Bartholdi.
  3. Слюсар, В. Фрактальные антенны. Принципиально новый тип «ломаных» антенн. Часть 2. Электроника: наука, технология, бизнес. — 2007. — № 6. С. 82—89. (2007). Дата обращения: 22 апреля 2020. Архивировано 3 апреля 2018 года.

Литература

Read other articles:

Марліс ван Вюрен Народилася 14 травня 1976(1976-05-14) (47 років)НамібіяКраїна  Намібія[1]Діяльність захисниця довкілляУ шлюбі з Rudie van Vuurend Марліс Елрета Дженсен ван Вюрен, уроджена ван дер Меруе (нар. 14 травня 1976(19760514)) — захисниця природи у Намібії. Разом зі своїм чолов...

 

Spelset Backgammon is een hedendaagse variant van een eeuwenoud bordspel voor twee tegenstanders, die hun speelschijven zo snel mogelijk naar het laatste kwart van het bord willen brengen om ze daarna uit het spel te nemen. waarbij het eindpunt van de een het beginpunt van de ander is. Dobbelstenen brengen een toevalselement in, maar de schijven kunnen die van de tegenstander blokkeren of slaan, zodat strategie ook een rol speelt. Het is een van de oudst bekende spelen ter wereld en de regels...

 

Đào Chiến Thắngthumb|Chức vụChánh án Tòa án nhân dân tỉnh Lâm ĐồngNhiệm kỳ4 tháng 9 năm 2015 – nay8 năm, 92 ngàyTiền nhiệmVõ Minh PhươngKế nhiệmđương nhiệmVị tríTỉnh Lâm Đồng Phó Chánh án Tòa án nhân dân tỉnh Lâm ĐồngNhiệm kỳ – 4 tháng 9 năm 2015 Thẩm phán, Chánh án Tòa án nhân dân thành phố Đà Lạt, tỉnh Lâm ĐồngNhiệm kỳ5 tháng 10 năm 2010 –...

Latasha HarahapLahir16 Maret 1996 (umur 27) Seattle, Amerika SerikatPendidikanUniversity of California, Berkeley, London School of EconomicsPekerjaanpenyanyi, ModelTahun aktif2011 - sekarang Latasha Safira Harahap (lahir 16 Maret 1996) merupakan seorang penyanyi berkebangsaan Indonesia. Dia menjadi terkenal saat menyanyikan lagu utamanya yang berjudul Damai Di Dunia. Dia berkarier di dunia musik sejak tahun 2011. Lagu Damai Di Dunia (2011) Falling in Love (2013) Pergi Saja (2014) Mo...

 

Marriage arranged for diplomatic purposes A marriage of state is a diplomatic marriage or union between two members of different nation-states or internally, between two power blocs, usually in authoritarian societies and is a practice which dates back into ancient times, as far back as early Grecian cultures in western society, and of similar antiquity in other civilizations. The fable of Helen of Troy may be the best known classical tale reporting an incidence of surrendering a female membe...

 

『牧場の聖母』ドイツ語: Madonna im Grünen英語: Madonna del Prato作者ラファエロ・サンツィオ製作年1506年ごろ種類油彩、板寸法113 cm × 88 cm (44 in × 35 in)所蔵美術史美術館、ウィーン 『牧場の聖母』(まきばのせいぼ、独: Madonna im Grünen, 英: Madonna del Prato)の名前で知られる『聖母子と幼児の洗礼者聖ヨハネ』(英: Madonna with the Christ Child ...

Tyler BrûléLahir25 November 1968 (umur 55)Winnipeg, Manitoba, KanadaKebangsaanKanadaPekerjaanJurnalisDikenal atasMeluncurkan majalah Wallpaper* & Monocle. Kolom Fast Lane dalam koran Financial Times. Jayson Tyler Brûlé (lahir 25 November 1968)[1] adalah wartawan, pengusaha, dan penerbit majalah Kanada. Ia adalah editor-in-chief dari Monocle dan penulis kolom untuk Weekend FT. Awal hidup Satu-satunya anak pemain sepak bola Kanada, Paul Brule[2] (dari Winnipeg Blue ...

 

Mistrzostwa Afryki w Piłce Siatkowej Mężczyzn 20192019 Men's African Nations Volleyball Championship 2017 2021 Dyscyplina piłka siatkowa Organizator CAVB Szczegóły turnieju Gospodarz  Tunezja Otwarcie 21 lipca 2019 Zamknięcie (finał) 28 lipca 2019 Liczba drużyn 10 Liczba obiektów 1 (w 1 mieście) I miejsce  Tunezja II miejsce  Kamerun III miejsce  Algieria Statystyki turnieju Liczba meczów 29 Najlepszy zawodnik (MVP) Hamza Nagga Strona internetowa Mistrzostwa Af...

 

Location of Taiwan The non-marine mollusks of Taiwan are a part of the molluscan fauna of Taiwan. A number of species of non-marine mollusks are found in the wild in Taiwan. Summary table of number of species Taiwan freshwater gastropods ?? land gastropods 329 land snails[1] + some slugs gastropods altogether ??? bivalves ?? molluscs altogether ??? Land gastropods an unidentified land snail from Taiwan an unidentified land snail from Taiwan an unidentified land snail from Taiwan Subul...

Bundesdelegiertenkonferenz Hamburg 2014 Die Bundesdelegiertenkonferenz (BDK) oder Bundesversammlung ist das oberste Beschlussorgan der Partei Bündnis 90/Die Grünen (bis zur Vereinigung mit dem Bündnis 90 1993 Die Grünen) und entspricht dem Bundesparteitag anderer Parteien. Die offizielle Bezeichnung des Bundesparteitages ist laut Satzung Bundesversammlung, im allgemeinen Sprachgebrauch ist aber der Terminus Bundesdelegiertenkonferenz üblich. Auf ihr wählen die Delegierten den Bundesvors...

 

The Occult ReviewTypeJournalFormatMonthlyOwner(s)Ralph ShirleyPublisherRider & Co.EditorRalph ShirleyFounded1905LanguageEnglishCeased publication1951HeadquartersLondon, UK The Occult Review was a British illustrated monthly magazine published between 1905 and 1951 containing articles and correspondence by many notable occultists and authors of the day, including Aleister Crowley, Meredith Starr, Walter Leslie Wilmshurst, Arthur Edward Waite, Franz Hartmann, Florence Farr, Phyllis Campbell...

 

Village in West Suffolk, England Human settlement in EnglandBarnhamThe church of St Gregory, BarnhamBarnhamLocation within SuffolkPopulation606 (2011 census)[1]OS grid referenceTL869793DistrictWest SuffolkShire countySuffolkRegionEastCountryEnglandSovereign stateUnited KingdomPost townThetfordPostcode districtIP24PoliceSuffolkFireSuffolkAmbulanceEast of England UK ParliamentWest Suffolk List of places UK England Suffolk 52°22′48″N 0°44′49″E...

American medium tank widely used during World War 2 Medium Tank, M4 An M4 (105) Sherman tank with spare track-links welded on its front for additional armor protection, preserved at the Langenberg Liberation Memorial in Ede, NetherlandsTypeMedium tankPlace of originUnited StatesService historyIn service1942–2018[a]1942–1957 (United States)Used byUnited States, and many others (see Foreign variants and use)Wars World War II Indonesian National Revolution Greek C...

 

Aufmarsch des Republikanischen Schutzbundes am 7. Oktober 1928 in Wiener Neustadt, siehe Aufmarsch der Heimwehr und des Schutzbundes in Wiener Neustadt Der Republikanische Schutzbund (SchB) war die 1923/24 gegründete paramilitärische Organisation der österreichischen Sozialdemokratischen Arbeiterpartei (SDAP). Inhaltsverzeichnis 1 Geschichte 2 Museale Rezeption 3 Einzelnachweise 4 Literatur 5 Siehe auch 6 Weblinks Geschichte Hervorgegangen war der Republikanische Schutzbund zum Teil aus de...

 

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada.Este aviso fue puesto el 19 de agosto de 2021. Escudo nacional de la República de Sudán del Sur InformaciónEntidad  República de Sudán del SurFecha de adopción 2011DescripciónBlasón Escudo tradicional africano de color oro, atravesado por una lanza y una pala en su parte posterior.Timbre Águila pescadora africana, mirando a la derecha.Lema Justice, Liberty, Prosperity (Justicia, Libertad,...

Taub MumuAlbum studio karya Marcello TahitoeDirilis14 Maret 2012Direkam2011-2012GenrePop, rockLabelSony Music Entertainment IndonesiaSwara Sangkar EmasKronologi Marcello Tahitoe Realistis/Idealis(2009)Realistis/Idealis2009 Taub Mumu (2012) Jalur Alternatif(2016)Jalur Alternatif2016 Taub Mumu merupakan album musik ketiga karya Marcello Tahitoe. Dirilis pada tahun 2012. Lagu utamanya ialah Yang Ku Nanti dijadikan lagu tema sinetron televisi Cinta Salsabilla dan Gak Kayak Mantanmu. Berbeda d...

 

Hospital in Highland, ScotlandRaigmore HospitalNHS HighlandThe tower at Raigmore HospitalShown in InvernessGeographyLocationInverness, Highland, ScotlandCoordinates57°28′25″N 4°11′35″W / 57.4736°N 4.1930°W / 57.4736; -4.1930OrganisationCare systemNHS ScotlandFundingScottish GovernmentTypeAcute GeneralAffiliated universityUniversity of AberdeenUniversity of StirlingServicesEmergency departmentYesBeds452HelipadYesHistoryOpened1941 (original site) 1970 (curren...

 

2003 Battle in the Iraq War Battle of Al Hillah (2003)Part of 2003 Invasion of IraqUS Marines in Al HillahDate31 March – 2 April 2003LocationHillah, IraqResult U.S. victory Destruction of the Medina Division.Belligerents  United States United Kingdom Poland  IraqCommanders and leaders Joseph Anderson Brian Burridge UnknownUnits involved 10th Mountain Division 1st Marine Division 101st Airborne Division 502nd Infantry Regiment Royal Air Force JW GROM 2nd Al Medina Armored...

Memorial hall in Xinyi, Taipei, Taiwan This article is about the Sun Yat-sen Memorial Hall in Taipei, Taiwan. For the one of the same name in Guangzhou, People's Republic of China, see Sun Yat-sen Memorial Hall (Guangzhou). For the one in Singapore, see Sun Yat Sen Nanyang Memorial Hall. This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Sun Yat-sen Memorial Hall&...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may have been created or edited in return for undisclosed payments, a violation of Wikipedia's terms of use. It may require cleanup to comply with Wikipedia's content policies, particularly neutral point of view. (September 2021) Some of this article's listed sources may not be reliable. Please help this article by looking for b...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!