Кривая Госпера — Википедия. Что такое Кривая Госпера

Кривая Госпера


Материал из Википедии — свободной энциклопедии

Кривая Госпера, известная также как кривая Пеано-Госпера[1], названная именем Била Госпера[en], — это заполняющая пространство кривая. Кривая является фрактальной кривой, подобной кривым дракона и Гильберта.

Gosper curve 3.svg Gosper curve 1.svg
Четвёртая стадия кривой Госпера Ломаная линия от красной точки до зелёной показывает один шаг построения кривой Госпера.

Алгоритм

Система Линденмайера

Кривую Госпера можно можно представить с помощью системы Линденмайера[en] со следующими правилами:

  • Угол: 60°
  • Аксиома:
  • Правила подстановки:

В этом случае A и B означают движение вперёд, + означает поворот влево на 60º, а — означает поворот на 60º вправо с использованием «черепашьего» стиля программирования, как в Лого.

Лого

Программа на Лого для рисования кривой Госпера с использованием черепашьей графики (онлайн-версия):

to rg :st :ln
make "st :st - 1
make "ln :ln / sqrt 7
if :st > 0 [rg :st :ln rt 60 gl :st :ln  rt 120 gl :st :ln lt 60 rg :st :ln lt 120 rg :st :ln rg :st :ln lt 60 gl :st :ln rt 60]
if :st = 0 [fd :ln rt 60 fd :ln rt 120 fd :ln lt 60 fd :ln lt 120 fd :ln fd :ln lt 60 fd :ln rt 60]
end

to gl :st :ln
make "st :st - 1
make "ln :ln / sqrt 7
if :st > 0 [lt 60 rg :st :ln rt 60 gl :st :ln gl :st :ln rt 120 gl :st :ln rt 60 rg :st :ln lt 120 rg :st :ln lt 60 gl :st :ln]
if :st = 0 [lt 60 fd :ln rt 60 fd :ln fd :ln rt 120 fd :ln rt 60 fd :ln lt 120 fd :ln lt 60 fd :ln]
end

Программу можно запустить, например, командой rg 4 300 или gl 4 300.

Свойства

Заполненные кривой фрагменты плоскости называются островами Госпера. Несколько первых итераций приведены ниже:

Gosper Island 0.svg Gosper Island 1.svg Gosper Island 2.svg Gosper Island 3.svg Gosper Island 4.svg

Остров Госпера может замостить плоскость. Фактически, семь копий острова Госпера можно соединить вместе с образованием похожей фигуры, но увеличенной на множитель √7 во всех направлениях. Как видно из рисунка ниже, эта операция приводит к уменьшенной версии следующей итерации кривой. Продолжение процесса бесконечно даёт замощение плоскости. Сама кривая может быть равным образом расширена на бесконечность с заполнением всей плоскости.

Gosper Island Tesselation 2.svg Gosper Island Tesselation.svg

См. также

Примечания

  1. Weisstein, Eric W. Peano-Gosper Curve. MathWorld. Проверено 31 октября 2013.

Ссылки


Что такое Wiki.cologne Вики является главным информационным ресурсом в интернете. Она открыта для любого пользователя. Вики это библиотека, которая является общественной и многоязычной.

Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License.

Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. wiki.cologne является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).

E-mail: admin@wiki.cologne