Rhino&Grasshopper : Curved Surface
INTRO
그래스호퍼는 비주얼 프로그래밍 방식의 파라메트릭 디자인 도구로, 3D 모델링 소프트웨어인 라이노 위에서 작동하는 플러그인입니다. 정해진 명령어를 직접 입력하는 대신, 노드와 와이어를 연결하는 방식으로 알고리즘을 구성하여 형태, 구조, 패턴, 데이터 흐름 등을 시각적으로 설계할 수 있게 해줍니다. 그래스호퍼 또는 파이썬을 활용하여 기능을 중심으로한 테크닉적인 작업을 효율적으로 진행할 수 있지만 라이노와 그래스호퍼 두 가지를 적절하게 활용하는 것이 중요합니다. 이번 아티클 주제는 라이노 그래스호퍼로 정교하게 곡면을 만드는 과정을 알아가고자 합니다. 곡면 모듈을 통해 매스스터디 과정에서 어떤 연결을 보여줄 수 있는지 알아보면 좋을 것 같습니다. 그래스호퍼와 라이노 두 가지를 연계하는 이유는 어느 한쪽의 의존도를 높이는 것보다 그래스호퍼를 통한 정교함과 라이노상에서 직접 매스를 만들어보는 과정이 디자인의 가치를 더욱 높여줍니다.
00. 라이노 그래스호퍼의 강점
디테일함의 강점 그리고 수치화
➤ Rhino Grasshoppers 파라메트릭 디자인의 강점
라이노(Rhino)는 정밀한 NURBS 기반의 모델링을 지원해 자유로운 곡면과 복잡한 형상을 다루는 데 뛰어납니다. 다른 3D 소프트웨어와의 호환성이 우수해 다양한 설계 툴 및 제작 장비와 연계가 가능하며, 도면화와 제작용 디테일까지 안정적으로 처리할 수 있습니다.
그래스호퍼(Grasshopper)는 이러한 라이노의 모델링 환경을 확장해주는 파라메트릭 디자인 도구입니다. 시각적인 노드 기반 인터페이스를 통해 복잡한 알고리즘을 직관적으로 다룰 수 있으며, 변수 하나를 조정하면 전체 모델이 실시간으로 업데이트되는 설계 과정을 제공합니다. 또한 환경 분석, 구조 시뮬레이션, 진화 알고리즘 최적화 등 다양한 플러그인을 활용해 설계와 성능 검토를 동시에 진행할 수 있습니다.
두 툴을 결합하면 개념 설계 단계에서 형태 실험과 데이터 분석을 빠르게 반복할 수 있고, 결과를 곧바로 디지털 제작으로 연결할 수 있습니다. 덕분에 건축가는 단순히 형태를 만드는 것을 넘어, 성능·환경·구조까지 아우르는 통합적인 설계 접근을 실현할 수 있습니다.
이번 아티클에서는 그래스호퍼로 곡면 모듈을 만들어 라이노상 디자인에서 어떤 부분에 활용될지 살펴볼 수 있도록 하겠습니다.

01 곡면모듈 제작을 위한 좌표점 설정
곡면을 제작하기 위해 필요한 좌표점 위치설정 Slider
➤ 기본 지오메트리 설정
그래스호퍼에서 곡면 모델을 만들기 위해서는 먼저 **기초 지오메트리(Base Geometry)**를 정의합니다.
01. 점(Point) 기반 접근 : Control Point를 Rhino나 Grasshopper 안에서 생성합니다.
Construct Point 컴포넌트를 사용해 X, Y, Z 좌표를 지정.
02. 커브(Curve) 기반 접근 : NURBS Curve 또는 Polyline Curve를 이용합니다.
Interpolate Curve 또는 Control Point Curve로 자유곡선 생성.
03. 기하학적 규칙 적용 : 곡면을 일정 패턴으로 반복하거나, 특정 곡률 규칙에 따라 배치합니다.
Divide Curve, Populate Geometry 등으로 점 또는 선을 분할.


02 곡면모듈 모델제작 : 알고리즘 코드 설명
➤ WorkFlow 02 : 기본 지오메트리 설정
그래스호퍼에서 곡면 모델을 만들기 위해서는 먼저 기초 지오메트리(Base Geometry)를 설정해야 합니다.
Number Slider
이미지 상단에 5개의 슬라이더가 보입니다. 각 슬라이더는 값을 실시간으로 변경할 수 있는 파라미터 입력 장치입니다.
01. Data 1 (779), Data 2 (350)
Merge 컴포넌트에 입력되어 두 개의 숫자를 하나의 리스트로 합치는 역할을 합니다.
02. Factor (1.0)
이후 Pi 컴포넌트로 들어가고, 값의 배율 조정이나 스케일링에 사용될 가능성이 높습니다.
03. Steps (50)
Range 컴포넌트의 분할 개수를 결정합니다. [0~1 범위를 50개의 단계로 나누는 등]
04. Domain (400)
Range 컴포넌트의 범위를 결정합니다. [0~400까지 값 생성]

03 곡면모듈 모델제작 : 알고리즘 설정값에 따른 형태변화
Silder값 디테일 조절에 따른 형태변화모습

04 그래스호퍼 적용 : 알고리즘 코드제작 도입부
Silder값에 따른 형태좌표설정 : 기본값 설정
➤ WorkFlow 03 : 기본 지오메트리 설정
그래스호퍼에서 곡면 모델을 만들기 위해서는 먼저 기초 지오메트리(Base Geometry)를 설정해야 합니다. Data, Factor, Step, Domain 값 설정값에 따라 형태를 정의합니다.


그래스호퍼 알고리즘에서 도입부는 다음과 같이 알고리즘을 따라 제작해주시면 됩니다.
Merge 컴포넌트는 두 개 이상의 입력 데이터를 하나의 리스트로 합칠 때 사용됩니다. 여기서 Data1과 Data2를 합하여 [750,350] 값의 리스트를 생성합니다. 이후에 다른 컴포넌트에서 이 리스트를 참고하거나 Range에 연결이 가능합니다.
Pi 컴포넌트는 Factor값과 연결되어 있으며, 출력N이 Range 컴포넌트로 들어갑니다. 일반적으로 Pi 컴포넌트는 수학 상수 π를 Factor와 곱해서 특정 회전이나 각도 계산에 활용됩니다.
Range 컴포넌트는 범위를 N개의 균일한 값으로 나누어 리스트를 생성합니다. 각각 연결된 Range는 서로 다른 리스트로 연결되어 리스트를 생성하게 됩니다.
05 그래스호퍼 적용 : 알고리즘 코드제작 후반부
점-곡선–곡면–입체로 변화하는 과정


그래스호퍼 알고리즘에서 후반부도 마찬가지로 다음과 같이 알고리즘을 따라 제작해주시면 됩니다. 후반부에 나와있는 코드는 점-곡선-곡면-입체를 나타내는 과정입니다. 전반부에서는 좌표점-점의위치,거리를 나타내었다면 후반부에서는 입체화하는 과정을 나타낸 알고리즘입니다.
Rev 컴포넌트는 Reverse 컴포넌트로, 리스트 순서를 뒤집습니다. 곡선을 만들거나 점을 연결할 때 순서가 뒤집히면 Loft가 꼬일 수 있는데, 이를 방지하기 위해 순서를 정리합니다.
Point(Pt)컴포넌트는 여러 점 데이터를 받아서 공간좌표로 변환합니다. 이 점들은 Range에서 나온값이나, 특정 규칙으로 분포된 좌표를 다루게 됩니다. 점을 컨트롤하기 위해 필요한 컴포넌트입니다.
Interpolate Curve (IntCrv) 컴포넌트는 입력된 점 리스트를 부드럽게 이어 곡선(Curve)을 생성합니다. 옵션(L, D 등)으로 곡선의 연속성(Degree)과 세부 제어가 가능하고, 여기서 만들어진 곡선은 이후 Loft를 위한 단면(Section Curve) 역할을 합니다. 이후 Loft를 이용하여 여러 개의 Interpolated Curve를 연결하여 곡면(Surface)을 생성합니다. 마지막으로 Extrude(Extr) 컴포넌트를 넣어 입체화로 출력(bake)해주시면 됩니다.
OUTRO : Rhino & Grasshopper Form

이번 렉크 7기 테크놀로지 라이노&그래스호퍼 Curved Surface편에서는 그래스호퍼로 곡면모듈 셀을 제작하는 과정을 알아보았습니다. 이후 이 모듈을 위 이미지와 같이 여러 형태로 조합되고 변형되는 과정까지 살펴보았습니다. 라이노에서 그래스호퍼를 사용하지 않고도 많은 활용이 있을 수 있는 프로세스가 많지만 그래스호퍼를 활용하여 얻는 이점들도 정말 많습니다. 이번 렉크 7기에서는 라이노 모델 뿐만아니라 라이노와 그래스호퍼를 동시에 활용하는 방법에 대해 전달해드리겠습니다. 더욱 효율적이고, 원하는 아이디어와 형태를 확실하게 구현을 위해 테크닉을 꾸준히 익히고, 연습하면서 정교함을 길러야 합니다. 그래스호퍼가 처음사용하는 유저들에게는 어려움이 있지만 연습을 통해 충분히 극복하실 수 있습니다. 다음 아티클에서 뵙겠습니다.


