심심해서(?) 만들어본 이미지 변형

PhotoShop이나 PaintShop Pro 또, Kai's Power 시리즈를 보면 수많은 훌륭한 이미지 필터들을 볼 수 있습니다.
그런데, M.C.Ecsher의 작품들에서 언급한 Andrew Lipson 님의 홈페이지를 가보면 또 다른 홀랑 깨는 이미지 변형을 볼 수 있습니다.

바로 그 깨는 이미지


이 이미지를 보고 자극 받아서 비슷하게 만드는 방법을 연구해봤습니다.
사실, Lipson님의 홈페이지에 가보면 수학적인 아이디어를 링크걸어 놨습니다 : 여기 클릭
그런데, 영어와 수학의 압박을 이기지 못하고 저만의 솔루션을 만들었습니다. (VC++ 6.0) 휴~

step1. 원본 이미지 선택 그리고, 영역 설정

그냥 적절한 이미지를 고르면 되지만, 사실, 가운데가 사라지므로 가운데를 잘라버려도 되는 이미지를 골라야 합니다.

사용자 삽입 이미지


step2. 잘라낼 영역 선택

역시 적절히 고르면 됩니다. 아래와 같은 정도가 되겠군요. 가운데 검은 네모 부분이 잘라낼 영역입니다. 여기서는 단지 "예"를 들기 위해 저렇게 설정했는데, 가장 나이스하게 하려면 Lipson 님처럼 액자를 드는 것이 가장 좋을 것 같습니다.
사용자 삽입 이미지



step3. 잘라내고 남은 영역의 정확한 구분

네모의 각 변에 연장선을 그어 영역을 쪼갭니다. 가운데 네모를 빼면 8개의 조각(A-H)로 나뉩니다.
사용자 삽입 이미지


step4. 조각을 잘라붙일 영역 선택

원본 이미지는 저대로 놔눕니다. 그리고, 붙일 영역을 쪼갭니다.
일단 시계방향 나선으로 붙이니까 시계방향으로 적절히 선을 긋습니다.

사용자 삽입 이미지


step5. 조각을 잘라붙일 영역을 정확히 지정

붙일 영역을 정확하게 나눕니다. 상세히....
맨아래 오른쪽은 A를 붙이려니 말이 안되는 그림이 나오더군요.
그래서 B부터 붙이고, 나머지는 A~H를 계속 돌아가며 붙입니다.
사용자 삽입 이미지


step6. 이미지 완성

잘 붙이면 아래와 같은 모습이 됩니다..
사용자 삽입 이미지

- 설명을 적기 위해 이미지를 고르다보니 조금 부자연스러운 결과가 나왔습니다만,
  소스를 고르기에 따라서는 괜찮은 결과를 보여줄 수 있습니다.
- 물론, 일일이 만들어 붙인 것이 아니라 VC++로 프로그램을 만들어 돌렸습니다.


사용자 삽입 이미지

설악산~