모험을 떠나요

다들 알고 있는 거겠지만, 우리 세계는 용과 마왕이 득시글 거리고 검과 마법으로 성공하는 세상이 아니다. 대신, 재벌과 이념이 우글거리고 돈과 빽으로 성공하는 세상이다. 어떤 의미로는, 더 환상적이라고 해야 할지도 모른다. 용을 무찌르고 드래곤 슬레이어의 칭호를 얻는 것보다, 좋은 대학에 진학하여 우등생의 칭호를 얻는게 더 명예로울수도 있다. 세상을 어지럽히는 마왕을 퇴치한 용사보다 재벌에 입사해서 대기업맨의 칭호를 얻는게 더 명예로울지도 모른다. 혼란에 빠진 나라를 구하여 왕이 되기보다는, 나라를 혼란에 빠트려 대통령이 되는 것이 좀 더 흥미로울 수 있다.

이 던전에는 두가지 문제점이 있다. 하나는 능력치 배분과 등장하는 퀘스트들 사이에 밸런스가 전혀 안맞는다는 점이고, 다른 하나는 파티 모으기가 힘들다는 점이다. 누가 설계했냐.

아파트의 보안

며칠 전, 잠실에 사는 친구네 집에 놀러 간 적이 있었다. 차를 끌고 갔기 때문에, 그 아파트 단지의 주차장에 차를 주차해야 했는데 그 아파트 단지는 입구에서 경비 아저씨가 방문객을 점검하고 방문 호와 목적을 확인한다. 예전에 그 친구의 집이 몇동 몇호인지 들었던 것 같은데, 잘 기억이 안나서 적당히 231동 1404호라고 말하고 들어갔다.

나중에 알고 보니 그 단지는 한 층에 2호까지만 있는 고급 아파트였다. 이것은 내가 무식한건가 경비아저씨가 무심한건가.

모르는 원의 중심

위와 같은 사진이 있다. 저 사진으로부터 녹색 테두리를 갖는 노란색 원의 중심이 어디인지 정확히 결정해야 한다. 좌표값은 픽셀로 주어져 있다.

원본 사진은 보안관계상 공개할 수 없고, 아무튼 내가 얻은 이미지는 저렇게 생겼다.

그래서, 일단 저 원을 이루는 녹색 테두리의 여러 점들을 찍어서 다음과 같은 값을 얻어냈다.

(23, 176)

(156,38)

(33,492)

(8,216)

(43,143)

(42,506)

이 점들은 하나의 원 위에 있는 점이다. (원한다면 수백개의 좌표를 찍어볼 수도 있다.)

일단, 헤론의 공식을 응용한 외접원의 공식을 사용하면 반지름은 얻을 수 있다.

s = (a+b+c)/2

R = abc/(4sqrt(s(s-a)(s-b)(s-c)))

a,b,c는 외접원을 결정하는 삼각형의 세 변의 길이가 된다.

문제는 오차가 생긴다는 점.

최소제곱법을 사용하고 싶은데, 원의 방정식은 다음과 같다.

(x-x0)*(x-x0)+(y-y0)*(y-y0) = r*r

이 원의 x0, y0, r을 얻어낼 수 있다면 좋겠다.

그래서 지금 계산중… (계산 끝나면 이 글은 수정됨.)

2차식을 찾아야 할 때에 최소제곱법을 계산하는 방법을 알아낸 것 같긴 한데, 잘 안된다.

—

결국 정답을 검색했다.


http://www.dtcenter.org/met/users/docs/write_ups/circle_fit.pdf



http://www.ulb.ac.be/assoc/bms/Bulletin/sup962/gander.pdf

난 수학적 재능이 없는가보다.

—

위의 알고리즘을 적용하여 만든 프로그램. 파이썬이다.

import numpy.linalg as la

import numpy

A = numpy.matrix([[23,176],

[156,38],

[33,492],

[8,216],

[43,143],

[42,506],

[4,434],

[180,24],

[41,506],

[5,221],

[253,2]])

avgA = 0

avgB = 0

uu = 0

vv = 0

uv = 0

uuu = 0

vvv = 0

uvv = 0

vuu = 0

for i in A:

avgA+=i[0,0]

avgB+=i[0,1]

avgA/=len(A)

avgB/=len(A)

for i in A:

i[0,0]-=avgA

i[0,1]-=avgB

for i in A:

uu += i[0,0]*i[0,0]

vv += i[0,1]*i[0,1]

uv += i[0,0]*i[0,1]

uuu += i[0,0]*i[0,0]*i[0,0]

vvv += i[0,1]*i[0,1]*i[0,1]

uvv += i[0,0]*i[0,1]*i[0,1]

vuu += i[0,1]*i[0,0]*i[0,0]

U = numpy.matrix([[uu,uv],[uv,vv]])

UU = numpy.matrix([[0.5*(uuu+uvv)],[0.5*(vvv+vuu)]])

S = la.inv(U).dot(UU)

print(S[0]+avgA, S[1]+avgB)

그래서 얻은 답은 (323.8, 327.7)이다. 점이 더 많아지면 더 정확해 질수도 있겠지만…

야근 주의보

아무래도 야근이 늘어날듯. 밥먹듯이 하진 않겠지만. (하루에 3번 야근할 수는 없다.)

18일 – 11시?

19일 – 9시?

22일 – 10시

23일 – 8시

24일 – 8시

25일 – 9시

26일 – 7시

대략 예상되는 다음주 퇴근 시간이다. 물론 오후 시각을 뜻한다.

주택정책


http://www.wowtv.co.kr/news/wownews/view.asp?artid=A201108170128

일찍 결혼하는 부부에게 혜택이 돌아가는 정책이다. 다시말해서, 이미 늦은 사람들은 걍 포기하라는 정책임.

뭐 이래 -_-

흥미로운 점은…

1. 신랑과 신부 나이 중 어느 것을 기준으로 하는가?

신랑 나이를 기준으로 하면 연하의 신랑과 연상의 신부가 늘어날 것이고, 신부 나이를 기준으로 하면 반대 현상이 발생할 것이다. 평균 나이를 본다면 20세와 결혼하는 30대 후반인 사람들이 많아질 것이다.

2. 적어도 이건 저출산 대책은 아니다.

젊은 부부들은 소득이 적다. 대체로 경력이 길어질수록 수입도 많아지는 우리나라의 직업 구조의 특성을 고려한다면, 젊을수록 소득이 적은건 당연하다. 문제는, 육아에는 돈이 매우 많이 들어간다는 점. 어리다고 해도 들여야 하는 돈의 비중은 적지 않다. 1인분을 쳐야 한다. 그러나 어린 친구가 수입이 있을리는 없다. 따라서, 1인당 수입이 줄어드는 수 밖에 없고 이것은 출산 억제하는 방향으로 작용한다.

이것은 무슨 소리인가

다음에서 답변이 왔다.

“신고자로부터 심의 대리 신청서가 접수되지 않아 부득이하게 심의 대리 할 수 없음을 알려 드립니다.”라고 하면?

다음 측에서 심의 대리를 하려고 했는데, 신고자로부터 심의 대리 신청서가 접수되지 않았으니 심의 대리를 할 수 없다. 따라서 심의는 신고자가 직접 신청해야 한다.

다시말해서, “한국 인터넷 선교 네트워크”는 내 게시물에 대한 심의를 직접 신청하겠다는 뜻이다. 과연?

물리학과 수학은 왜 좋은가

물리학이랑 수학은 내가 제일 좋아하는 과목인데, 내가 그걸 왜 재밌어하는지 생각해 본 결과, 나름의 결론을 얻었다.

다른 과목은 학교에서 배운 이론과 실제가 다른 경우가 있는 것 같다. 가령, 학교에서 배운 도덕은 현실에 제대로 적용되지 않는다. 교과서에 나오는 경제는 실제로 경제 생활을 하다 보면 “예외” 투성이이다. 미술이나 음악도 이론적으로 아름다운 작품과 실제로 내가 아름답다고 느끼는 작품이 다를 수 있다.

그러나 물리학이랑 수학은 학교에서 배운 법칙이 그대로 현실과 실무에 적용된다. 1과 1을 더하면 2이고, 3과 4를 곱한 것과 4와 3을 곱한 것은 같다. 힘은 가속도에 비례하고 전기력은 전하량에 비례한다. 위치와 시간을 초월하고, 국가와 이념과 종교를 초월해서 항상 현실에서 성립하는 법칙이다.



[각주:

1

]


이것이 바로 물리와 수학이 매력적인 이유이다.



[각주:

2

]



  1. 그러니까 나쁜 나라든 좋은 나라든 돈만 있으면 핵무기를 개발할 수 있는 것이기도 하지만.

    [본문으로]
  2. 컴퓨터도 비슷하긴 한데, 컴퓨터는 구조가 바뀌면 새로 배워야 하는 부분이 있어서 완전히 일반적이지는 않다.

    [본문으로]