라이노 8

라이노 그래스호퍼에서 파이썬 사용하기

1. 그래스호퍼에서 파이썬을 사용할 때의 장점 그래스호퍼에 내장되어있는 파이썬 컴포넌트를 사용하면, geometry를 라이노 디스플레이로 확인하면서 손쉽게 geometry 스크립팅을 할 수 있다는 장점이 있다. 라이노의 막강한 geometry 생성 내장 모듈들을 불러와서 사용할 수 있기 때문이다. 필요한 부분은 직접 스크립팅을 하되, 만들어진 지오메트리를 불러오거나 변수들을 조작하는 데는 이에 최적화된 그래스호퍼를 사용하면 대단히 효과적인 스크립팅이 가능하다. Rhino 6 를 설치하면, 그래스호퍼의 Python 컴포넌트는 기본으로 내장되어 있기 때문에 파이썬을 별도로 설치할 필요가 없다. 2. 그래스호퍼 파이썬 컴포넌트 사용하기 그래스호퍼에서 파이썬 컴포넌트를 불러와서(Math - Script 탭) 컴..

[라이노 그래스호퍼 벡터] 챕터 08. 벡터로 서페이스 정의하기

지난 두 포스트에서는 변수 t를 이용해서 벡터로 선을 정의하는 방법과, 두 점 사이의 임의의 점을 구하는 방법들을 알아보았다. 이번 포스트에서는 벡터로 surface, 면을 정의하는 방법을 알아보려고 한다. (1) 면을 정의하는 방법 컴퓨터 상에서 면을 정의하는 방법 중에 하나로, 면 위의 하나의 점을 알고, 그 점에서 면에 대한 법선 벡터(Normal vector)를 알면 면을 정의할 수 있다. (2) 벡터 연산으로 면 정의하기 벡터 연산만으로 면을 정의하기 위해서는 일직선 상에 놓여있지 않은 서로 다른 점 세 개의 점이라는 준비물이 필요하다. 위의 이미지에서처럼 3d 공간상에 일직선상에 놓여 있지 않는 서로 다른 세 개의 점을 그래스호퍼에서 만들었다. 우리의 목표가 하나의 점에서의 법선 벡터를 만드는..

Grasshopper 2021.04.06

[라이노 그래스호퍼 벡터] 챕터 07. 두 점 사이의 임의의 점 구하기

챕터 06에서는 선분 위의 주어진 점 Q에 대하여 벡터와 변수 t를 이용해 선분 위의 모든 점을 정의했다면, 이번에 다룰 내용은 하나의 선분 위의 주어진 점 Q, P에 대하여 변수 t를 이용해 두 점 사이의 모든 점을 정의하는 것이다. 지난 내용과 변수 t의 범위가 다르니, 여기에 유의해서 내용을 살펴보면 좋겠다. 위의 이미지 처럼 동일한 선분 위에 점 Q와 P 가 놓여있다. 이 두 조건을 가지고 두 점 사이의 모든 점을 정의하는 방법은 벡터 뺄셈 연산을 사용하는 것이다. 앞서 이야기했듯이 벡터 뺄셈은 빼는 순서에 따라서 하나의 점에서 다른 점으로 가는 벡터를 산출해낸다. 따라서 점 Q에서 점 P로 가는 벡터 v는 P - Q로 정의할 수 있다. 이렇게 만들어진 벡터 v의 길이 |v|는, 점 Q에서 P로 ..

Grasshopper 2021.04.03

[라이노 그래스호퍼 벡터] 챕터 05. 벡터 연산 - 벡터 외적

(1) 벡터 외적의 결과 벡터 외적은 영어로 Vector cross product라고 하며 기호로 ⨯ 를 사용한다. 벡터 외적은 두 벡터 v₁, v₂ 를 재료로 하며 연산의 결과 두 벡터와 법선 (Normal) 벡터 v₃ 가 산출된다. 유의할 점은 벡터 외적 연산에서 순서가 달라지면 반대 방향의 벡터가 나온다는 것이다. v₁ ⨯ v₂ ≠ v₂ ⨯ v₁ v₁ ⨯ v₂ = - (v₂ ⨯ v₁) (2) 벡터 외적의 활용 벡터 외적은 법선 벡터를 사용하는 그 결과 자체로도 그래스호퍼 모델링 시 자주 사용되지만, 두 벡터가 평행한 지 확인하고 싶을 때도 사용된다. 부가적인 활용법에 적용되는 벡터 외적의 특징은 다음과 같다. 두 벡터가 평행한지 확인 서로 평행한 벡터 v₁, v₂ 의 외적 연산 결과는 0이다. 따라..

Grasshopper 2021.04.02

[라이노 그래스호퍼 벡터] 챕터 04. 벡터 연산 - 벡터 내적

(1) 벡터 내적 연산 벡터 내적 또한 두 벡터를 재료로 사용한다. 벡터 내적의 특징은 앞서 다뤘던 벡터 기본 연산(스칼라, 덧셈, 뺄셈)과는 다르게 연산의 결과가 벡터가 아닌 "숫자"라는 점이다. 벡터 내적은 다음과 같이 연산한다. v1 = v2 = v1 ⋅ v2 = a1⨯b1 + a2⨯b2 + a3⨯b3 = Number 연산 방법에서도 알 수 있듯이 백터 내적 연산의 결과는 숫자이다. (2) 벡터 내적의 쓰임새 그래스호퍼 모델링 시 벡터 내적은 다음 표와 같이 두 벡터의 방향을 파악하는데 주로 쓰인다. v1 ⋅ v2 뜻 > 0 v1, v2 두 벡터의 전반적인 방향이 같다 = 0 v1, v2 두 벡터의 전반적인 방향이 반대 < 0 v1, v2 두 벡터가 이루는 각이 90º 이처럼 두 벡터의 방향을 가늠..

Grasshopper 2021.04.01

[라이노 그래스호퍼 벡터] 챕터 03. 벡터 기본 연산 - 벡터 스칼라/ 벡터 덧셈/ 벡터 뺄셈

(1) 벡터 기본 연산 사칙 연산 부호를 이용하는 벡터의 기본 연산으로는 벡터 스칼라, 덧셈, 뺄셈이 있다. 뒤이어 이 세 가지에 대해 자세히 다루겠지만, 셋을 비교해보자면 아래 표와 같다. 분류 벡터 스칼라 벡터 덧셈 벡터 뺄셈 연산 부호 * (c.f. amplitude 는 벡터를 특정 길이로 고정시키는 연산) + - 재료 v, k(계수) v₁, v₂ v₁, v₂ 기능 벡터 길이를 계수 k만큼 늘이고 줄임 평균 벡터 (c.f. |v₁| = |v₂| 평균 벡터 + 방향) From vector To vector 연산 순서 상관 없음 kv = vk 상관 없음 v₁ + v₂ = v₂ + v₁ 상관 있음 v₁ - v₂ 는 from v₂, to v₁ 인 v₃ v₁ - v₂ 은 from v₁, to v₂ 인 v₄ ..

Grasshopper 2021.03.26

[라이노 그래스호퍼 벡터] 챕터 02. Position(위치) 벡터, Unit(단위) 벡터

(1) Position(위치) 벡터 앞선 포스트에서 벡터를 시각화하기 위한 조건으로, 시작점 (anchor point)가 필요하다고 했다. 위치 벡터는 이 시작점이 특별하게 원점 (0,0,0)인 벡터이다. 시작점이 원점인 게 왜 특별할까? 이유는 벡터의 X, Y, Z 방향의 구성 요소와 화살표가 향하는 도착점(Tip point)의 X, Y, Z 좌표가 같아지기 때문이다. 우리가 벡터의 시작점을 알때, 벡터 v의 방향과 크기로 향하는 도착점을 알 수 있다. 단순히 시작점의 좌표와 벡터 값을 더하면 되는데, 예를 들자면 이렇다. 위 이미지에서 (9,7,0)을 시작점으로 하는 벡터를 + 컴포넌트로 더한 좌표 (17,11,0) 은 벡터의 도착점이다. 그렇다면 위치 벡터는 어떨까? 마찬가지로 위치 벡터는 시작점인..

Grasshopper 2021.03.25

[라이노 그래스호퍼 벡터] 챕터 01. 3D 모델링에서의 벡터 소개

(1) 컴퓨테이셔널 모델링과 벡터 라이노라는 3d 모델링 툴은 사용자에게 직관적인 모델링 환경을 제공해주지만, 그래스호퍼는 사용자가 객체를 만들고, 제어하는 일에 일일이 간섭을 해야 한다. 이 간섭을 할 때 수학적으로 가장 필요한 개념이 바로 벡터이다. 벡터는 수학과 물리학에서도 중요하게 다뤄지는 개념이지만, 여기서 공부하고 정리하는 벡터는 철저하게 컴퓨터에 기반한 3d 모델링을 하는 상황에서의 벡터에 대한 개념이다. (2) 벡터는 왜 필요한가? 3D 모델링에서 벡터가 필요한 상황은 무수히 많지만, 그 중에서도 세 가지도 정도를 꼽자면 이렇다. 1. 내가 만든 객체의 방향을 알고 싶다. 예를 들어보자. 라이노에서 중요한 개념 중에 하나는 면이 향하는 방향이다. 모델링 도중 면의 방향이 생각한 것과 반대로..

Grasshopper 2021.03.24