직접 만들어보자, 파라메트릭 디자인! (2)

발행
2024.01.12

INTRO

 

이번 시간에는 1편에서 만들었던 삼각형을 가지고 변수를 적용시키는 알고리즘을 마저 만들어 보겠습니다! 지난 시간에 만들었던 것들을 먼저 잠깐 보여드리자면

 

 

보시는 것처럼 삼각형들을 만들기 위해서 triangular라는 컴포넌트를 사용했고요, 거기에 원하는 크기대로 만들어 줄 수 있도록 number slide라는 컴포넌트를 통해 삼각형의 x축, y 축 개수와 전체적인 사이즈를 조절했습니다.

 

 

이후에는 surface라는 컴포넌트를 통해서 선의 삼각형을 면의 삼각형으로 바꾸는 과정을 거치게 되고, area라는 컴포넌트를 통해서 생성된 각각의 삼각형들의 중심점을 설정하였습니다.

 

다음 스텝부터가 이제 진짜 파라메트릭 디자인을 짜기 위한 알고리즘을 만드는 과정 다운 과정들이라고 할 수 있는데요. 이제까지 만들었던 데이터들을 이용해서 어떻게 자유롭게 변수를 조절할 수 있는 단계까지 갈 수 있는지 차근차근 살펴보도록 하겠습니다!

 

 

만약 1편에서 나온 과정들까지만 만들고 멈추게 되면, 단 한 가지의 삼각형 모양만 만들 수 있어요. 심지어 지금 상태는 surface 컴포넌트로 데이터를 면으로 변환시켰기 때문에 3차원의 물질세계에 구현할 수 있는 상태는 아닌 것이죠.

 

그럼 여기서 중요한 건 지금의 상태를 어떻게 변환 가능한 상태로 만들 것인가…인데….

 

여기서 컴포넌트들이 딱딱!

원하는 최종 목적지로 단번에 갈 수 있게 구성되어 있으면 파라메트릭이라고 할 수 없겠죠?

 

이제부터는 데이터를 편집해서 이 삼각형들이 움직일 수 있도록 만들어줄 겁니다!

 

CLOSEST POINT

 

보시는 것처럼 closest point라는 기능을 이용해서 크기가 변하는 세모들의 변동성에 대한 기준점을 잡아줄 거예요. consturct point라는 컴포넌트도 같이 만들어주고 numberslide를 x, y, 값에 대입시켜 놓습니다. 그러면 지금은 색이 뚜렷하게 보이지 않지만, 삼각형들을 없애보면 빨간 점 하나가 생긴 것을 확인할 수 있습니다.

 

 

바로 이렇게요! 여기서 넘버 슬라이드의 x, y 값을 조절하면 저 빨간 점이 원하는 좌표로 움직이게 됩니다.

 

 

라이노에서도 치수선을 입력해서 저 점에 대입시키면 좌표값이 일치하게 나오는 것을 확인할 수 있는데요. 그러면 이 점으로 도대체 무엇을 할 것이냐?!

 

이 데이터를 기준점으로 변동성을 주기 위해서 remap numbers라는 컴포넌트를 연결할 겁니다. 계속 꼬리에 꼬리를 물고 데이터들을 바꾸어 나가는 과정 중에 있어서 헷갈릴 수도 있지만, 최대한 읽히기 쉽도록 설명드리겠습니다.

 

REMAP NUMBERS

먼저 remap numbers라는 컴포넌트는 말 그대로 기존에 있던 숫자 데이터를 새로운 범위로 다시 재정의 해주는 컴포넌트입니다.

 

 

지금 보시는 것이 remap numbers를 이용해서 데이터 값을 재정의 한 것인데요. remap numbers 컴포넌트는 재정의를 위해서 기존의 값이 있어야 하기 때문에 construct domain이라는 컴포넌트와 세트로 사용하는 것이 국룰입니다!

 

이제 우리가 만들 세모들도 위의 사진과 같이 데이터 인풋과 아웃풋을 정해줘야겠죠?

먼저 실제 밸류 값이 될 데이터는 앞전에 만든 closest point입니다. 그리고 소스로 사용할 데이터는 closest point 컴포넌트의 데이터의 bound 값을 정해줘서 그대로 사용할 거예요.

 

construct domain을 통해 새로운 도메인 값을 만들어주고, 그것을 타깃에 대입시키면 이런 상태가 됩니다.

 

 

어떤 게 어디에 연결되어 있는지 보이시죠?

 

밸류 값은 아까 만들었던 closest point에, 소스 값은 closest point의 bound 값에, 타깃 값은 새로 지정한 범위로 볼 수 있는 construct domain 값에 대치되어 있는 것을 볼 수 있습니다. 이걸 이제 어디에 연결하느냐면, 결국 만들어진 데이터가 눈에 보이기 위해서는 크기가 줄어들거나 늘어나야 하는 거잖아요? 그래서 scale이라는 컴포넌트를 사용할 겁니다.

 

SCALE

 

보시는 것처럼 scale이라는 컴포넌트는 비율을 정해주는 컴포넌트인데, 대충 아무런 삼각형을 만들고 area 컴포넌트를 통해 중심점을 잡아주면, 그 점을 중심으로 factor 값에 기입된 수치대로 비율이 변합니다. 최종적으로 geometry를 만들기 위해서는 이 scale 값이 지금은 종착지로 사용될 컴포넌트인 것이죠. 지금까지 만들어놓은 컴포넌트들을 위와 동일한 방식으로 대입해 보겠습니다.

 

FINAL

 

만들어놓았던 surface (기본 세모)를 geometry에, 중심점을 잡기 위해서 만들어진 삼각형 각각에 만들어주었던 area (중심점들) 을 center에, 그리고 수치 데이터를 편집해서 변환할 수 있도록 만들어놓았던 remap numbers를 factor에 연결해 주면 이렇게 빨간 점을 기준으로 해서 크기가 변화하는 삼각형들이 만들어지는 것을 확인할 수 있습니다. 여기서 이제 편집한 데이터들의 값을 조절해서 같은 형태의 다른 버전들을 계속 만들 수 있는 거죠. 한번 조절해 볼까요?

 

 

EDIT DATA

construct point를 통해서 만들었던 점의 좌표값을 이동시켜 준다면 이런 식의 형태가 나올 수도 있고요.

 

 

construct domain의 데이터 값을 조절하면 삼각형 자체의 전체적인 크기 비율도 조절할 수 있어요.

 

BAKE

그래스호퍼로 이렇게 원하는 결과물을 만들게 되었다고 해서, 그것이 바로 라이노 화면상에서 편집이 가능하지는 않아요. 위에 나온 사진들의 초록색 부분들은 사실 라이노 화면 상에서는 유령과도 같은 데이터라서 bake 기능을 통해 마무리를 하지 않으면 컴퓨터를 끄면 사라져 버리고 말아요. 그래서 원하는 결과물을 만들었다면 그것을 bake 기능을 통해 꼭 구워줘야 합니다.

 

scale 컴포넌트에 마우스를 대고 휠을 누르게 되면 이런 화면이 보일 텐데요. 여기서 계란프라이 모양의 버튼이 바로 bake입니다. bake를 하게 되면 라이노 상에 이제 서피스 형태로 편집이 가능한 면이 생성될 거예요.

 

 

그럼 이제 우리는 이 생성된 면들을 다듬거나, 아니면 전체적인 스케일을 조정하거나, extrude 기능을 사용해서 3차원으로 만들 수도 있겠죠? 여기까지가 그래스호퍼의 기본적인 알고리즘 만들기 튜토리얼이었습니다!

 

 

OUTRO

그래스호퍼를 통해 파라메트릭 디자인 간단하게 만들어보기 어떠셨나요?

 

컴포넌트들을 어떻게 사용해야 하는지, 데이터를 편집하는 방식을 어떻게 접근해야 하는지에 따라서 굉장히 다양한 디자인이 나올 수 있고, 그것의 다양한 버전들을 한눈에 확인할 수 있다는 것이 파라메트릭 디자인의 매력 요소이지 않을까 생각합니다.

 

만약 건축을 하시는 분들 중에서 그래스호퍼를 사용하고 싶지만 데이터 편집이나 기본적인 정보의 양이 너무 부족해 쉽게 도전하지 못하셨던 분들은 저처럼 유튜브 혹은 독학으로 조금씩 컴포넌트들을 알아가면서 원하는 디자인을 할 수도 있지만, 쉽고 빠르게 설계에 적용할 수 있는 강의를 들어도 좋을 것이라고 생각해요.

 

 

저희 렉터스에서는 rhino와 grasshopper를 활용하는 것에 대한 심화 강의들도 준비되어 있으니, 혹시 이 글을 보시고 그래스호퍼에 관심이 생긴 건축학도분들은 한번 찾아보셔도 좋을 것 같다는 생각입니다.

 

오늘 제가 준비한 글은 여기까지입니다. 다음번에 또 새로운 주제로 찾아뵙겠습니다. 이제까지 파라메트릭 디자인 시리즈를 읽어주셔서 감사했습니다. 다들 좋은 하루 보내세요!

 

함께 보면 좋은 아티클

 

2024.01.12 · 읽는 시간 9분

함께 읽는 아티클

더보기