← 발견
ASTERXOR / 발견

해안선을 그리지 않고 만든 섬

여러 규모의 변화와 해수면 기준이 숫자를 장소 같은 모양으로 바꾼다.

금색 등고선이 어두운 합성 높이장의 높은 지형을 둘러싼다.
고정 시드의 수학적 높이장이며 실제 섬 지도는 아니다.
발견ASTERXOR / LEON LEUNG

아무도 그리지 않은 해안선은 어디에서 나올까?

그림의 섬은 윤곽선이 아니라 높이 격자에서 시작했다. 큰 파동이 전체 모양을 만들고 작은 파동이 세부를 더한다. 가장자리로 낮아지는 편향은 주변을 물 아래에 둔다. 최종 표면이 해수면과 만나는 곳에 해안선이 나타난다. 손으로 그은 선이 아니라 규칙의 결과다.

해안선은 표면이 기준 높이와 만나는 곳이다.
HEIGHT FIRST

경계보다 높이에서 시작한다

높이장은 각 수평 위치에 고도 하나를 지정한다. 격자는 한 변에 420개 샘플이다. 처음에는 여러 방향과 위상의 매끄러운 코사인파 합만 있다. 이 파동은 수치적 재료이며 바다 파도, 바람, 지질 융기를 시뮬레이션한 것이 아니다.

난수 생성기는 시드 813으로 방향과 위상을 정한다. 같은 시드와 계산을 쓰면 같은 장을 재현한다. 시드가 물리적 사실성을 만들지는 않는다. 선택을 반복 가능하게 해 준다. 모든 재료를 우연히 함께 바꾸지 않고 수정 효과를 비교할 때 유용하다.

시드 파동장, 방사형 높이 편향, 합친 지형.
FIG 01시드 파동장, 방사형 높이 편향, 합친 지형.
MULTIPLE SCALES

여러 규모가 일을 나눈다

네 파동 그룹의 공간 주파수는 1, 2, 4, 8에 비례한다. 각 그룹에는 방향이 다른 여섯 파동이 있다. 고주파 그룹에는 작은 진폭을 주므로 잔물결이 큰 구조를 압도하지 않고 꾸민다. 일반적인 다중 규모 노이즈와 비슷한 생각이지만 여기서는 명확히 유한한 코사인 합을 쓴다.

가장 넓은 항은 큰 언덕과 골짜기의 위치를 정한다. 작은 항은 표면과 가장자리를 거칠게 만든다. 작은 규모만 있으면 복잡하지만 전체 형태가 약해진다. 큰 항만 남기면 지형과 해안이 매끄러워진다. 어느 쪽도 무조건 틀린 것은 아니며 시각적 목적이 다르다.

같은 지형에서 −0.1, 0, 0.1 해수면 등고선.
FIG 02같은 지형에서 −0.1, 0, 0.1 해수면 등고선.
THE ISLAND BIAS

중심에 유리한 조건을 준다

편향 없는 변화만으로는 물에 둘러싸인 섬이 생긴다고 보장할 수 없다. 정규화 좌표에서 중심까지 거리의 제곱에 0.9를 곱해 0.48에서 뺀 방사형 항을 더한다. 가운데를 유리하게 하고 가장자리를 낮춘다. 파동장에는 먼저 0.58을 곱한다.

최종 표면을 해수면 0과 비교한다. 양수 셀은 육지, 음수는 수중이다. 스크립트는 이 시드에서 모든 경계 샘플이 해수면 아래인지 확인한다. 이는 생성된 특정 장의 검증이며 어떤 계수나 시드도 같은 종류의 섬을 만든다는 증명은 아니다.

중앙 단면이 두 재료와 합을 나눠 보여 준다.
FIG 03중앙 단면이 두 재료와 합을 나눠 보여 준다.
THE WATERLINE

수위를 바꾸면 해안이 다시 그려진다

등고선 그림은 지형을 고정하고 해수면 −0.1, 0, 0.1을 그린다. 육지를 재생성한 것이 아니라 다른 높이를 골라 윤곽이 이동한다. 낮은 안부는 한 기준에서 영역을 연결하고 다른 기준에서 분리할 수 있다.

등고선 지도를 이해하는 데 유용하지만 단위는 임의다. 0.1 차이는 0.1미터나 해안 침수 예측을 뜻하지 않는다. 이 장난감 높이장을 실제 위험 모델로 바꾸려면 측량 고도, 수직 기준, 수문학, 불확실성 정보가 필요하다. 이 그림에는 없다.

MISSING GEOLOGY

지도 같은 모습에 빠진 과정들

실제 지형에는 침식, 퇴적, 지각 운동, 암석 강도, 물 흐름의 역사가 담긴다. 색이 풍경처럼 보인다고 매끄러운 무작위 장이 그 기제를 재현하지는 않는다. 강의 연결망과 날카로운 능선에서 단순 높이 조리법의 지질적 한계가 특히 드러난다.

게임이나 그림에서는 이 한계가 괜찮을 수 있다. 설계자는 지구과학 모델보다 매력적인 윤곽, 이동 가능한 경사, 뚜렷한 지표를 원할 수 있다. 다음 단계는 그런 목표를 직접 시험하는 것이다. 예쁜 높이 지도만으로 캐릭터가 건너갈 수 있거나 비가 예상대로 빠진다고 입증되지는 않는다.

A CREATIVE RECIPE

재현성은 시각 탐색을 분명하게 한다

단면은 수평선 하나를 따라 파동 기여, 방사형 편향, 최종 높이를 나눠 보여 준다. 색 지형 그림에 섞인 재료를 드러낸다. 시드를 유지하면서 계수 하나만 바꾸면 해안 변화가 어느 선택에서 왔는지 알기 쉽다.

풍경 밖에서도 유용한 창작 방식이다. 연속장을 정의하고 이해할 수 있는 몇 영향을 합친 뒤 경계를 고른다. 풍부한 결과가 꼭 신비로울 필요는 없다. 간접적으로 나타나기에 해안을 발견한 듯 느껴지지만 모든 굴곡은 확인하고 바꿀 수 있는 규칙에서 나온다.

더 읽어 보기

NVIDIA GPU Gems 3: Generating complex procedural terrains ↗NumPy: Random generator ↗

공식 문서와 함께 읽으면 좋은 자료입니다.

가져갈 생각 하나

섬이 난수 속에 숨어 있던 것은 아니다. 난수 주위에 놓은 선택이 섬을 만들었다.