고스퍼 곡선

Gosper curve
4단 고스퍼 곡선
빨간색에서 녹색 점까지의 선은 Gosper 곡선 구조의 단일 단계를 나타냅니다.

피아노-고스퍼 [1]곡선으로도 알려진 Gosper 곡선은 Flowsnake로도 알려진 Bill Gosper이름을 딴 공간 채우기 곡선으로, 한계값은 rep-7이다.용곡선이나 힐버트곡선과 구조가 비슷한 프랙탈곡선입니다.

Gosper 곡선은 효율적인 계층형 육각형 클러스터링 [2]및 인덱싱에도 사용할 수 있습니다.

알고리즘.

린덴마이어계

Gosper 곡선은 다음과 같은 규칙이 있는 L 시스템을 사용하여 나타낼 수 있습니다.

  • 각도: 60°
  • Axiom: A
  • 대체 규칙:

이 경우 A와 B 모두 로고와 같은 "거북이" 형식의 프로그램을 사용하여 +는 왼쪽으로 60도, -는 오른쪽으로 60도 돌기를 의미합니다.

거북이 그래픽을 사용하여 Gosper 곡선을 그리는 로고 프로그램:

로. rg :세인트 :  만들다 "st:st - 1  만들다 "ln : ln / sqrt 7  한다면 :세인트 > 0 [rg :세인트 : rt 60 반짝반짝 :세인트 :  rt 120 반짝반짝 :세인트 : 그것 60 rg :세인트 : 그것 120 rg :세인트 : rg :세인트 : 그것 60 반짝반짝 :세인트 : rt 60]  한다면 :세인트 = 0 [fd : rt 60 fd : rt 120 fd : 그것 60 fd : 그것 120 fd : fd : 그것 60 fd : rt 60] 끝.   로. 반짝반짝 :세인트 :  만들다 "st:st - 1  만들다 "ln : ln / sqrt 7  한다면 :세인트 > 0 [그것 60 rg :세인트 : rt 60 반짝반짝 :세인트 : 반짝반짝 :세인트 : rt 120 반짝반짝 :세인트 : rt 60 rg :세인트 : 그것 120 rg :세인트 : 그것 60 반짝반짝 :세인트 :]  한다면 :세인트 = 0 [그것 60 fd : rt 60 fd : fd : rt 120 fd : rt 60 fd : 그것 120 fd : 그것 60 fd :] 끝. 

예를 들어 다음과 같이 프로그램을 호출할 수 있습니다.rg 4 300또는 다른 방법으로gl 4 300.

파이썬

에서 언급한 L-System 규칙을 사용하는 Python 프로그램은 거북이 그래픽(온라인 버전)을 사용하여 Gosper 곡선을 그립니다.

수입품 거북이  방어하다 gosper_module(주문: 인트, 크기: 인트, A.: 부울 = 진실의) -> 없음.:     "고스퍼 곡선을 그립니다."""     한다면 주문 == 0:         거북이.앞으로(크기)         돌아가다     위해서 동작  "A-B-B+A++AA+B-" 한다면 A. 또 다른 "+A-BB--B-A++A+B":         gosper_op_map[동작](주문 - 1, 크기)  gosper_op_map = {     "A": 람다 o, 크기: gosper_module(o, 크기, 진실의),     'B': 람다 o, 크기: gosper_module(o, 크기, 거짓의),     "-": 람다 o, 크기: 거북이.맞다(60),     "+": 람다 o, 크기: 거북이.왼쪽(60), } 크기 = 10 주문 = 3 gosper_module(주문, 크기) 

특성.

곡선으로 채워진 공간을 고스퍼 섬이라고 합니다.처음 몇 번의 반복은 다음과 같습니다.

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

고스퍼 섬은 비행기에 타일을 칠 수 있다.사실, 고스퍼 섬의 7개의 복사본은 비슷한 모양을 만들기 위해 결합될 수 있지만, 모든 면에서 7배 정도 확장될 수 있습니다.아래 그림에서 알 수 있듯이 섬의 중간 반복을 사용하여 이 작업을 수행하면 다음 반복의 스케일업 버전으로 이어집니다.이 프로세스를 무한정 반복하면 평면의 테셀레이션이 생성됩니다.마찬가지로 곡선 자체는 전체 평면을 채우는 무한 곡선까지 확장할 수 있습니다.

Gosper Island Tesselation 2.svg Gosper Island Tesselation.svg

「 」를 참조해 주세요.

레퍼런스

  1. ^ Weisstein, Eric W. "Peano-Gosper Curve". MathWorld. Retrieved 31 October 2013.
  2. ^ Uher, Vojtěch; Gajdoš, Petr; Snášel, Václav; Lai, Yu-Chi; Radecký, Michal (28 May 2019). "Hierarchical Hexagonal Clustering and Indexing". Symmetry. 11 (6): 731. doi:10.3390/sym11060731.

외부 링크