Curve 지오메트리 등분하기
다이나모에서 형상을 다루다 보면 Curve를 등분해야 할 경우가 많이 있습니다. 다양한 방식으로 커브를 등분해서 필요한 위치에 포인트를 생성할 수 있으며, 이를 통해 원하는 형태의 지오메트리를 쉽게 조작할 수 있습니다. 이번 포스팅에서는 다이나모에서 자주 사용하는 4가지 커브 등분 노드를 중심으로 알아보겠습니다.
다이나모의 커브 등분 노드
좌측 Dynamo Library에서 커브를 등분할 수 있는 다양한 노드를 찾을 수 있습니다. 그 중 자주 쓰이는 대표적인 4가지 노드는 다음과 같습니다:
- Curve.PointAtSegmentLength
- Curve.PointsAtEqualSegmentLength
- Curve.PointAtParameter
- Curve.PointsAtEqualChordLength
이 노드들의 활용 방법과 차이점을 알아보겠습니다.
1.Curve.PointAtSegmentLength
이 노드는 커브 전체에서 입력한 길이(SegmentLength)에 해당하는 위치에 포인트를 생성합니다.
예를 들어, 아래 그림처럼 SegmentLength
에 5000을 입력하면 커브 시작점에서 길이가 5000만큼 떨어진 지점에 포인트가 생성됩니다.
확인 방법
생성된 포인트의 위치가 정확한지 확인하려면, Split 노드를 사용하여 커브를 분할하고 각 커브의 길이를 확인할 수 있습니다. 부동 소수점 오차로 인해 아주 약간의 공차는 있지만 첫 번째 커브의 길이가 5000임을 확인할 수 있습니다.
2.Curve.PointsAtEqualSegmentLength
이 노드는 커브를 등 간격으로 나누고, divisions에 입력된 개수만큼 포인트를 생성합니다.
확인 방법
포인트가 정확히 등분되어 있는지 확인하려면, 위와 마찬가지로 Split 노드를 사용해 각 커브를 나누고, 분할된 커브들의 길이를 확인해보면 각 커브의 길이가 동일한 것을 확인할 수 있습니다.
3.Curve.PointAtParameter
이 노드는 커브를 0에서 1까지의 도메인 값으로 변환한 후, 해당 param 값에 위치한 포인트를 생성합니다.
주의할 점은 도메인의 중심값 0.5가 커브 길이의 정확한 중간이 아니라는 것입니다. Split으로 커브를 나눠보면 생성된 커브의 길이가 다를 수 있습니다.
참고
이 기능은 그라스호퍼의 Reparameterize와 유사합니다.
4.Curve.PointsAtEqualChordLength
이 노드는 시작점과 끝점에는 포인트를 생성하지 않고, 커브의 내부에 포인트를 생성합니다. divisions에 입력된 개수만큼 커브를 일정한 간격으로 나눈 포인트를 생성합니다.
특징
[이미지 4]처럼 Split으로 커브를 나누어 확인해보면 길이가 같지 않다는 것을 알 수 있습니다. 이 노드는 커브의 절점을 직선으로 연결했을 때 그 길이가 같은 위치에 포인트를 생성하는 방식입니다.
확인 방법
[이미지 5]처럼 커브의 시작점과 끝점을 추가하여, 생성된 포인트들을 연결한 직선의 길이를 확인하면 길이가 동일한 것을 알 수 있습니다.
마무리
지금까지 다이나모에서 자주 사용되는 Curve 지오메트리 등분 방법에 대해 알아보았습니다. 이 기능들을 활용하면 복잡한 커브의 포인트를 정밀하게 제어할 수 있으며, 다양한 지오메트리 작업에 유용하게 응용할 수 있습니다.
궁금한 점이 있거나 추가적인 설명이 필요하다면 댓글이나 포럼에 질문을 남겨주세요!
← 이전 글
다음 글 →
답글 남기기
댓글을 남기려면 로그인 해야 합니다.