Theory/Algorithm 썸네일형 리스트형 Simple Polygon 학교 후배가 지원한 회사의 입사 전 문제로 심플 폴리곤 이라는 문제를 주었어요. (절대 심심해서 그런건 아니고) 마침 UML 만들기도 짜증이 울끈 불끈 쏟아 올라서, 잠시 머리 좀 식혀(?!!) 줄 겸사 한번 풀어 보려고 해요. 어차피 OpenGL 관련해서, 이미 구축해 놓은 베이스 엔진도 있겠다, 테스트도 해볼 수 있기에 시도 했어요 :) 문제 자체는 간단해요. 임의의 점들이 주어 지고, 점들을 이어서 선분이 겹쳐지지 않게 하나의 면으로 만들어 주면 끝! 가령, 아래와 같은 모양새겠죠? 일단 이런 문제해결에는 알고리즘을 만들어 줘야 하고, 그에 따른 자료 구조가 필요 하겠죠! 차례대로 나열해 볼게요. 재료 정점들 주어진 문제 그 자체죠. 언어(Language) 저는 C/C++ 유저이므로 사용 하는 언어.. 더보기 getAffineMatrix 만들기 인자 설명 R_t: 만큼 회전시키는 행렬 R_p, R_p ^-1: 만큼 회전시키는 행렬과 그 역행렬 S : 확대 행렬 알아 둬야 할 사항 IplImage를 변환하는 cvWarpAffine이 받게 되는 CvMat *은 2x3 행렬 이어야 한다. 역변환은 역행렬을 구하는게 아니라 각각 회전된 만큼 역으로 회전하고 역으로 확대시키는 것이다. 수식 회전행렬과 확대 축소는 2차원을 이용한다. (추후에 올리겠지만) 내부에서 2x3의 행렬을 이용하여 이미지를 처리하므로 동일한 형태의 행렬로 넘겨줘야 한다. 바로 2x3으로 만들 수는 없고 아래 와 같은 순서로 2X3를 만든다. 정변환 역변환 이대로 하게 되면 이미지의 좌상단을 원점으로 생각하기 때문에 이미지 자체의 중앙점을 원점으로 잡아 줘야 정확히 회전/확대 된다... 더보기 이전 1 다음