Work2011. 6. 15. 00:00

엔지니어링 쪽에 일하시는 분들, 특히 저 같은 도로설계에 몸 담고 있는 분들은
각종 기준, 지침.. 흔히 말하는 교과서에서 여러가지 노모그래프(Nomograph)를 만나게됩니다.
즉 어떤 값을 알고자 할 때 노모그래프를 읽어서 값을 찾아야하는 것인데
이게 만만치가 않고 번거롭고 사람마다 오차도 많습니다.
제대로된 원 식이 있다면 그 식을 이용하면되지만
원 식을 찾기도 어렵고 찾아도 적용하기 어려운 경우가 많죠

이 경우
그림으로된 그래프에서 다항식을 도출하여 식을 찾고
그 식을 이용하여 값을 산출한다면 노모그래프를 이용하는 것보다 정확하고 간편하겠죠.
도로 설계에서는 대표적으로 포장구조계산에서 많이 활용될겁니다.
이미 이렇게 다항식을 도출하여 포장구조계산 엑셀 시트를 작성해 놓은 것도 많을테구요.
저 또한 공개하진 않았지만 제가 만든 포장구조계산 엑셀 시트가 있긴 합니다..

서론은 접고..
아래는 그림으로된 그래프에서 다항식을 도출하는 과정입니다.
여기서 사용된 프로그램은 Golden Software Grapher 입니다.
꼭 이 프로그램이 아니더라도 그래프에서 다항식을 도출해주는 여러 프로그램이 존재하겠지만
제가 아는 것은 이것밖에 없어서 이 프로그램으로 설명합니다.

1. 먼저 그래프가 있어야겠죠.
예를들어 이런 그래프가 있다고 하면.. 각 X에 대응하는 Y 값을 읽어야합니다.
눈으로 읽는것은 한계가 있고

제일 좋은 것은 오토캐드에서 불러들여 벡터라이징(Vectorizing)하는 것이 좋습니다.

불러들여서 그대로 따라 그리는 것이죠.
벡터라이징을 해주는 프로그램이 많지만 이런 것을 이용하면 더 엉뚱해지니

직접 따라 그리는 것이 낫습니다.
사실 이게 제일 중요합니다. 값을 가능한한 정확히 읽어야 하니까요.
읽은 X, Y 값은 엑셀에 써 놓는 것이 편합니다.



2. Grapher 프로그램을 실행합니다.


3. Grapher의 워크시트 관리자(Worksheet Manager)에 값을 넣습니다.
엑셀에 적어놓은 X,Y값을 복사해서(Ctrl+C) 위 화면의 엑셀과 똑 같이 생긴 Worksheet Manager의 창에
셀 하나를 선택한 후 붙여넣기(Ctrl+V) 합니다.


붙여넣기 하는 중 아래와 같은 메세지가 나온다면 그냥 무시합니다.
복사한 원본과 폰트가 안맞으니 기본 폰트로 설정한다는 메세지입니다.


4. 2D 그래프를 그립니다.
Grapher의 Worksheet에 오른쪽 마우스 버튼을 눌러 아래 그림과 같이 2D XY 그래프를 그립니다.


오른쪽 마우스 버튼을 눌렀는데 위와 같은 컨텍스트 메뉴가 없다면
아래 그림처럼 Graph 메뉴에서 실행해도 됩니다.


5. Plot 창에 그래프가 그려졌습니다.
값이 튀는 것이 없는지 확인해보시고 다음으로 넘어갑니다.


6. 그래프의 값으로 피팅(Fitting)합니다.
Plot 창에 그려진 그래프를 선택하면


우측 아래 특성 창에서 Plot 탭의 Fits 항목에 <Click here to add/edit fits> 부분을 누릅니다.


Available Fits 항목에 여러가지 미리 입력된 식이 있는데 우리가 원하는 것은 다항식이므로
[Define] 버튼을 눌러 추가해야합니다.


① 이름 항목은 아무거나 입력합니다.
② 수식에는 다항식을 입력합니다.
예를들어 4차 다항식이라면 Y=AX^4+BX^3+CX^2+DX+E 인데요
이 식의 X를 풀어 쓰면 Y=A*X*X*X*X+B*X*X*X+C*X*X+D*X+E 가 됩니다.
여기에는 풀어 쓴 식을 입력합니다.
아래 그림은 8차 다항식이되겠죠
Y=A*X*X*X*X*X*X*X*X+B*X*X*X*X*X*X*X+C*X*X*X*X*X*X+D*X*X*X*X*X+E*X*X*X*X+F*X*X*X+G*X*X+H*X+I

③ Auto Add Parameters 버튼을 눌러 자동으로 매개변수 값을 추가합니다.
④ OK 버튼을 눌러 이 창을 종료합니다.


① 창을 나오면 방금 정의된 식이 보입니다. [Add] 버튼을 누르면
② 창에 정의한 다항식이 추가됩니다.
③ [All fits above]를 눌러 피팅을 합니다. 
피팅이 완료되면 결과가 ⑤번 창에 보입니다.
이 창의 스크롤바를 내려서 변수에 해당하는 값을 가져다 써도 되고


④ [Report] 버튼을 누르면 아래와 같이 Fit 결과가 새로운 창에 표시됩니다.
정의한 다항식이 보이고 각 매개변수에 맞는 값이 보여집니다.
맨 아래 R-squares 값이 0.9999... 로 잘나왔네요
R-square 값이 1에 가까워야겠죠. 너무 낮은 값이 나왔다면
다항식의 차수를 조절하여 다시 피팅해보세요


7. 원본 그래프와의 비교
오른쪽 위에 객체 관리자 창을 보면 원래는 없었으나 Fit 후에 만들어진 Fit 이라는 그래프가 보입니다.
이 항목을 선택 후


아래 특성 창을 보면 Line 탭에서 색상을 빨간색으로 바꿉니다.
바꾸는 이유는 Fit되어서 새로 그려진 그래프도 검은색이라 원본 그래프와 비교가 안되기 때문이죠


값을 바꾼 후 Plot 창을 보면 아래 그림처럼 Fit된 그래프가 생성됩니다.
마우스 휠을 굴려서 확대해보면 원본 그래프와 어느 정도 다른지 확인이 됩니다.


완료되면 위 다항식과 매개변수를 가지고 엑셀 등에서 활용하면
노모그래프를 눈으로 읽지 않고 바로 값을 산출하는 식이 만들어지므로
활용도가 높게됩니다.

전 위 식을 이용하여 AutoCAD에서 로그 그리는 간단한 프로그램을 만든 후
AutoCAD에서 위 그래프를 아래 그림처럼 그려보았습니다.



Posted by 아저씨~