Grasshopper

[라이노 그래스호퍼 벡터] 챕터 10. 파라메트릭 커브의 종류

wwrww 2021. 4. 11. 06:56

지난 챕터에서는 변수로 정의되는 커브인 파라메트릭 커브의 정의에 대해서 알아보았다. 이번 챕터에서는 파라메트릭 커브들의 종류에 대해서 알아보고자 한다. 파라메트릭 커브의 종류는 크게 변수의 간격(interval) 이 실제 3d 공간상의 커브 위에 같은 길이(length)로 평가되는 Uniformed parametric line과 변수의 간격이 3d 커브 위에 평가한 점들 사이의 길이와는 무관한 Nonuniformed parametric curve로 분류할 수 있다.

 

(1) Uniformd parametric line

Uniformed parametric line

위 그래스호퍼 이미지는 uniformed parametric line의 예시로, 0부터 20까지 재변수화한 커브에서 평가 지점인 0, 5, 10, 15, 20 은 3d 공간 상의 커브 위에도 변수들의 간격인 5 길이만큼 점들을 평가하는 것을 알 수 있다. 즉 uniformed parametric curve에서는 변수들의 간격이 3d 공간상의 점들 사이의 길이와 같다.

 

(2) Non uniformed parametric line

Non uniformed parametric curve

그러나 uniformed parameterization 을 할 수 있는 커브는 좀 더 특수한 커브이다. 대부분의 커브는 변수들의 간격과 평가된 점들 사이의 간격이 다르다. 위 그래스호퍼 예시 이미지를 보자. 3d 모델 상의 커브는 0부터 1로 재변수화가 된 커브이고, 0, 0.25, 0.5, 0.75, 1.0이라는 평가 지점에서 평가를 했을 때 실제 3d 공간 상에 찍히는 점은 변수들의 간격과 일치하지 않는 것을 쉽게 파악할 수 있다. 

 

대신 일정한 간격으로 커브를 평가하고 싶을 때는 evaluate length 라는 컴포넌트를 사용할 수 있다. 이 컴포넌트를 이용해 같은 변수 0, 0.25, 0.5, 0.75, 1.0으로 평가한 3d 공간 상의 지점은 모두 길이가 같은 지점들이다. 역시나 간격이 0.25로 동일한 커브 위의 점과 변수 공간의 간격을 0.25로 했을 때 평가한 3d 공간 상의 지점은 다르다는 것을 알 수 있다.

 

변수들의 간격과 평가된 지점들의 거리가 일치하지 않는 상황은 일치하는 상황보다 훨씬 일반적이다. 즉 우리가 어떤 커브 위의 중간점을 찾으려고 할 때, 쉽게 커브를 평가하고, 변수 공간의 중간점을 평가 지점으로 사용하면 안 되는 이유이다.