본문 바로가기

Theory

행렬과 연산 저번에 벡터관련 포스팅 중에 마지막에 벡터의 외적을 구할 때 행렬이 잠시 나왔었는데요, 일단 행렬이라 함은 같은 차원으로 이루어진 다항식을 풀기 위해 나온 방법이라고 생각 합니다. 아무래도 이 포스팅 자체는 제가 애초에 올리고 있는 3D 프로그래밍에 대해 이어지는 내용이라서 차원으로 표현 하는 게 적절 할거 같네요. (위키에서는 "수를 네모꼴로 배열한 것" 이라고 하는데... 그것보다 좀 더 와닿는 내용이길 바래요 :-D) 일단 2차원에서의 예를 들겠습니다. 고등학교때 배우는건가?_ _;(중학교 인가..?????) 방정식에 대해서 배웠을 텐데 잠시 설명 하자면, 일단 아래와 같은 거? x와 y를 변수라고 하는데, 이게 바로 차원을 의미하는 거죠. 2개 밖에 없으니까 2차원~ 그리고 우리는 그것을 좌표 평.. 더보기
수학에서의 Scalar와 Vector 3D 개념을 이해하려면 3차원 세계에 geometric(기하학 인가..??) object를 표현하는 방법을 알아야 하는데 그 밑바탕이 되는 게 지금 할 것 들이에요. scalar : scalar는 geometric 타입은 아니고 단순 수치를 의미. point : 기본적인 3차원 상에서의 geometric object의 위치를 표현 하는 것. 3개의 축(x, y, z)에 의해서 표현. vector : 물리적인 양과 방향을 함께 표현 하는 것. 간단하게 한줄 요약은 위와 같긴 한데, 이게 참 애매하게 아름다워요 :-D scalar는 말 그대로 "양"을 표현하는 수치 입니다. 별다른 의미는 없어요. 단위가 어떻게 되던 간에 그 단위에 맞춘 것으로 나오게 되는거죠. 사과 5개에 scalar 값 2를 곱하면 10.. 더보기
이미지 보간법 공식 더보기
getAffineMatrix 만들기 인자 설명 R_t: 만큼 회전시키는 행렬 R_p, R_p ^-1: 만큼 회전시키는 행렬과 그 역행렬 S : 확대 행렬 알아 둬야 할 사항 IplImage를 변환하는 cvWarpAffine이 받게 되는 CvMat *은 2x3 행렬 이어야 한다. 역변환은 역행렬을 구하는게 아니라 각각 회전된 만큼 역으로 회전하고 역으로 확대시키는 것이다. 수식 회전행렬과 확대 축소는 2차원을 이용한다. (추후에 올리겠지만) 내부에서 2x3의 행렬을 이용하여 이미지를 처리하므로 동일한 형태의 행렬로 넘겨줘야 한다. 바로 2x3으로 만들 수는 없고 아래 와 같은 순서로 2X3를 만든다. 정변환 역변환 이대로 하게 되면 이미지의 좌상단을 원점으로 생각하기 때문에 이미지 자체의 중앙점을 원점으로 잡아 줘야 정확히 회전/확대 된다... 더보기