기본 콘텐츠로 건너뛰기

라벨이 RangeBox인 게시물 표시

[S3D] CableWay, CableTray의 OrientedRangeBox 구하기

 S3D의 객체에는 RangeBox라는 객체의 크기를 가지는 속성이 있습니다. RangeBox는 글로벌 좌표계에서 Min, Max 좌표를 가지고 있습니다. 객체가 $X$축,$Y$축 또는 $Z$축에 놓여있을 때는 RangeBox와 실제 크기가 일치하겠지만, 그 외의 경우에는 RangeBox의 크기가 실제 크기보다 큽니다. 따라서 모든 경우에 객체 크기에 정확히 일치하는 크기를 구할때 RangeBox는 부적합합니다. 심지어 $X$축,$Y$축 또는 $Z$축에 놓여있을 때에도 RangeBox가 실제 크기보다 조금 더 큽니다. 모든 경우에 객체의 실제 크기와 같은 RangeBox를 구하기 위해서는 OrientedRangeBox를 구해야 합니다. 왜 S3D에서 객체의 속성으로 OrientedRangeBox를 제공하지 않는지 모르겠습니다. OrientedRangeBox는 아래와 같은 구조를 가지고 있습니다. Cable Way/Cable Tray 객체는 Start, End, 코너의 8개점, Length, Width, Depth 정보를 가지있습니다. 8개의 코너 점은 실제 형상보다 큰 지점을 가리키고 있고 Start, End는 실제 형상의 단면의 중점입니다. 코너의 8개의 점들은 객체를 이루는 두 단면의 4개씩의 점들로 이루어진다고 생각합니다. 제가 디자인했다면 이렇게 했을겁니다. 아무도 뒤죽박죽 점들의 순서를 정하지 않았을겁니다. 그렇지 않다면 제 손에 장을 지지겠습니다. 이제 이 8개의 점들로 객체의 Width, Depth 벡터를 구하면 OrientedRangeBox의 3 벡터를 결정할 수 있습니다.  $\overrightarrow{P_1-P_0}$과 $\overrightarrow{P_3-P_0}$ 중에서 객체의 $\overrightarrow{Width},\overrightarrow{Depth}$를 선택해야 합니다. 객체의 Width ,Depth 크기를 알고 있으니 $\overrightarrow{P_1-P_0}$와 $\overrightarrow{P_3-P_...

[S3D] 프로젝트 분투기

 발등에 불이 떨어졌습니다. 현재 진행 중인 2월 중간 보고에 고객사 부사장님이 참석한다고 합니다. 이미 2개의 프로젝트가 절뚝거리며 진행하고 있기 때문에 지금 프로젝트는 제대로 해야합니다. 네트워크 망 구성과 최단 거리 찾기(Dijkstra 기반) 알고리즘에 대한 코드를 정리한 후에 김** 차장과 결과를 확인하기로 했습니다. 이렇게 From, To Cable Way를 선택한 후에 버튼을 눌러 결과가 나오기를 기다렸습니다. 1분가량의 시간이 흘렀습니다. 드디어 프로그램에서 From에서 To로 가는 4,128개의 경로를 찾았습니다. 우리가 생각하지도 못한 길을 찾다니 하고 감탄하고 있을때가 아닙니다. 무려 4,128개의 경로라니요, 눈으로 보기에는 고작 대여섯개의 경로만 보이는데 말입니다. 우리의 예측과 실제 결과가 다를때에는 그 원인을 찾아야 합니다. 고단하고 손가락 아프고 눈이 시린 디버깅의 시작입니다. 반드시 4,128개 경로들의 차이점을 찾아야 합니다. 어... Cable Way를 구성하는 Feature의 RangeBox가 실제 형상보다 크게 잡히는 것을 확인했습니다. 실제 형상과 동일한 RangeBox를 예상하고 있었는데 우리의 예상이 빗나갔습니다. RangeBox 우리의 잘못이 아닙니다. 지랄맞은 S3D입니다. Insulation, Maintenance, Operation Aspect 때문일까봐 켜보고 다시 확인해봤지만 결과는 변함이 없습니다. 밤은 늦었지만 어쩔수 없이 김** 차장에게 전화해 물어봤지만 뾰족한 방안은 없습니다. 모든 주어진 데이타와 대학교 1학년때까지 쌓은 수학적 지식을 총동원하여(사실 중학교때까지의 지식만으로도 충분했습니다.) 형상에 딱 맞는 RangeBox(실제는 OrientedRangeBox)를 구했습니다. Cable Way Feature 형상에 딱 맞는 OrientedRangeBox 구하는 방법은 다음 글에서 이야기하도록 하겠습니다. 밤 9시가 넘어가고 있습니다. 집중력이 떨어지고 있습니다. 나이들어 야근은 무리라는 걸...