도로의 모든 것 뒤에 있는 단순한 기하학
·2026.04.16 12:09
핵심 내용
선과 원호만으로 프로파일 사이의 도로 곡선을 안정적으로 연결하는 방법을 설명한다.
자세히 보기
도로를 프로파일(profile) 기반으로 표현하고, 그 사이를 선(line) 과 원호(circular arc) 만으로 이어 붙이는 기하학적 방법을 정리한다.
프로파일은 도로 단면의 스냅샷 같은 정보이며, 실제 도로 형상은 이 프로파일들을 보간해 만든다. 핵심 문제는 서로 다른 위치와 방향을 가진 두 프로파일의 끝점을 매끄럽고 평행한 경로로 연결하는 것이다.
기본 구성
- 두 끝점 A, B 와 각 끝점의 방향 벡터를 사용한다.
- 각 끝점에서 도로가 이어질 방향으로 continuation line 을 그린다.
- 두 continuation line 이 만나는 점을 C 로 둔다.
- 한쪽 길이가 더 길면, 짧은 쪽 길이에 맞춰 긴 쪽 위에 보조점 M 을 잡는다.
- A와 M 에서 각각 continuation line 에 수직인 선을 그어 교점 O 를 찾는다.
- Tangent-Radius Theorem 에 의해 O를 중심으로 하는 원은 해당 선들에 접한다.
이 구성으로 최종 경로는 A에서 M까지의 원호 + M에서 B까지의 직선 이 된다. 사실상 이것은 CAD에서 말하는 two-line fillet 과 같은 구성이다.
프로파일 연결
- 프로파일 길이가 같고 조건이 맞으면, 양쪽 끝에 같은 기하학적 구성을 적용해 두 경계를 동시에 연결할 수 있다.
- 이렇게 하면 도로의 양쪽 가장자리가 자연스럽게 parallel 하게 유지된다.
S자형 전환 문제
모든 경우가 한 번의 원호로 해결되지는 않는다. continuation line 이 원하는 방식으로 만나지 않으면, 도로는 한 번 꺾였다가 다시 반대로 꺾이는 S-curve 가 필요하다.
이를 위해 중간에 intermediary profile 을 하나 둔다.
- 후보 위치와 방향은 cubic Hermite spline 으로 잡는다.
- 이상적으로는 곡률이 바뀌는 inflection point 를 찾는 것이 맞지만, 실제 구현에서는 복잡한 3차 방정식 풀이까지 갈 필요가 없다.
- 중심점 거리 대비 tangent magnitude 가 대략 1.0~1.5배 정도면, P(0.5) 와 P'(0.5) 를 써도 충분히 좋은 근사값이 나온다.
P(0.5)는 중간 프로파일의 위치,P'(0.5)는 그 지점의 접선 방향을 준다.
특수 케이스
- continuation line 이 평행하고 같은 방향 이면, 반원호 + 직선 으로 처리할 수 있다.
- 그 외에도 한 번의 중간 프로파일로 깔끔히 해결되지 않는 경우가 있다.
설계 제약
모든 불가능한 배치를 일반해법으로 풀기보다, 도구 자체에 제약을 넣는다.
- source profile 의 무한 직선으로 평면을 반으로 나눈다.
- 사용자가 그 뒤쪽 half-plane 에 다음 프로파일을 놓으려 하면, 새 프로파일의 방향을 source profile 과 같게 강제한다.
- 이렇게 하면 복잡한 경우를 더 단순한 특수 케이스로 바꿔 안정적으로 연결할 수 있다.
마지막으로, 이 방식은 도로 네트워크의 기본 블록을 만든다. 다음 단계는 도로가 만나는 intersections 를 동적으로 만들고, 이 블록들을 더 복잡한 네트워크로 조립하는 일이다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.