이번 과제에서는 Minimal Surface를 스터디하기 위하여, Grasshopper에 추가할 수 있는 플러그인 중 Kangaroo, Plankton, MeshMachine를 사용하였다.
위 사진은 minimal surface를 생성하기 위해 짠 코드로, MeshMachine 명령어를 사용하였다. 이 명령어에 minimal surface로 만들 기본 오브젝트를 입력하고, 기본 오브젝트에서 고정할 curve와 vertex를 설정한 후 명령어에 timer를 입력하였다. output은 Plankton mesh가 나오기 때문에 위 사진과 같이 설정하여 라이노 화면에서 바로 확인까지 가능하도록 하였다.
1. 기본 오브젝트 #01 (실패작)
처음 시도한 오브젝트는 위 사진과 같다. 저번 시간에 만들었던 ruled surface를 응용하여, 두 개의 긴 박스가 ruled surface를 관통하도록 모델링 하였다.
minimal surface를 만들기 위해서는 open된 부분의 설정이 중요했다. 기본 오브젝트에서 오픈된 부분은 위와 같다. (빨간색으로 색칠한 부분)
MeshMachine 명령어에 입력할 curve (위 그림에서 빨간색 선)와 vertex (위 그림에서 초록색 X) 는 위 그림과 같이 설정하였다.
다음은 위에서 만든 기본 오브젝트를 이용하여 시도한 minimal surface이다.
여기서 발생한 문제는 수직 방향으로 모델링된 박스가 전혀 생기지 않은 것인데, 이는 두 개의 박스가 교차하는 방식에서 문제가 있는 것으로 판단되었다.
2. 기본 오브젝트 #2 (성공작)
위에서 발생한 문제를 수정하여 다시 모델링한 기본 오브젝트는 위와 같다.
사진으로 보면 수직 방향의 박스가 조정되어 다른 박스와 겹치는 방식이 달라진 것을 알 수 있다.
위의 설정을 입력한 후 MeshMachine 명령어를 다시 작동한 결과물은 위와 같다. 첫번 째 기본 오브젝트 때와 다르게 성공적으로 결과물이 나온 것이 보인다.
다만 일부분 매끄럽지 않게 모델링되어 뾰족하게 튀어나온 부분도 발생하였다. 이는 mesh의 간격을 조정하면 어느 정도 잡히지만, 그렇게 되면 컴퓨터가 처리해야 할 양이 기하급수적으로 늘어나 프로그램이 멈추는 현상이 반복되어 현재의 수준에서 마무리하였다.
다음은 3D 프린터로 출력하기 위해 위의 결과 mesh를 offset하여 두께를 준 것이다. 위에서 언급한 일부 뾰족한 부분 외에는 큰 문제없이 성공적으로 결과물이 나왔다.
3. 최종 3D 프린팅 결과물