iPhone에서 내 위치 찾아보니..

오늘 iPhone으로 핸드폰을 바꿨습니다. 이것 저것 만지작 거리다가 나침판 기능이 있글레 한번 실행해 보았습니다. 핸드폰을 이리 저리 돌려가면서 살펴보니 화면상의 나침판 화살이 계속 한쪽 방향만을 가리켜 줍니다. 이 방향이 북쪽이라는 의미겠지요. 참 기특하긴 한데… 근데… 정말 이 방향이 북쪽인지는 모르죠.. 뭐 그런가부다하고.. 있다가..

여기서 뭔 버튼을 하나 누르니.. 구글맵이 뜹니다. 그리고.. 내 위치라고 하면서 표시가 되는데.. 상당히 정확하게 나타냅니다. 여긴 실내인데… 어떻게 이렇게 정확하게? 오로지 GPS 기능만 가지고 이렇게 한건가? 근데 GPS에 북쪽 방향을 알아내는 정보가 원래 있었나?

사용자 삽입 이미지
예전에 휴대용 GPS 로거를 사려고 했던 적이 있었습니다. GPS 로거를 가지고 다니면 나의 행적을 좌표로 뽑아 낼 수 있거든요. 하지만 이젠 iPhone의 기능을 이용하면 GPS 로거의 기능은 충분히 할 수 있을 듯합니다. 이거 응용해 보려면 직접 만들어(개발해)보면 좋겠다 싶습니다. 머리속에서 한번도 생각치도 않은 해킨토시가 아른거리네요.. 아이폰 개발은 Object C++인가를 쓴다는데…

모바일 3D 그래픽스 출간

드디어 책이 출간되었습니다. 그제 출간되었다는 연락을 받았을 때는 매우 기뻤는데, 또 막상 출간된것을 확인하고 보니 좋습니다. 아마 처음으로 번역이라는 것을 해봐서 그런지 출간까지의 소소한 과정들이 여러가지 큰 기분으로 다가서는 듯 합니다.

사용자 삽입 이미지

이번에 구글 안드로이드 폰이 국내에 출시되면 구입하려고 벼르고 있습니다. 모토롤라에서 모토로이라는 안드로이드 OS가 탑재된 폰이 2월 초부터 판매된다고 하니… 이미 2년 약정기간이 지난 제 폰을 바꿀 수 있을듯합니다.

안드로이드 폰 쪽으로  개발에 시간을 내 해보려고 하는데요. 그에 대한 연장선으로 모바일에서 3D 그래픽을 적용해 볼 수 있을 듯합니다.

참고로 아이폰이나 Windows Mobile에서도 OpenGL ES를 지원하니 이 책의 내용을 적용해 3D 그래픽을 적용할 수 있습니다. 관심있으신 분들은 살펴보시기 바랍니다.

[C#] 동적 Bitmap 생성

.NET에서 C# 코드로 비트맵을 생성하고 생성한 이 비트맵에 원하는 그래픽 요소를 그린 후 스트림에 전송하는 방법에 대한 정리입니다. 매우 간단한 내용이지만 그래픽에 대해 관심이 많은 개발자로써 천천히 정리해 봤습니다.

int w = 100;
int h = 100;

Image img = new Bitmap(w, h);
Graphics grp = Graphics.FromImage(img);

위의 코드는 100×100 크기의 비트맵 이미지를 생성하고 이 이미지에 그래픽 요소를 그리기 위한 Graphics 클래스의 인스턴스와 바인딩 합니다. 이제 Graphics 클래스의 인스턴스 변수인 grp를 이용해 우리가 원하는 그래픽 요소를 그릴 수 있습니다. 아래는 간단하게 선을 그리고 파일로 저장하는 코드입니다.

grp.DrawLine(Pens.Aqua, 10, 10, 90, 90);
img.Save("d:/a.bmp");

저장된 파일은 아래와 같습니다.

그림을 살펴보면.. 그래픽 객체로 직접 선을 그린 픽셀을 제외하고 나머지 픽셀들은 모두 투명이라는 것을 알 수 있습니다. 그리고 아래의 코드는 비트맵 이미지를 구성하는 픽셀 하나 하나에 대한 색상 정보를 가져올 수 있는 힌트를 제공하는 코드입니다.

Bitmap bmp = img as Bitmap;
Color clr = bmp.GetPixel(10, 10);
MessageBox.Show(clr.ToString());

MessageBox를 통해 Color타입의 clr을 toString 매서드를 통해 얻은 값은 아래 그림과 같습니다. 자바와 같이 C# 역시 모든 객체에 대해 toString() 매서드를 제공하여 자신에 대한 정보를 사용자가 읽어 파악할 수 있는 문자열 형태의 값을 제공하고 있습니다.

사용자 삽입 이미지
끝으로 픽셀값을 Color 타입으로 가져오고 있습니다. Color는 퍼포먼스를 위해서 클래스가 이난 구조체 타입으로 선언되어 있습니다.

말하는 시계… 요게 몇년도에 맹근거냠… -_-;

잠시 인터넷 탐색을 하던 중에.. 개인적으로 경악스러운 프로그램을 발견했습니다. “말하는 시계”..! 델파이.. 라는 언어를 한창 공부하고 공부차원에서 자잘한 프로그램 만들던 대학생때.. 그때가 97년인가.. 98년인가.. 아마 98년인듯합니다.

네.. 제가 그때 만든 프로그램이 2010년까지 살아서 사용되고 있다는 것을 알았습니다. 혹시나 해서 말하는 시계로 검색해보니… 몇몇 블로그에서 소개를 해주시고 있네요.. 이런 감사할 일이…. 보답을 어찌 해드려야 할지.. ㅠ_ㅠ 근데 참으로… 신기합니당.. 감회도 새롭구….

또 이런 일도 있었습니다.. 제가 델파이로 만든 퍼즐 게임.. 비루스(ViRus)라는 프로그램이 있었는데.. 그 당시 천리안에 소스까지 올렸더랬는데.. 언제 보니 델파이 책에 그 프로그램 소스가 실렸더군요.. 델파이 학습용 샘플 프로그램으로써 말입니당.. 델파이에 대한 추억이 생각나네요… 참 좋아라 했던 개발툴이였는데…………

사용자 삽입 이미지

여하튼~ 이거 제가 만들었시유~~ ^^* 라고 자랑질을 해봅니당.. 제작자에 관하여를 보니.. 제 닉네임이.. jackass였군요. 당나귀.. 바보.. 촌놈이라는… 세상 순수하게 살겠다는 의지를 불태우던 시절이였죠.. 한국 토목의 세계 전산화 일류를 꿈 꿨던…….! 내가 이런 꿈도 꿨나?? ^^; 암튼 멋진 놈이였군요.. ㅎㅎ

어제 오전 11시에 출근해서 오늘.. 그러니까 지금 시간(아침 6시 10분)까지 사무실에서 작업를 했습니다. 정말 모처럼이군요.. 가능한 철야나 야근을 하지 않는다는 주의로써… 이런 작업 방식도.. 나쁘지 않다라는 불길한 생각이 듭니다. 이제 퇴근해야겠습니다……..