퇴근5분전


음.. 컨트롤을 타원으로 회전시키는 메뉴들...

구심점에서 메뉴들이 빙글 빙글 돌아가는걸 욕심이 생겨 구현해보았다.

타원방정식을 이용하고 컨트롤들을 받아서 좌표값을 회전시키면서 재조정해주었더니 잘된다.

손수 삽질했던 공식으론 원만 그리다가... 타원으로 오니 일그러짐이 많이 생겨서... 타원방정식을 이용해서 둘다 해결하였다.

            // 타원방정식.  http://www.gisdeveloper.co.kr/497  타원방정식.
            // X(t) = Xc + A * cos(t)cos(각) - B * sin(t)sin(각);
            // Y(t) = Yc + A * cos(t)sin(각) + B * sin(t)cos(각);

이 공식을 보고 작업하였으며 

앞으로 나오면 BringToFront()  땡겨줬더니.. 대략 비스므리 하게 된듯 하다.

왼쪽은 컨트롤

오른쪽은 회전중에 스크린샷.

빨간 패널이 구심점이고  구심점을 기준으로 컨트롤들이 제각각 타원으로 회전한다.

독특한 메뉴구성이 필요하거나 할때 쓸모있을듯 한다.

수학이 딸리니 응용은 힘들다..



'# 1) 프로그래밍' 카테고리의 다른 글

TCP.IP 초기 구상 모델...  (0) 2010.05.09
미스테리... vs2008 오류..  (2) 2010.04.19
프로그래밍 설계?  (0) 2010.04.05
Xml 관련 객체가 한번더 정리가 되었다.  (0) 2010.04.01
XML 클래스다루기...  (0) 2010.03.31


 내가 프로그래밍을 접한지 3년이 넘었다.

회사 프로젝트를 하면서 여간 딴짓을 안해본적이 없다.  설계 라는게 한번에 와닿는게 아니기에 중간 중간 많은짓을 해본다.

나만에 방법론을 만들고 그 방법론이 실제 프로젝트와 얼마나 매칭이되는지도 살펴야 하고 다른부분이 어떤지도 파악해야하고 설계에서 구현과정을 담아보려고 무던히도 노력해보았다.

실제 설계 후 코드화 하는 구현단계까지 왔을때 난 여러가지 난관에 봉창한다.

생각지도 않았던 설계상에 오류. 누락된 객체표현등...

우선 내가 하는 방법은
1. 전체 프로젝트의 결과물을 그린다. (종이나 파워포인트에 UI를 그려놓는다 )
2. 이 결과물이 하는 일을 기록해준다.
3. 필요한 객체 목록들을 나열해본다. ( 객체들을 나열할때 시간소비가 많이 들어간다. 어떤객체가 얼만큼에 크기로 만들어져야 되는지.. 고민아닌 고민을 하게 된다. )
4. 객체간 관계를 따지고 언제 어떤데이타를 넘겨줄지 대략 그려본다.
5. 전체 결과물처럼 대략 추상화하여 구현 난이도를 결정해본다.
6. 코드에 들어간다.  각각 객체별 구현하는데 누락된부분은 다시 3번부터 재시작한다.

3~6까지를 두세번 반복하다보면 대충 결과물에 거의 근접해간다. 이때마다 새로운 기능들을 넣고 싶은 욕심이 생기는데
과감히 버려야 한다. 안그러면 네버엔딩스토리가 되므로...

개인 프로젝트를 계획하고 이를 구현하는데 있어서 위 방법으로 해보고 있는데 뭔가 빠진듯하고, 부족해보이는게 많다.

추상화에서 구현으로 들어올때, 추상화 된 부분이 많이 바뀐다. 이렇게 되면 추상화 했던 부분이 많이 바뀌므로 이를 이용한 객체들이 조금씩 틀어지는데 여기서 여러가지 문제가 터지더라...

경험 부족일까? 또는 추상화가 잘못된것일까? 앞으로도 계획된 몇가지 개인프로젝트가 있는데 이또한... 이런 과정을 거치면서 좀더 개발 방법론을 튼튼히... 하다보면.. 나중에 내가 주도하는 개발에 대해서 좀더 체계적으로 나갈수 있지 않을까?

현재 만들어놓은 프레임웍은 그 시초라고 볼수 있겠지만. 이 프레임웍은 현재 닷넷 개발에 쓰기엔 좀 뒤떨어진다.
앞으로의 트랜드에 맞춰서 나가려면 많은부분이 경량화 되고 차세대 버젼에 맞추어 발빠른 업그레이드가 필요한데... 과연
해낼수 있을까? 지금은 2.0이지만 올후반에는 3.5대로... 내년초에는 4.0으로... 빠르게 업그레이드를 해보아야 겠다.

앞으로 체계적인 방법론을 만들기 위해 노력하자.. 아자! 아자!


아마 이게 제일 클것이다.

윈도우용 폼부터 직접 만든 컨트롤 + 여기저기서 수집한 몇개 컨트롤...들...


음 우선 설명은 생략하고...

나중에 다른 문서로 정리해야겠다.

'# 9) My Program(.NET) > JsFW20' 카테고리의 다른 글

JsFW20 설치하기...  (0) 2010.05.22
NetWork 2010 0511  (0) 2010.05.12
XML 2010 0402  (2) 2010.04.03
Plugin 2010 0402  (0) 2010.04.03
Exception 2010 0402  (0) 2010.04.02