Transformation - 도형의 이동, 회전, 쉐어, 대칭, 확대,축소
*강*
다운로드
장바구니
소개글
도형의 이동 회전 밀림 대칭 확대/축소 를 싱글다큐먼트에 구현했습니다도형은 3~20각형 사이에서 임의로 원하는 위치에 원하는 모양으로 위치할수 있으며
변환시에는 각각의 콘트롤을 모달리스를 이용하여 다이얼로그로 만들었습니다
복합변환을 위하여 리셋을 하지 않는한 변환된 상태에서 다른 변환으로 이어 갈수 있도록 했고
도형의 모서리좌표와 기준선(점) 도형 좌표축을 색깔별로 구분가능하게 구현했습니다
해당 파일은 보고서가 포함된 파일입니다.
컴파일 실행환경
Microsoft visual c++ 6.0본문내용
● 작성 원리 및 방법• 서론
2차원 평면에서의 어떤 도형의 이동, 회전, 신축, shear, reflection을 MFC의 CDC클래스를 사용하여 Visual C++에서 구현하였다. 이동은 어떤 도형을 상, 하, 좌, 우로 원하는 간격으로 이동 가능하도록 했으며 회전은 시계방향과 반시계방향으로 원하는 회전의 각만큼 이동가능하다. 신축은 도형의 크기가 확대되거나 축소되는 형태이며 쉐어는 도형의 밀림현상을 나타낸다. 대칭 또한 어느 특정한 점이나 라인의 기준에 의해서 대칭이 되어 진다.
이동은 특정한 기준이 상, 하, 좌, 우로 이동되고 회전, 신축, 쉐어는 어느 특정한 점을 기준으로 변화게 된다. 대칭은 특정한 점이나 라인에 의해서 대칭변환 된다.
구현의 형태는 다이얼로그에서 이벤트가 발생하여 다이얼로그내의 함수를 호출하게 되면 그 함수는 xxxView에 정의된 함수를 다시 호출되는 형태를 취한다. 이는 여러 다이얼로그에서 공통의 명령을 여러함수에 각각 실행하기 보단 같은 일을 하는 각각의 함수들이 하나의 함수를 호출하여 그 함수를 공유하면서 함께 사용 할 수 있도록 구현하였다. 예를 들면 다이얼로그에 공통으로 있는 버튼 다각형 그리기에서 클라이언트 영역에 다각형을 그리는 모듈은 다 같다 이는 굳이 다이얼로그별로 따로 만들 필요 없이 공동으로 사용할 모듈을 하나만 있으면 된다. 모듈의 상세한 설명은 본론에서 하기로 하겠다.
<중략..>
enum {DRAWING,TRANSLATION,ROTATION,SCALING,SHEAR,REFLECTION};
enum {RIGHT = 10,LEFT,UP,DOWN};
int polygon; // 다각형
int polygon_count; // 그리는 과정에 사용될 카운트
int trans_select; // 어떤 변환을 할것인지 선택(DRAWING, TRANSLATION, SCALING, SHEAR, REFLECTION)
int translation_select; // 이동변환에 이동할 방향을 선택(RIGHT,LEFT,UP,DOWN)
int is_std_pt; // 기준점(선)을 그리는 방법을 선택
bool is_drawing; // 그리기과정인가
bool is_watch; // 회전 변환시에 시계방향의 회전인가
압축파일 내 파일목록
Transformation.hwp
TRANSFORMATION/DialReflection.cpp
TRANSFORMATION/DialReflection.h
TRANSFORMATION/DialRotation.cpp
TRANSFORMATION/DialRotation.h
TRANSFORMATION/DialScaling.cpp
TRANSFORMATION/DialScaling.h
TRANSFORMATION/DialShear.cpp
TRANSFORMATION/DialShear.h
TRANSFORMATION/DialTranslation.cpp
TRANSFORMATION/DialTranslation.h
TRANSFORMATION/MainFrm.cpp
TRANSFORMATION/MainFrm.h
TRANSFORMATION/ReadMe.txt
TRANSFORMATION/resource.h
TRANSFORMATION/StdAfx.cpp
TRANSFORMATION/StdAfx.h
TRANSFORMATION/TRANSFORMATION.APS
TRANSFORMATION/TRANSFORMATION.clw
TRANSFORMATION/TRANSFORMATION.cpp
TRANSFORMATION/TRANSFORMATION.dsp
TRANSFORMATION/TRANSFORMATION.dsw
TRANSFORMATION/TRANSFORMATION.h
TRANSFORMATION/TRANSFORMATION.ncb
TRANSFORMATION/TRANSFORMATION.opt
TRANSFORMATION/TRANSFORMATION.plg
TRANSFORMATION/TRANSFORMATION.rc
TRANSFORMATION/TRANSFORMATIONDoc.cpp
TRANSFORMATION/TRANSFORMATIONDoc.h
TRANSFORMATION/TRANSFORMATIONView.cpp
TRANSFORMATION/TRANSFORMATIONView.h
TRANSFORMATION/Debug/DialReflection.obj
TRANSFORMATION/Debug/DialRotation.obj
TRANSFORMATION/Debug/DialScaling.obj
TRANSFORMATION/Debug/DialShear.obj
TRANSFORMATION/Debug/DialTranslation.obj
TRANSFORMATION/Debug/MainFrm.obj
TRANSFORMATION/Debug/StdAfx.obj
TRANSFORMATION/Debug/TRANSFORMATION.exe
TRANSFORMATION/Debug/TRANSFORMATION.ilk
TRANSFORMATION/Debug/TRANSFORMATION.obj
TRANSFORMATION/Debug/TRANSFORMATION.pch
TRANSFORMATION/Debug/TRANSFORMATION.pdb
TRANSFORMATION/Debug/TRANSFORMATION.res
TRANSFORMATION/Debug/TRANSFORMATIONDoc.obj
TRANSFORMATION/Debug/TRANSFORMATIONView.obj
TRANSFORMATION/Debug/vc60.idb
TRANSFORMATION/Debug/vc60.pdb
TRANSFORMATION/res/Toolbar.bmp
TRANSFORMATION/res/TRANSFORMATION.ico
TRANSFORMATION/res/TRANSFORMATION.rc2
TRANSFORMATION/res/TRANSFORMATIONDoc.ico
TRANSFORMATION/DialReflection.cpp
TRANSFORMATION/DialReflection.h
TRANSFORMATION/DialRotation.cpp
TRANSFORMATION/DialRotation.h
TRANSFORMATION/DialScaling.cpp
TRANSFORMATION/DialScaling.h
TRANSFORMATION/DialShear.cpp
TRANSFORMATION/DialShear.h
TRANSFORMATION/DialTranslation.cpp
TRANSFORMATION/DialTranslation.h
TRANSFORMATION/MainFrm.cpp
TRANSFORMATION/MainFrm.h
TRANSFORMATION/ReadMe.txt
TRANSFORMATION/resource.h
TRANSFORMATION/StdAfx.cpp
TRANSFORMATION/StdAfx.h
TRANSFORMATION/TRANSFORMATION.APS
TRANSFORMATION/TRANSFORMATION.clw
TRANSFORMATION/TRANSFORMATION.cpp
TRANSFORMATION/TRANSFORMATION.dsp
TRANSFORMATION/TRANSFORMATION.dsw
TRANSFORMATION/TRANSFORMATION.h
TRANSFORMATION/TRANSFORMATION.ncb
TRANSFORMATION/TRANSFORMATION.opt
TRANSFORMATION/TRANSFORMATION.plg
TRANSFORMATION/TRANSFORMATION.rc
TRANSFORMATION/TRANSFORMATIONDoc.cpp
TRANSFORMATION/TRANSFORMATIONDoc.h
TRANSFORMATION/TRANSFORMATIONView.cpp
TRANSFORMATION/TRANSFORMATIONView.h
TRANSFORMATION/Debug/DialReflection.obj
TRANSFORMATION/Debug/DialRotation.obj
TRANSFORMATION/Debug/DialScaling.obj
TRANSFORMATION/Debug/DialShear.obj
TRANSFORMATION/Debug/DialTranslation.obj
TRANSFORMATION/Debug/MainFrm.obj
TRANSFORMATION/Debug/StdAfx.obj
TRANSFORMATION/Debug/TRANSFORMATION.exe
TRANSFORMATION/Debug/TRANSFORMATION.ilk
TRANSFORMATION/Debug/TRANSFORMATION.obj
TRANSFORMATION/Debug/TRANSFORMATION.pch
TRANSFORMATION/Debug/TRANSFORMATION.pdb
TRANSFORMATION/Debug/TRANSFORMATION.res
TRANSFORMATION/Debug/TRANSFORMATIONDoc.obj
TRANSFORMATION/Debug/TRANSFORMATIONView.obj
TRANSFORMATION/Debug/vc60.idb
TRANSFORMATION/Debug/vc60.pdb
TRANSFORMATION/res/Toolbar.bmp
TRANSFORMATION/res/TRANSFORMATION.ico
TRANSFORMATION/res/TRANSFORMATION.rc2
TRANSFORMATION/res/TRANSFORMATIONDoc.ico