본문 바로가기

예전

(133)
[한줄정리] 클래스의 정의 및 특성 문제) 클래스의 정의 및 특성에 대해 기술하시오. - 객체 지향 프로그래밍에서 클래스는 관련된 변수와 함수를 모아놓은 것으로 객체를 호출하기 위한 자료형으로 사용됩니다. - 클래스에는 4가지 특징이 있는데, 그것은 캡슐화, 정보은닉, 다형성, 재 사용성입니다. 캡슐화는 클래스의 여러 기능을 객체라는 하나의 집합으로 묶는 것으로 사용자는 그 객체의 기능만 알면되고, 내부는 알 필요가 없습니다. 정보은닉이란 public, private, protected 라는 접근 제어자를 사용해 클래스 내의 변수와 함수 중 사용자에게 공개할 정보와 숨길 정보를 구분하여, 외부의 접근을 통제하는 것입니다. 다형성은 약속된 인터페이스를 유지하면 얼마든지 다른 객체로 바꾸어 사용할 수 있다는 것입니다. 재사용상은 기존의 클래스..
[한줄정리] 포인터형 변수 문제) 포인터형 변수는 몇 byte인가요? - 포인터는 자료형에 상관없이 주소를 저장하는 변수이기 때문에, 32bits 운영체제에서는 4byte만 할당받습니다.
[한줄정리] 전처리 키워드 문제) 전처리 키워드란? - 전처리 명령이란 컴파일 전에 먼저 실행하는 것입니다. - 전처리 명령어에는 #define, #include, typedef, #pragma, #ifdef, #ifndef 등이 있습니다.
[한줄정리] strlen과 sizeof 문제) strlen과 sizeof의 차이점이 무엇인가요? - strlen은 문자열의 길이를 구하는 함수로 NULL을 제외한 문자열의 길이를 return하고, sizeof는 메모리 공간에 할당된 버퍼의 크기를 return하는 함수입니다. 예를 들면, char szBuf[256] = "miso"; 에서strlen(szBuf) 는 4 이고, sizeof(szBuf) 는 256 입니다.
[3D 수학] D3DXMatrixInverse 의 이해 D3DXMatrixInverse 의 이해 ( 부제 : Direct3D 역행렬 함수의 이해) 1. 2 x 2 의 역행렬 - Direct3D에서 자주 쓰이는 4 x 4의 역행렬을 하기 전에 2 x 2 역행렬 부터 알아보도록 하자. 행렬 A가 이러할 때, 행렬 A의 역행렬은 아래와 같다. - ad - bc 라는 판별식(=행렬식)이 0이 아닐 때만 역행렬이 존재한다. 왜나하면, 판별식의 값이 0이 되면 분모가 0이 되므로 값이 존재하지 않게 된다. 2. D3DXMatrixInverse - 이것은 D3DXMatrixInverse 함수의 매개 변수들의 의미이다.2번째 행렬식의 경우 필요한 경우에 이용되며, 일반적으론 0을 전달한다. pM의 행렬식은 내부에서 따로 계산한다. 3. 역행렬을 구하는 방법 - 역행렬을 구..
[3D 수학] 3D 변환 행렬 1. 이동 - (x, y, z, 1) 벡터에 이동 행렬 T(p)를 곱하면 x축으로 Px, y축으로 Py, z축으로 Pz만큼 이동된 벡터가 나온다. Direct3D에서 사용하는 함수명은 D3DXMatrixTranslate이다. 2. 회전 - 행렬을 이용해 x, y, z축에서 벡터를 회전시킬 수 있다. Direct3D에서 사용하는 함수명은 각각 D3DXMatrixRotationX D3DXMatrixRotationY D3DXMatrixRotationZ 이다. - Direct3D는 왼손 좌표계를 사용한다. 엄지를 위로 하고 검지와 중지를 폈을 때, 엄지가 +y, 검지가 +z, 중지가 +x 축이 된다. 3. 크기 변형 - 벡터에 이동 행렬 S(q)를 곱하면 x축으로 qx, y축으로 qy, z축으로 qz만큼 크기 ..
[3D 수학] D3DX 행렬 Direct3D는 4 x 4 행렬과 1 x 4 행 벡터만을 이용한다. - Direct3D에서 4 x 4 행렬을 이용하는 이유는 이 크기를 이용해 우리가 원하는 모든 변환을 표현할 수 있기 때문이다. 이동이나 투영, 반사 등과 같은 변환은 3 x 3 행렬로는 표현할 수 없고, 우리가 작업하려는 것은 벡터와 행렬의 곱이기 때문에 변환 수행을 위한 행렬 곱 규칙에 제한을 받는다. 4 x 4 행렬로 하면 벡터, 행렬 곱을 이용한 좀 더 다양한 변환을 시도할 수 있다. - 1 x 4 행 벡터에는 포인트의 좌표나 벡터의 성분을 넣는다. 포인트나 벡터는 3D 이다. 때문에 x, y, z 세 성분은 각각의 내용을 넣고, 4번째 인자인 w 성분은 포인터인지 벡터인지 구분하는 인자가 된다. 1 x 4 행 벡터에 포인트를 ..
[3D 수학] 기본적인 행렬 - 행렬이란, matrix라고 하며, 행과 열로 이루어진 수의 배열이다.m x n 행렬은 m행과 n열을 가지고 있다. 때때로 한개의 행이나 열만을 가지는 행렬이 있는데 이를 행 벡터, 열 벡터라고 부른다. 1. 상등 - 동일한 차원을 가지고, 각각의 대응되는 항목이 같은 두 개의 행렬은 같은 것으로 보고 이를 행렬의 상등이라고 한다. 2. 스칼라 곱 - 행렬의 각 항목을 스칼라로 곱하는 방법으로 행렬과 스칼라 곱을 수행할 수 있다. 3. 더하기 - 행렬이 동일한 차원을 가진 경우에는 두 행렬을 더할 수 있다. 4. 행렬의 곱 - 행렬 A가 m x n 행렬이고, 행렬 B가 n x p 행렬일 때, A의 열 수가 B의 행 수가 같으므로 곱이 정의될 수 있다. - 행렬의 곱에서 가장 중요한 성질은 교환법칙이 성..