Grasshopper 17

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

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

Grasshopper 2021.04.03

[라이노 그래스호퍼 벡터] 챕터 06. 벡터와 선 방정식

챕터 05까지 배웠던 벡터 연산들을 이용해서 3d 모델링 상에서 점과 선을 나타내는 방법에 대해서 알아보려고 한다. 라이노 인터페이스 상에서 3d 모델링을 하면서 선을 긋는 행위는 너무나도 당연하고 쉬운 과정이지만, 이 또한 모두 수학적으로 컴퓨터에 정의되고 있다는 사실을 잊으면 안 된다. 그리고 라이노 상에서 선을 정의하는 데에 벡터가 사용된다. 점, 벡터, 변수 t 를 이용해 선 정의하기 첫 번째로 다룰 내용은 하나의 점과 벡터가 주어진 경우에 변수 t를 이용해서 하나의 선분 위의 모든 점을 나타내는 방법이다. 선분 위의 모든 점을 나타낼 수 있다면, 선이 정의된 것과 다름이 없다. 아래 그래스호퍼 이미지를 통해서 주어진 조건들을 파악해보자. 주어진 정보는 점 Q, 선분의 방향을 나타내는 벡터 v, ..

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