삽질하는플머

'여가생활'에 해당되는 글 21건

  1. 책장 넘기는 효과 구현하기 - 1. 2
  2. DKW 프로젝트 시작.
  3. 아이폰 거치대?
  4. 델파이 사용자를 위한 XCode 설정. 4
  5. 스캐치업 첫 삽질.

책장 넘기는 효과 구현하기 - 1.

여가생활/산수공부

산수공부는 원래 네이버 블로그에 포스팅하는데... 가기 귀찮아서 여기에 남김. 나중에 긁어붙이지 머...

아이패드를 출퇴근시간에 밀린 만화책 보는 용도로 잘 써먹고 있다.
요새 이북 어플들에서는 책장 넘기는 효과가 기본처럼 들어가기 시작하는 듯.
이 효과는 어떻게 만드는건지 갑자기 궁금해져서 삽질을 시작해 봄.

일단 A4용지 하나를 이리저리 접어보며 감을 잡아보자.


왼쪽 페이지를 기준으로 좌상단점을 끌어다 페이지 임의의 점에 올려놓은 형상.
이 이동하는 좌상단점의 벡터를 MvTL 이라고 부르자.
페이지 상단의 접힌점과 페이지의 우상단점, 그리고 MvTL 벡터 사이의 관계에 대해 대해 잠시 고민.




만약 MvTL 의 위치에 따른 적절한 접힌점을 계산할 수 있다면 나머지 좌표들도 계산할 수 있을 것이다.

접힌점은 다음과 같은 방법으로 얻을 수 있다. 먼저 페이지 폭만큼의 실을 준비한 다음


실의 한쪽은 우상단점에, 다른 한쪽은 MvTL 에 올리고


페이지 상단 변을 기준으로 실이 팽팽해지도록 당겨지는 점이 된다.



만약 이 상태에서 페이지의 상단이 아닌 팽팽하게 당겨지는 전체 점의 자취를 구한다면??
뭐 볼것도 없이 타원이 되지.

즉 다시말해 MvTL 점과 우상단점으로부터 거리의 합이 페이지 폭이 되는 타원의 방정식과,
우상단점을 지나고 각도가 Th 인 직선의 방정식을 만족하는 점을 계산하면 그 점이 바로 접힌점이 된다.



C 는 페이지의 우상단점, 그리고 -C는 모서리 이동점 MvTL 이다. 각도 Th 는 우상단점->MvTL 벡터의 ArcTan 로 계산할 수 있다.
타원이 이동하고 회전하면 생각하기 귀찮으니까 원점을 기준으로 고민하자. 어차피 C와 R2 사이의 거리만 구하면 되니까.
이 경우 우상단점에서 MvTL 간의 거리를 구해 원점을 기준으로 나누어 원점 기준의 -C 와 C 값을 결정할 수 있다.

원점을 기준으로 한 타원의 방정식은 다음과 같다.




거리의 합을 pw 라고 할 때 타원 장축의 길이는 다음과 같이 구할 수 있다. (여기서 pw는 페이지의 폭이다.)




타원의 성질에 따라 단축의 길이 b 는 다음과 같다.




촛점 C를 지나며 각도가 th인 직선의 방정식은 다음과 같다.




필요한 값들은 대충 갖춰졌으니 두 식을 연립해 풀어보자. 먼저 y 를 갈아치워 x 에 대해 풀어보면




x 에 대한 2차식이 되었으므로 각 항을 근의 공식에 넣어서 풀어주면 된다.
(어차피 컴퓨터가 계산할 꺼니까 식 정리는 대충대충. 저걸 풀어봤자 나중에 입력하기만 힘들어짐.)

x 를 갈아치워 y 에 대해 풀어본 반대의 경우도 구해둔다.




th 의 범위, 즉 1사분면인지 4사분면인지에 따라 적절한 값을 접힌점으로 선택하고 나머지 좌표들을 계산하면 완료.
테스트 해 본 결과 잘 동작하기는 하는데... 계산이 귀찮고 코드가 지저분하다. 그래도 고민한 과정이 아까워 남겨둠.

접힌 종이가 이루는  삼각형의 비례식을 이용한 좀 더 간단한 해법은... 2편에 계속.


------

덤으로 이건... 공식 테스트 하는 화면. 
 



이건 소스와 실행파일.

test.7z


DKW 프로젝트 시작.

여가생활/Others

자세한 이야기는 여기서 하기로 하고...
http://dev.naver.com/projects/dkw/

KLDP를 눈팅하다가 CKW라는 멋진 커멘드 대체품을 소개받게 되었다.
가렵던 부분이 시원해지는 느낌이 드는 기가막힌 물건. 쓰면 쓸수록 아이디어가 새록새록 나오게 되는 녀석이다.
조금 아쉬운 부분이 있어 고쳐볼까하고 코드를 내려받았는데... VS2005 기반이다. 사 줄 사람도 살 돈도 없네.
물론 익스프레스 버전을 쓰면 되기는 하지만... 깔기 귀찮아서... 눈에 잘 들어오고 공짜인 터보델파이 코드로 변환.

옵션부분은 완전히 새로 만들 것이므로 알맹이만 바꿔두었다.
라이센스는 CKW를 따라 GPL v2 로 하였다.


--------

2010.7.9

며칠동안 커밋을 열심히 했더니... 주간베스트 2위~ 신기해서 스샷을 남겨둔다. 


--------

2017.02.21.

네이버 개발자센터 종료. 깃허브에 이력 옮겨둠. 
위키가 날아가서 의욕상실중...

https://github.com/oranke/dkw


아이폰 거치대?

여가생활/맥과 아이폰
책상에 앉아 아이폰으로 영화볼 때 세워놓기가 거시기해서 내놓은 궁여지책.
지금은 아이패드가 있어서 활용도가 떨어졌지만... 한동안 정말 잘 써먹은 아이템.
휴지통으로 보내기 전에 마지막으로 찰칵. (아이폰으로 사진을 찍느라 m4650이 대신 올라갔다.)

델파이 사용자를 위한 XCode 설정.

여가생활/맥과 아이폰
나는 10년 넘게 윈도에서 델파이를 써 왓다. 
 XCode를 깔았는데... 당연한 이야기지만 코드도 눈에 안들어오고 키도 손에 익지 않는다. 
희끄무리 쬐매난 모나콘지 뾰족콘지 보고 있자면 코딩은 커녕 토나온다. 
일단 화면 표시부터 어떻게 좀 해야겠다. 
다행히 내가 좋아하는 FixedSys는 다른 사람들도 좋아하는 물건이라 쉽게 답을 찾았다. 
 
대충 16포인트 정도면 비슷한 느낌이 든다는데... 어디 한 번 다운받아 보자.



오호~ 느낌 좋은데~~

XCode의 Preferences 에서 "Fonts & Colors" 를 "Fixedsys Excelsior 3.01 - 16" 으로 맞춰준 모습. 



이제 코드가 눈에 좀 들어오네. 


다음으로는 키보드 매핑. (키보드 바인딩)
XCode의 단축키를 어느 착한분이 이렇게 정리 해 두었지만...

델파이와 XCode로 검색을 하다가 이런 글이 눈에 띄었다. 

위 파일을  ~/Library/Application Support/Xcode/Key Bindings/ 에 설치하고 키 바인딩에서 골라주면단다.  
터미널에서 여기를 들어가봐도 Key Bindings 가 없길래 잠시 헷갈렸는데... 일단 기본 키바인딩을 한 번 복사해주면 경로가 생긴다. 

아무튼 써 본 느낌은... 오호 그럴듯 해~~~






2010. 10. 28

위의 폰트는 설범에서는 설치도 안되는군. 

다음 사이트의 해법을 따라해보자. 
http://www.insanelymac.com/forum/index.php?showtopic=33207
(언젠지도 모르게 가입되어있다니...)

이 사이트의 링크된 FixedSys.dfont.zip 파일의 압축을 풀어 ~/Library/Fonts 또는 /System/Library/Fonts 에 복사한다. 
이제 폰트를 설정하면 됨. 15포인트로 하면 윈도와 비슷한 느낌을 준다. 


스캐치업 첫 삽질.

여가생활/3DTools
스캐치업으로 끄적여보는 첫 삽질...
3D 툴이라곤 처음 써 본 사람에게 이만큼의 능률을 줄 수 있다니... 스캐치업... 정말 대단하다.



오래전에 지점토로 깨작거리다 귀찮아서 던져버렸었는데...
당연한 이야기지만 손으로 만드는 것 보다 훨씬 빠르군.

길쭉한 말상 덕분에 원숭이같던 인상을 약간 수정하고 간단히 색깔을 지정.
조금 더 낫군...



몸통도 부지런히 만들어보세~~