stdio


Random ramblings of a anonymous software engineer. Contains occasional profanity. Personal opinions, not related to employer.


고등학교 수학과 블랙베리 패스포트

대한민국의 교육 과정을 밟아온 사람이라면 누구나 반강제적으로 도대체 어디다 써먹어야 할지 모를 것들을 배우는데, 그 중 기초 수학에서 (공통수학이라는 이름이었던걸로 기억되지만, 교육 과정이 여러번 개편되면서 이름이 바뀐 듯 하다.) 다루는 피타고라스 정리를 실생활에 접해볼 수 있는 간단한 실험(?).

애석하게도 동양의 교육 시스템이라는게 가르칠 때 이런 예를 보여주면서 학생들의 관심을 끌어서 흡수를 할 수 있도록 하는 교육 과정이 아니라는데에 아쉬움을 좀 느끼는 부분이 있는데, 이건 교육 과정을 착실하게 밟아온 사람이 비판을 하는게 더 맞을 것이라는 점과, 그런 무거운 주제를 다룰만한 그릇도 안되니 거기까지.

본론으로 들어가서, 이런 글을 쓰게 된 이유는 블랙베리(구 RIM)에서 이번에 내놓은 "패스포트" 라는 제품이 굉장히 특이한 형태를 갖고 있어서 그런데, 모양을 보여주자면 이렇다. 문제는 저 화면이 무려 4.5인치라는 것인데, 수치상으로는 별 것 아닌것 처럼 생각될 수 있지만 문제는 우리가 일반적으로 접하는 수치는 4:3 비율이라는 것이다. (바지 주머니에 넣을 수 있는 크기인 블랙베리 Q10의 경우 3.1인치이다.)

이게 대체 어느 정도 사이즈인지 궁금한데, 화면 크기 말고는 정보가 없었다. 궁금함을 잘 못참는 인간이라, 궁금증을 해결하기 위해 계산을 해보기로.

Blackberry Passport 출처: Crackberry

현재 알고 있는 수치들은 다음과 같다.

  • 화면 크기는 4.5인치이다. (환산시 114.3mm)
  • 화면은 정방형이다.
  • 흘러다니는 이미지마다 다르지만 위 이미지의 경우에는 가로 208px, 세로 296px 이다.

(지금은 실제 크기가 공개된 바 있는지 모르겠으나, 이걸 처음 계산해봤을때에는 없었다. 만약에 공개된 바 있다면 한번 비교해보는것도 좋을 것 같다.)

위 수치들을 대입해본 이미지

여기서 중요한건 대각선도 픽셀로 측정은 가능하나 (4.5인치에 해당되는 변이 260픽셀 정도 나오니, 0.439615385mm/px - 실제로 얼마나 정확한지는 이후에 비교해보겠다.), 대각선 subpixel 거리 측정이 가능한 도구가 없다는 가정하에서, 재미를 위해 그냥 계산을 해보는것으로. 알기 쉽게 우리가 익숙한 삼각형이 어디에 쓰일지 그림에 얹어두었다. 그림에 표시는 해두지 않았으나 픽셀 거리로 x는 188픽셀이다.

그럼 여기서 우리가 익숙한 그것이 등장할때가 되는데,

피타고라스의 정리

출처: Wikipedia

이미지를 매번 작성할 수 없어 이후에는 아래와 같이 약식으로 표현을 하겠다. (대부분 브라우저의 MathML 지원이 바보가 된 마당이고 TeX를 도입하기에는 너무나 간단한 내용이라..)

pow(a, 2) + pow(b, 2) pow(c, 2)

물론 어떤 무책임한 인간이 남겨놓은 자매품도 있으나, 이건 내가 이야기하는 것 보다 을 보는게 빠르다. 재미있는 책이니 시간이 있는 사람이라면 꼭 읽어보라고 권해주고 싶다. 자매품에 대해서는 그냥 언급만 하고, 이렇게 생겨먹은 정리이다.

n이 (n > 2)인 정수일때, pow(a, n) + pow(b, n) == pow(c, n)가 성립되는 양의 정수 a, b, c는 없다.

다시 본론으로 돌아가서, 대립을 하게 되면, 다음과 같이 된다. 이전에는 이런걸 해야할때 대부분 bc로 했으나, 시대의 변화에 맞춰 전부 Alfred를 이용해서 하였다. (sqrt의 경우 기본 계산 기능으로 안되는데, 설정의 Features > Accessories > Calculator > Advanced > Enable advanced calculator with keyword '='로 가능하다. 설정 활성화 후에 =sqrt(value) 식으로 가능.)

직접 해보고 싶으면 기호에 따라서 편한걸 이용하면 되겠다. OS X를 사용하는 사람이라면 Perl, Ruby, Python, [1] JSC shell이 시스템에 기본적으로 딸려 나오니 뭐든지 손에 익은걸 이용하면 될 듯 하다.

한 단계씩 간략화 시키면서 x를 구하려고 하면,

pow(x, 2) + pow(x, 2) == pow(114.3, 2)

2 * pow(x, 2) == pow(114.3, 2)

2 * pow(x, 2) == 13064.49

pow(x, 2) == 6532.245

x == sqrt(6532.245)

x == 80.82230508962238 (화면 한 변의 길이)

주입식 교육으로 단련된 대한민국 사람이라면 다들 알고 있을 고등학교 기본 수학이다. 그럼 x가 188픽셀이므로, 한 픽셀당 약 0.43mm가 된다. (실제로 계산된 값은 0.429905878 이나 편의를 위해 소수점 둘째자리까지만 이용하겠다.)

이에 따라, 계산 최종 결과는 다음과 같다.

208 * 0.43 == 89.44mm

296 * 0.43 == 127.28mm

이렇게 되면 어떤것이든지 저 원본 이미지에 나란히 놓고 비교가 가능한데, 대입식은 다음과 같다.

actual_size / mm_per_pixel pixel_length

ISO/IEC 7810 ID-3표준 여권 크기 (125mm x 88mm)를 대입하면, 약 204px x 290px가 나오게 되고 (88 / 0.43, 125 / 0.43), 그걸 여권 샘플을 스캔한 이미지를 갖고 해당 크기로 리사이즈해서 나란히 놓고 보면 이렇다.

블랙베리 패스포트와 여권

어디까지나 추정이지만, 패스포트라는 이름은 이래서 붙은것 같다. 어디까지나 추정.

마지막으로, 앞에 포토샵을 이용해서 대각선 픽셀 길이로 계산한것이 맞는지에 대한 검증. (실험에 이용한 포토샵 버전은 CS6 13.0.6이며, 최근 몇년간 어도비의 태만함을 감안하면 가능성은 낮다고 판단되나 이후에 CC버전 등에서 바뀌었을 가능성도 있다.)

208 * 0.439615385 == 91.44mm
296 * 0.439615385 == 130.12615396mm

이 되고, 이에 따라 화면 한 변의 길이가 다음과 같이 계산되는데,

188 * 0.439615385 == 82.64769238mm

아무래도 좀 이상하다. 검증을 해본 결과 116.931mm, 즉 4.60358 inches가 된다. 포토샵의 대각선 subpixel 측정의 오차인지 조작 미숙인지는 알 수 없으나, 꽤 오차가 심하다고 판단할 수 있다.

실제로 상품 비교 서비스나 이런데서 이런 기능을 제공하고 있는지는 모르겠지만 그런걸 구현할때 도움이 될지도 모르겠다.

결론

  • 블랙베리 패스포트는 이름 그대로 여권 크기이다.
  • 고등학교때 배운게 가끔은 쓸모가 있다. 할 수 있을때 공부해라.
  • [2] 포토샵을 캐드 대신 사용하면 나중에 엿먹는 수가 있다. 저 정도 오차에 가공 오차까지 더해지면 돈 날리기 딱 좋다.

뻔한 내용이지만, 나중에 자식이 생기면 가르칠때 써먹어야겠다는 생각에 정리해본 것이다. 근시일 내에 생길 가능성은 없지만, 성격이 조금이라도 나 같은 아이라면 그냥 주입식은 절대 먹히지 않을꺼라는 걱정이 앞서서 적어둔 기록.

[1] 애플에서 대외적으로 이야기하지는 않는 듯 하지만, JSC shell은 다음 명령으로 실행할 수 있다. /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc

[2] 캐드 대신 사용할 수 있는 수준의 어도비 툴이라면 일러스트레이터를 추천한다. 직접 해본 결과 작업하기도 좋고 결과물도 가공해주는 곳에서 받아줄 수 있으면 꽤 정확하게 나온다. 직접 작업해본 예로 해드폰 앰프 앞 패널이 있다.