2026. 4. 23.

Grasshopper 패턴 만들기 — 반복 배열 기초

Grasshopper 패턴 만들기 — 반복 배열 기초

그래스호퍼(Grasshopper)가 라이노 직접 모델링보다 압도적으로 유리한 상황이 반복 배열이다. 같은 형상을 수십, 수백 개 배치해야 할 때 라이노에서 Array로 하나씩 처리하면 수정할 때마다 처음부터 다시 해야 한다. Grasshopper는 슬라이더 하나로 개수와 간격을 즉시 바꿀 수 있다. 반복 배열의 기본 패턴 세 가지를 정리한다.

1. 직선 배열 — Linear Array

구성

  • Number Slider (간격)
  • Number Slider (개수)
  • Series — 등차수열 생성
  • Unit X — X 방향 벡터
  • Move — 기준 형상을 각 거리만큼 이동
  • 배열 결과

Series 컴포넌트

더블클릭 → "series" 검색
입력: S — 시작값 (기본 0), N — 간격, C — 개수
출력: S — 수열 [0, N, 2N, 3N...]

Move 컴포넌트

더블클릭 → "move" 검색
입력: G — 이동할 형상, T — 이동 벡터
출력: G — 이동된 형상, X — 이동 벡터

Unit X / Y / Z 컴포넌트

더블클릭 → "unit x" 검색
입력: F — 거리
출력: V — X 방향 벡터

전체 연결

Circle (기준 형상) ↓ G Move ↓ T Amplitude (Unit X × Series 출력)
슬라이더로 간격과 개수를 바꾸면 배열이 즉시 업데이트된다.

2. 격자 배열 — Grid Array

X, Y 방향으로 동시에 배열하는 패턴이다.

구성

  • Series (X 방향) → Move (X 방향)
  • Series (Y 방향) → Move (Y 방향)
  • Cross Reference — X, Y 모든 조합 생성

Cross Reference 컴포넌트

더블클릭 → "cross reference" 검색
두 리스트의 모든 조합을 만든다.
  • 입력 A: [0, 1, 2] (X 위치)
  • 입력 B: [0, 1, 2] (Y 위치)
  • 출력: A: [0,0,0,1,1,1,2,2,2], B: [0,1,2,0,1,2,0,1,2] → 3×3 격자의 모든 조합

Construct Point로 격자 점 생성

  • Cross Reference 출력 A → Construct Point X
  • Cross Reference 출력 B → Construct Point Y
  • 격자 점 배열 생성

3. 원형 배열 — Polar Array

중심점을 기준으로 원형으로 배열하는 패턴이다.

구성

  • Number Slider (개수 N)
  • Range (0 ~ 2π를 N등분)
  • Rotate (기준 형상을 각 각도로 회전)
  • 원형 배열 결과

Range 컴포넌트

더블클릭 → "range" 검색
입력: D — 도메인 (0 to 360 또는 0 to 2π), N — 분할 수
출력: R — 등간격 숫자 배열

Rotate 컴포넌트

더블클릭 → "rotate" 검색
입력: G — 회전할 형상, A — 각도 (라디안), P — 회전 중심점
출력: G — 회전된 형상
실무 팁: Grasshopper에서 각도는 기본으로 라디안을 쓴다. 도(degree)로 입력하려면 Deg to Rad 컴포넌트를 거쳐서 변환한다.

4. 커브 위 배열 — Array on Curve

커브를 따라 형상을 배열한다. 라이노의 ArrayCrv와 같은 기능이다.

구성

  • Curve (경로 커브)
  • Divide Curve (N등분) ↓ P (분할점) ↓ T (접선 벡터)
  • Orient (기준 형상을 각 점에 배치)
  • 커브 따라 배열된 형상

Orient 컴포넌트

더블클릭 → "orient" 검색
입력: G — 배치할 형상, A — 기준 평면 (원래 위치), B — 목적 평면 (배치할 위치)
출력: G — 배치된 형상
Divide Curve의 출력 T(접선 벡터)로 목적 평면을 만들면 형상이 커브 방향에 맞춰 회전하면서 배열된다.

5. 서페이스 위 배열 — Array on Surface

서페이스를 격자로 분할하고 각 점에 형상을 배치한다. 비정형 파사드 패널링의 기본 패턴이다.

구성

  • Surface (파사드 서페이스)
  • Divide Surface (U×V 분할) ↓ P (격자 점) ↓ N (법선 벡터)
  • Orient (패널 형상을 각 점에 배치)
  • 서페이스 위 패널 배열
슬라이더로 U, V 분할 수를 바꾸면 패널 밀도가 즉시 바뀐다.

6. 조건부 패턴 — 홀짝 필터링

배열된 형상 중 홀수 / 짝수 번째만 선택해서 다른 처리를 하는 패턴이다.

구성

  • Series → List
  • Cull Pattern (True/False 패턴으로 필터링)
  • 홀수 인덱스 형상 / 짝수 인덱스 형상 분리

Cull Pattern 컴포넌트

더블클릭 → "cull pattern" 검색
입력: L — 리스트, P — True/False 패턴 (예: {True, False, True, False})
출력: L — 필터링된 리스트
실무 팁: 파사드에서 홀짝으로 패널을 다르게 처리할 때 Cull Pattern을 쓴다. 예를 들어 홀수 패널은 열림, 짝수 패널은 닫힘으로 설정하는 루버 패턴을 만들 수 있다.

7. 실무 적용 예시 — 루버 파사드

수직 루버가 일정 각도로 기울어진 파사드 패턴이다.
  • 1. 파사드 서페이스 준비
  • 2. Divide Surface → U×V 분할점 추출
  • 3. 각 점에 직사각형 패널 배치 (Orient)
  • 4. Number Slider → 루버 각도 설정
  • 5. Rotate → 각 패널을 같은 각도로 회전
  • 6. OffsetSrf → 패널 두께 적용
  • → 슬라이더로 루버 각도 실시간 조정

정리

패턴 핵심 컴포넌트
직선 배열 Series + Move
격자 배열 Cross Reference + Construct Point
원형 배열 Range + Rotate
커브 위 배열 Divide Curve + Orient
서페이스 위 배열 Divide Surface + Orient
조건부 필터 Cull Pattern

관련글


댓글 없음:

댓글 쓰기