벡터 6

그래스호퍼에서 비트맵 이미지 벡터화하기 1

참고 포스트: https://trevidrinker.com/85 Group point clouds by linear path (1/2) This project was started while sampling images based on the RGB colour it has. I just intended to pick up the red lines of the input image. However, the task turned out to be more challenging. The reason was that my red colour picker algorithm gave me back trevidrinker.com 이 포스트는 라이노 그래스호퍼 환경에서 비트맵 이미지에서 커브들을 추출하는 알고리즘 연..

[라이노 그래스호퍼 벡터] 챕터 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

[라이노 그래스호퍼 벡터] 챕터 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

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

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

Grasshopper 2021.03.24