New Graphics의 스타일 적용 사례

http://blog.daum.net/swrush/418        (NG 체계에서 축(Axis)의 세부 조정 예제 / 이상우)

위 링크는, New Graphics 체계에서 축의 속성을 조정하는 방법에 대한 이상우 박사님의 글입니다. 키워드로 그래픽을 제어하는 방식의 Direct Graphics에 비해 오히려 복잡해 보일 수도 있지만, 오브젝트 기반의 New Graphics는 놀라운 장점을 가지고 있습니다. 그래픽 오브젝트 변수만 쥐고 있으면 언제든 어떤 일이든 수행할 수 있는 것입니다. 링크의 예제에서 PL 변수 말이죠. 저 PL 변수가 쉴 새 없이 등장하는 것은 다 이유가 있습니다. 이 변수만 있으면 그래픽에 대한 모든 통제가 가능하다는 것을 보여주고 있는 것이죠. 그래서, 링크의 글에 나오는 내용이 복잡해 보이더라도, 이 설정들을 묶어 하나의 프로시저로 만들어 놓고, 이 프로시저에 PL 변수만 넘겨 주면, 원하는 스타일이 적용되는 것을 볼 수 있습니다.

set_ng_style 프로시저는 이상우 박사의 글에 나오는 그래픽 설정을 적용하는 프로시저입니다. 프로시저로 그래픽 오브젝트 변수를 넘겨주면, 이에 대해 필요한 설정들을 적용합니다.  이상우 박사님의 글에서는 애초에 PLOT() 함수로 그릴 때, AXIS_STYLE=1 로 설정함으로서 위쪽의 X 축과 오른쪽의 Y축을 그리지 않고 시작을 했는데요, set_ng_style 프로시저에서는 gr[‘axis2’].hide = 1 (위쪽의 X축)과 gr[‘axis3’].hide = 1 (오른쪽 Y축)을 감추는 설정으로 해결하였습니다. 그 외에는 모두 이상우 박사님 글에 자세히 설명된 내용입니다.

수십년을 살아온 Direct Graphics에 비해 New Graphics는 아직 다양한 팁이나 꼼수가 널리 알려져 있지는 않습니다. 그럼에도 제가  New Graphics 위주로 전향한 것은 이것이 장기적으로 분명히 더 좋은 체계이기 때문입니다. 이미 그래픽 품질의 우수성은 잘 알려진 것이고, 오브젝트 기반의 프로그래밍 스타일을 따르기 때문에, 개발 편의성도 좋습니다. 기본적으로 30년 가까이 나이 차이가 나는 체계입니다. IT 세계에서 30년이라는 게 어떤 시간인지 굳이 따질 필요도 없을 것입니다.  아직 Direct Graphics에 머물고 계시다면, 급한 일 없으실 때, New Graphics를 차근차근 시도해 보세요. 기본 문법은 Direct Graphics와 의도적으로 매우 유사하게 만들어 놓았습니다. 그래서 시작도 어렵지 않습니다. 시간이 지날수록, New Graphics가 더 발전한 체계라는 것에 공감하실 거라고 생각합니다.