반응형

전체 647

행렬(1) - 게임을 위한 수학

행렬(Matrix)은 캐일리(Arthur Cayley,1821~1895)이 1858년에 발표한 논문에서 처음등장. 이후 에르미트(Charles Hemite,1822~1901),요르딩(Camillie Jordan, 1838~1922)등이 행렬의 이론 발전에 많은 공헌을 함. - 벡터의 확장 - 행 벡터들로 행을 구성하거나 열 벡터들로 열을 구성하여 만들 수 있음. - 행렬을 이용해 컴퓨터 그래픽에서 이동이나 회전이 가능 행렬은 벡터의 확장이라 볼 수 있다. 벡터가 하나의 행 내지는 열만을 표현하는 데 비해 행렬은 행 벡터들로 행을 구성하거나 열 벡터들로 열을 구성하여 만들 수 있음. 이런 행렬을 사용하여 컴퓨터 그래픽에서 점이나 오브젝트 등을 다른 위치로 옮기거나 회전할 수 있음. 변환 - 점이나 오브젝트..

수학 2014.06.13

분노의 역류,Backdraft (1991)

소방대원에 대한 영화는 분노의 역류만한 영화가 없을 정도로 분노의 역류는 화재관련 영화의 대표라 생각합니다. 20년도 더 된 영화지만 세월을 뛰어넘을 정도로 잘 만들어진 영화입니다. 출연 배우로는 커트 러셀, 로버트 드 니로, 윌리엄 볼드윈, 제니퍼 제이슨 리, 유명 배우들의 젊을적 얼굴을 보니 감회가 새롭습니다. 원제인 Backdraft는 역류를 뜻합니다. 불길이 번지는 방향이 아닌 반대로 불길이 잦아들어가는 것은 산소가 없어지기 때문입니다. 밀페된 방안에서 이런 현상이 있을 경우 문을 갑자기 열어 산소가 갑자기 공급되게 되면 불길은 폭탄처럼 번집니다. 이 역류현상은 지금까지 꽤 많은 영화의 소재로 사용되었습니다. 원제는 단순히 Backdraft지만 한국번역 제목은 영화의 내용에 맞춰 참 잘 지었다고 ..

관심사/영 화 2014.06.11

잔잔한 [일드] 나라고 하는 운명에 대하여(2014) 원작 - 시라이시 가즈후미

나오키상을 수상한 작품 '나라고 하는 운명에 대하여' 동명의 드라마로 2014년 방영되었습니다. 이 작품은 버블 경제 붕괴 후 격동의 시대를 살아가는 주인공 아키를 중심으로 인연의 연결고리로 연결되어 있는 사람들과의 이야기입니다. 2001년 911테러 2004년 니가타현의 지진, 이런 역사적인 사건으로 주인공의 운명 또한 인생의 전환점이 됩니다. 5편으로 되어있고, 1993년부터 2004년까지 그리고 그 이후 아키의 인생을 역사적인 사건과 함께 구성했습니다. 첫 편을 보면서 지루할 거라 생각했습니다. 잔잔한 내용의 드라마나 영화가 현 시대의 트랜드는 아니기 때문에, 올드한 드라마를 보는 듯도 했습니다. 하지만 보면 볼수록 잔잔한 영상과이 주는 깊은 분위기와 함께 나의 인생도 돌아보는 계기가 되었습니다. ..

관심사/영 화 2014.06.11

애견샵 엽기토끼 닮은 귀여운 강아지 형제 - 독립문역

퇴근길에 애견센터가 있는데 강아지들이 항상 재롱을 부립니다. 이곳 강아지들은 분양을 기다리는데, 사람들이 지나가면 재롱을 부리며 좋아합니다. 이렇게 분양되어지는 강이지들이 하루가 멀다하고 바뀌는 것을 보면 안스럽기도 하네요. 제발 아무런 책임감 없이 호기심으로 분양해가는 사람이 없길 바랍니다. 오늘은 이곳을 지나오다가 너무 귀여운 강아지들이 새로들어와서 영상을 찍어봤습니다. 엽기토끼가 생각나게하는 외모의 흰둥이들인데, 갓 젖을 땐 녀석들 같습니다. 사실 전 이런녀석들 보면 안스러운 맘이 먼저 생깁니다. 저도 한 강아지와 어릴적부터 20년정도 형제처럼 커왔기 때문에 생명체에게 정을 주지 않으려고 노력하죠. 책임감 있게 애견이나 애완동물의 생을 끝까지 책임지셨던 분들은 아실겁니다. 생명주기가 사람과 다른 동..

일상 2014.05.30

폼페이 최후의 날 실화를 토대로 만든 영화(2014)

폼페이라는 도시는 서기 79년 베수비오 화산의 폭발과 함께 사라진 도시입니다. 역사적으로 엄청난 자연재해라 말할 수 있습니다. 약 2,000명이 사망했는데 이는 이 도시인구의 10%에 해당합니다. 영화를 보면 알겠지만, 폼페이라는 도시는 로마제국의 지배를 받는 항구도시였습니다. 영화에서는 이런 배경묘사가 참 잘되있었기 때문에 역사기록에 쓰여져 있는 폼페이라는 도시와 쉽게 매치가 되었습니다. 그래도 영화기 때문인지 폼페이 화산의 폭발이 정말 쓰나미 수준으로 그려놨습니다. 역시 영화라 그런지.. 아무튼 실화와 비교는 이쯤에서 마치고 영화를 살펴보기로 하겠습니다. 왕좌의 게임에서 존 스노우 역을 맏은 키트 해링턴 주연입니다. 왕좌의 게임은 다 보시죠? 저도 즐겨보지만, 키트 해링턴이란 배우에 대해서 개인적인 ..

관심사/영 화 2014.05.30

직선과 평면의 방정식 - 게임을 위한 수학(4)

오브젝트 충돌 상태를 구하기 위해 직선과 평면의 방정식등의 기하학을 이용합니다. 벡터를 기본으로 하여 직선 및 평면의 방정식을 표현하는 법을 알아보고, 이런 직선과 평면의 교차 관계를 이용해 게임상의 충돌 알고리즘을 구현할 수 있습니다. 이를 위해서는 기하학의 기본이 되는 직선, 평면의 기하 요소들을 정확히 이해하고 그 교차 관계를 계산하는 법을 아는 것이 중요합니다. 광선추적에 관련된 강의를 이해하기 위해서 기본적인 기하학은 꼭 알고 있어야 합니다. 직선의 방정식의 정의 고등학교에서 배우는 직선의 방정식을 기본으로 벡터 형태의 방정식을 사용하는 법을 익히도록 합니다. 게임에서는 벡터형태로 된 방정식을 사용합니다. 여기서 매개변수(parameter) t의 범위에 따라 반직선, 유한 직선으로 직선의 방정식..

수학 2014.05.26

벡터의 개념과 벡터의 내적,외적 - 게임 수학(3)

벡터는 크기만 가진 스칼라의 진화형으로 방향과 크기를 가집니다. 게임 프로그래밍에 필수적인 요소기 때문에 벡터에 관한 내용은 자세히 공부할 수록 좋다고 생각됩니다. 물리계에서 사용하는 힘, 속도, 가속도를 벡터로 표현할 수 있기 때문에 물리엔진의 구현에도 벡터는 필수적입니다. 벡터의 개념은 라그랑즈(1736-1813)가 1788년에 출판한 "Mechanique Analytique"에서 발견되었습니다. 라그랑즈 이후에 벡터의 개념이 수학, 역학, 물리학, 공학 등에 보편화 되는데 100여년이 걸렸습니다. 게임내에서 벡터의 쓰임은 오브젝트의 위치, 운동의 표현, 폴리곤, 카메라나 시선처리, 조명을 위한 법선 처리 등 공간적 방향을 표현하는데 쓰이기도 합니다. 백터의 개념 위 그림처럼 AB와 A'B'는 같은 ..

수학 2014.05.26

box2d의 Testbed 유용한 디자인 패턴 정리

글쎄... 이 디자인 패턴은 어떤 이름일까 아직 모릅니다. 공부를 해나가다 보면 언젠간 알게 되겠지만.... 직접 분석을 했기 때문에 나중에 알게 되겠지만, Box2D의 디자인 패턴은 참 유용하다는 생각이 드네요. 이런 유용한 패턴은 언젠가 꼭 필요할 수 있을것 같아서 정리해 둡니다.. 오픈 소스기 때문에 엔진 자체도 무척 가볍고 c++로 이루어진 결과물이기 때문에 객체지향 관점에서 배울점이 많은 소스입니다. 물론 제 입장에서 말입니다. 그래서 TestBed가지고 놀던중 내부 소스를 살펴 봤습니다. 한국에는 Box2D관련 자료가 턱없이 부족하기 때문에 그냥 혼자서 살펴봤습니다. TestBed는 내부를 들여다보면 Test라는 주요 클래스가 있습니다. Test를 상속받은 수많은 클래스가 존재합니다. 아래보시..

매드캣츠 사이보그 r.a.t.7 게이밍 마우스(Gaming mouse) madcatz rat7 1년 사용기(외관 리뷰)

2012년 겨울에 구입한 madcatz r.a.t.7(rat7) 대한 리뷰입니다. 1년 반을 사용했군요. 사실 게임을 목적으로 구입하긴 했지만, 그동안 바빠서 컴퓨터 게임을 많이 하지 못했습니다. 리그오브레전드를 가끔 했었고, FPS게임은 거의 하지 않았기 때문에 게이밍 마우스의 기능을 100% 사용하지는 못했네요. 그래도 보통 마우스들의 수명이 짧은 것에 비해 여전히 쌩쌩한 요놈을 추천 먼저 해 놓고 리뷰를 작성합니다. 기존 r.a.t.7에서 진화한 2세대 r.a.t.7은 기존 5600dpi가 아닌 6400dpi의 레이저 센서가 달린 놈입니다. 18개의 버튼을 조합하여 사용할 수 있다는 데, 실제로 사용해보진 않았습니다. 물론 전용 프로그램을 설치해야 합니다. 우선 외관에 대한 포스팅을 하겠습니다. 1..

cocos2d-x v3.0에서 Box2D사용할 때 리소스 관리 b2Body 객체의 소멸 시점 지정

cocos2d-x v3.0는 스프라이트가 화면 밖으로 나가면 스프라이트의 소멸이 자동적으로 된다. 반면에 Box2d라이브러리를 cocos2d-x에서 쓰게되면 객체가 화면밖으로 나갔을때 스프라이트는 자동적으로 없어지지만 Box2D Body의 경우는 그대로 존재한다. 하나의 레이어에서 오랜 시간 게임을 하게 될 때 이런 객체들이 쌓여 렉을 유발 할 수 있다. 254 366 verts가 336으로 늘었다. 여기서는 debug모드로 Body만 그린다. 모든 Body를 화면 밖으로 밀어냈지만 GL verts의 수는 줄지 않았다. 주기적인 검사로 Body의 위치를 확인하고 화면 밖으로 나가는 경우 Body를 소멸 시켜야 한다. cocos2d-x지만 Box2d의 Testbed에서 사용하는 경우도 기본 소스는 마찬가지..

cocos2d-x 2014.05.19
반응형