고스퍼 곡선
Gosper curve피아노-고스퍼 [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(주문, 크기)
특성.
곡선으로 채워진 공간을 고스퍼 섬이라고 합니다.처음 몇 번의 반복은 다음과 같습니다.
![]() | ![]() | ![]() | ![]() | ![]() |
고스퍼 섬은 비행기에 타일을 칠 수 있다.사실, 고스퍼 섬의 7개의 복사본은 비슷한 모양을 만들기 위해 결합될 수 있지만, 모든 면에서 7배 정도 확장될 수 있습니다.아래 그림에서 알 수 있듯이 섬의 중간 반복을 사용하여 이 작업을 수행하면 다음 반복의 스케일업 버전으로 이어집니다.이 프로세스를 무한정 반복하면 평면의 테셀레이션이 생성됩니다.마찬가지로 곡선 자체는 전체 평면을 채우는 무한 곡선까지 확장할 수 있습니다.
![]() | ![]() |
「 」를 참조해 주세요.
레퍼런스
- ^ Weisstein, Eric W. "Peano-Gosper Curve". MathWorld. Retrieved 31 October 2013.
- ^ 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.
외부 링크
- 새로운 GoSPER 공간 채우기 곡선
- 프랙탈 드 고스퍼(프랑스어)
- 울프람 매스월드의 고스퍼 섬
- 플로우네이크 by R.윌리엄 고스퍼