이전 학습 질문 아카이브
본 페이지는 LECTUS 5.0 업데이트 전 질문을 모은 게시판 입니다.
현재 순차적으로 신규 학습 질문 게시판 으로 이동 작업중에 있으니 이용에 참고 부탁드리겠습니다.
Re:상암 mbc 면생성 질문있습니다.
박재만
작성자
박재만
작성일
2022-04-03 18:58
조회
7346
강동혁님 안녕하세요.
동혁님이 질문한 부분을 아래 그림처럼 정리해봤습니다. 1, 2, 3번 각각이 만들어낸 결과물은 차이가 없습니다. 그래스호퍼 상에서는 브랜치 개수가 다를 뿐, 결과물의 총 아이템 개수는 같습니다.

왜 결과물이 다 같은 것일까요? 그건 라이노가 똑똑하기 때문입니다. 다시 말해서 일을 잘하기 때문입니다.
이 강의에서 우리가 만드는 것은, 구멍이 뚫려있는 평면입니다. 라이노에서 PlanarSrf로 만들 수 있는 것이죠. 그런데 그러한 도넛형 평면이 여러개가 있을 때, 저는 행여나 라이노가 잘못 연산할 것이 우려되었습니다. 다시 말해, 구멍 뚫린 면을 만드는 것이 아니라, 구멍으로 입력한 가장자리로 면을 또 만들고, 바깥 가장자리 커브로 (구멍이 안뚫린) 면을 만들 것 같다는 걱정이 들어서, 최대한 라이노가 이해하기 쉽게 그래스호퍼 디피니션을 작성했습니다. 그래서 graft를 사용해서, 도넛형 서피스를 만들기 위한 인풋 커브들을 짝지어 묶어준 것입니다. 그 방식이 1번이죠.
2번을 보면, Square Grid에서 생성된 트리 체계를 그대로 따르는 아웃풋. 즉 열끼리 묶여 있는 커브들을 한데 모은 다음에 Boundary Surface를 실행했습니다. 놀랍게도 0.04초 가량 연산 시간이 단축되었습니다. 라이노가 유연하다고 말할 수 있는 부분이죠.
3번을 보면, 여전히 라이노는 계산을 잘해내지만, 이제는 모든 인풋 커브들이 하나의 브랜치에 속해 있기 때문에 어느 것을 짝지어 구멍뚫린 면을 만들지 약간 더 시간이 걸린 것을 볼 수 있습니다. 3번의 경우 연산 시간이 3초입니다. 물론 컴퓨터 사양에 따라서 시간은 다 다르겠지만, 이 방법이 효율적이지 않다는 것을 입증해줍니다.
그래스호퍼는 스크립팅 언어 중에서는 아주 유연한 편이라서, 사용자가 의도하지 않은 실수를 하였어도 제법 그럴듯한 결과를 만들어냅니다. 하지만, 언제든지 항상 오류는 발생하기 마련이고, 그 원인을 찾느라 시간을 소모하는 일을 줄이기 위해서, 저는 늘 안전하게, 즉 라이노가 가장 이해하기 쉬운 방향으로 스크립팅하는 것을 선호합니다.
질문 감사합니다. 앞으로 저는 그래스호퍼 플레이어 강의를 유튜브로 진행하고, 출시된지 얼마 안된 그래스호퍼2 알파 버젼을 리뷰해볼까 합니다. 제 강의에 꾸준히 관심 가져주시면 좋겠습니다. 그리고 그래스호퍼101 강의 리뷰 꼭 부탁드립니다.
동혁님이 질문한 부분을 아래 그림처럼 정리해봤습니다. 1, 2, 3번 각각이 만들어낸 결과물은 차이가 없습니다. 그래스호퍼 상에서는 브랜치 개수가 다를 뿐, 결과물의 총 아이템 개수는 같습니다.

왜 결과물이 다 같은 것일까요? 그건 라이노가 똑똑하기 때문입니다. 다시 말해서 일을 잘하기 때문입니다.
이 강의에서 우리가 만드는 것은, 구멍이 뚫려있는 평면입니다. 라이노에서 PlanarSrf로 만들 수 있는 것이죠. 그런데 그러한 도넛형 평면이 여러개가 있을 때, 저는 행여나 라이노가 잘못 연산할 것이 우려되었습니다. 다시 말해, 구멍 뚫린 면을 만드는 것이 아니라, 구멍으로 입력한 가장자리로 면을 또 만들고, 바깥 가장자리 커브로 (구멍이 안뚫린) 면을 만들 것 같다는 걱정이 들어서, 최대한 라이노가 이해하기 쉽게 그래스호퍼 디피니션을 작성했습니다. 그래서 graft를 사용해서, 도넛형 서피스를 만들기 위한 인풋 커브들을 짝지어 묶어준 것입니다. 그 방식이 1번이죠.
2번을 보면, Square Grid에서 생성된 트리 체계를 그대로 따르는 아웃풋. 즉 열끼리 묶여 있는 커브들을 한데 모은 다음에 Boundary Surface를 실행했습니다. 놀랍게도 0.04초 가량 연산 시간이 단축되었습니다. 라이노가 유연하다고 말할 수 있는 부분이죠.
3번을 보면, 여전히 라이노는 계산을 잘해내지만, 이제는 모든 인풋 커브들이 하나의 브랜치에 속해 있기 때문에 어느 것을 짝지어 구멍뚫린 면을 만들지 약간 더 시간이 걸린 것을 볼 수 있습니다. 3번의 경우 연산 시간이 3초입니다. 물론 컴퓨터 사양에 따라서 시간은 다 다르겠지만, 이 방법이 효율적이지 않다는 것을 입증해줍니다.
그래스호퍼는 스크립팅 언어 중에서는 아주 유연한 편이라서, 사용자가 의도하지 않은 실수를 하였어도 제법 그럴듯한 결과를 만들어냅니다. 하지만, 언제든지 항상 오류는 발생하기 마련이고, 그 원인을 찾느라 시간을 소모하는 일을 줄이기 위해서, 저는 늘 안전하게, 즉 라이노가 가장 이해하기 쉬운 방향으로 스크립팅하는 것을 선호합니다.
질문 감사합니다. 앞으로 저는 그래스호퍼 플레이어 강의를 유튜브로 진행하고, 출시된지 얼마 안된 그래스호퍼2 알파 버젼을 리뷰해볼까 합니다. 제 강의에 꾸준히 관심 가져주시면 좋겠습니다. 그리고 그래스호퍼101 강의 리뷰 꼭 부탁드립니다.