Essential Mathematics for Computational Design 02

위치 벡터(Position vector)

원점 P0=(0,0,0)을 시작점으로 하여 다른 한 점에서 끝나는 벡터를 위치벡터라고 합니다.

이것의 위치 벡터 v = <a1,a2,a3>는 원점 P0 과 점 P1 사이의 선분으로 표현됩니다.

P0 = (0,0,0)

P1 = (a1,a2,a3)

주어진 벡터 v= < a1, a2, a3 > 의 위치벡터는 원점(0,0,0)을 시작점으로 하고 점 (a1, a2, a3)을 끝점으로 하는 선분(a special line segment )과 같다.

하나의 벡터와 그와 같은 인풋값을 가지는 점을 구분하는 것은 매우 중요합니다. 이 둘은 전혀 다른 개념으로, 아래의 Grasshopper에서, 점 P1의 좌표는 vector의 컴퍼넌트와 같습니다.



그림 3 위치 벡터 (Position Vector)

벡터의 연산 (Vector operations)

벡터의 합(Vector addition)

a와b 라고 하는 두 개의 벡터가 있을 때 상응하는 좌표값들을 더하면 벡터a와 백터b 의 합 a+b를 구할 수 있습니다. 그 방식은 다음과 같습니다.

a = <a1, a2, a3>

b = <b1, b2, b3>

a+b = <a1+b1, a2+b2, a3+b3>

예를 들어서, a<1, 2, 0> 라는 벡터와  b<4, 1, 4> 라는 벡터가 있으면 이것의 합은 a+b=<5, 3, 4> 입니다.

아래 그림은 Grasshopper를 이용하여 상응하는 벡터값들을 더해 a+b 벡터를 만드는 것을 보여주고 있습니다.

그림 4 상응하는 값들의 합을 이용한 벡터의 합

Grasshopper 내에 있는 ‘Vector Addition’ (*역자 주: Grasshopper 버전1.0 이후 모든 종류의 덧셈 연산은 ’Addition’ 컴퍼넌트로 통합되었음) 컴퍼넌트를 이용하여 위와 같은 결과를 얻을 수도 있습니다.

그림 5 Grasshopper 내의 'Vector Addition' 컴퍼넌트를 이용한 벡터의 합

상응하는 벡터값의 합을 이용하여 두 벡터를 더할 수 있다.

‘Vector Addition’컴퍼넌트는 복수의 벡터들이 가진 방향평균(average direction)을 구하는데도 유용하게 사용될 수 있습니다. 이를 위해서는 일반적으로 같은 길이를 가진 벡터들을 사용합니다. 아래의 예시는 같은 길이의 벡터를 사용할 때와 다른 길이의 벡터를 사용할 때 나타나는 결과물의 차이를 보여주고 있습니다.

그림 6 벡터의 합을 이용한 방향평균 구하기

대부분의 경우 각 인풋 벡터들이 가지고 있는 길이가 다릅니다. 이러한 경우 방향평균을 구하기 위해서는 각 인풋 벡터들의 단위벡터(unit vector)”를 이용할 수 있습니다. 단위 벡터란 그 길이가 ‘1’인 벡터를 의미합니다. 단위벡터에 대해서는 다름 장에서 더 자세하게 다룰 것입니다. 아래 예시는 Grasshopper를 이용하여 다른 길이를 가지는 벡터들의 방향평균을 찾는 것을 보여주고 있습니다.

그림 7 단위 벡터를 이용한 복수개의 벡터의 평균 방향 찾기

———————————————-

수정하시고 싶으신 부분이 있으면 댓글을 달아주시기 바랍니다.

One thought on “Essential Mathematics for Computational Design 02

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s