- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록★─Programing (620)
드럼치는 프로그래머
변환 행렬 이동변환 이동변환은 점 p = ( p(x), p(y), p(z) )를 ( t(x), t(y), t(z) )만큼 이동하는 변환이다. 즉 점 p가 p' = ( p(x) + t(x) , p(y) + t(y) , p(z) + t(z) )로 변환된다. 이 변환에 대한 행렬을 아래의 코드로 얻을 수 있다. D3DXMatrixTranslation(&T, tx, ty, tz); 이동변환 행렬은 다음과 같은 형식의 행렬이 된다. T ( t(x), t(y), t(z) ) = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 이동변환 행렬의 특성으로 T ( t(x), t(y), t(z) ) 의 역행렬이 T ( -t(x), -t(y), -t(z) )이다. 회전변환 회전변환을 위한 행렬을 쉽게 구할 수 있도록..
행렬의 표현 Direct3D에서는 4 X 4 크기의 행렬만 지원한다. 4 X 4 행렬의 표현을 위해서 C++ 구조체 타입인 D3DXMATRIX를 제공한다. 행렬에 대한 연산자 겹지정(operator overloading)과 타입 변환(type casting)의 장점을 지원한다. D3DXMATRIX에서는 먼저 변수만 선언하고, 이후에 행렬을 채우는 식의 작업이 일반적이다. D3DXMATRIX mat; // Direct3D에서 4 X 4행렬의 표현을 위한 D3DXMATRIX타입 변수선언 ZeroMemory (&mat, sizeof(D3DXMATRIX)); // 0으로 초기화 위와같이 0으로 초기화 한후 아래와 같이 값을 대입할 수 있다. mat._11 = 0.64f; mat._22 = 0.48f; 겹지정 연..
벡터표현 D3DX는 3차원 벡터 표현을 위해서 C++ 구조체 타입인 D3DXVECTOR3을 제공한다. 2차원 벡터 표현을 위해서 D3DXVECTOR2가 제공되며 4차원 벡터 표현을 위해서 D3DXVECTOR4가 제공된다. 2차원 벡터표현에서는 필드로 x, y를 가지며, 4차원 표현에서는 x, y, z, w를 필드로 가진다. 모든 연산자 정의는 동일하다. 겹지정 연산자를 통한 벡터 연산 벡터연산은 겹지정된 연산자를 통해서 연산이 가능하다. 벡터의 덧셈은 벡터의 각 요소별 덧셈으로 정의된다. D3DXVECTOR3 u(1.0f, 0.0f, 2.0f); D3DXVECTOR3 v(0.0f, -1.0f, 3.0f); D3DXVECTOR3 sum = u + v; 첫번째 벡터는 (1, 0, 2)이고 두번째 벡터가 (0..
행렬이란 행렬은 벡터를 변환하는 용도로 사용된다. 4 X 4 크기의 행렬 M은 16개의 스칼라 원소들이 4 X 4의 격차로 배치된다. i번째 열과 j번째 행에있는 원소를 m(ij)라고 표시하자. 항등행렬(Identity Maxrix(단위행렬)) : 대각선 값들만 1이고 나머지들은 모두 0인 행렬 0행렬 : 모든 원소들이 0인 행렬 전치행렬(M^T) : 행렬 M의 각 원소들의 위치를 m(ij)에서 m(ji)로 바꾼 행렬 역행렬 : 행렬 M에 대해 NM = MN = I(단위행렬)을 만족하는 행렬 N, (N = M^-1) 두 행렬을 곱하면 새로운 행렬이 되며 그 원소들은 한 행렬의 행과 다른 행렬의 열을 내적하여 구한다. 벡터의 변환 행렬의 가장 중요한 기능은 벡터의 변환이다. 행렬은 벡터를 다른 벡터로 변환..
= 벡터(vector) = 스칼라(scalar) : 하나의 실수값 벡터(vector) : 여러개의 실수들을 의미 있는 순서로 묶어둔 것 => 3차원 공간에서는 보통 3개의 실수를 묶고 이를 3차원 벡터라고 한다. ..... a, b, c 는 스칼라 / u, v, w는 벡터로 표현.... 벡터에 정의된 두개의 연산 - 두 벡터의 덧셈연산 : 두 벡터의 각 원소끼리의 덧셈으로 새로운 벡터를 만드는 연산 - 벡터와 스칼라의 곱셈연산 : 스칼라를 벡터의 각 원소에 곱하여 새로운 벡터를 만드는 연산 벡터는 크기와 방향의 의미를 가진다. 벡터의 덧셈에서는 결합법칙과 교환법칙이 성립한다. 0 벡터는 모든 원소들이 0인 벡터 (0,0,0)이다. 길이가 1인 벡터는 단위벡터이다. 두 벡터를 내적하면 그 결과는 스칼라이다..
백터 상등 D3DXVECTOR u(1.0f, 0.0f, 1.0f); D3DXVECTOR v(1.0f, 0.0f, 1.0f); if(u==v) return true; // 같은지 확인 if(u!=v) return true; // 다른지 확인 벡터의 크기 계산 FLOAT D3DVec3Length{ //크기를 리턴한다. CONST D3DXVECTOR3* pV // 길이를 계산하려는 벡터 ); D3DXVECTOR3 v(1.0f, 2.0f , 3.0f); float magnitude = D3DVec3Length( &v ); // = sqrt(14) 벡터의 정규화 D3DXVECTOR3 *D3DXVec3Normalize( D3DXVECTOR3* pOut, // 결과 CONST D3DXVECTOR3* pV // 정규화..
[윈도우의 정의] - 프로그램이 출력 결과를 내 보내고 사용자로부터 입력을 받아들이는 화면상의 사격영역 [윈도우 클래스] 정의 : 모든 윈도우들은 윈도우 클래스로부터 만들어 진다. 윈도우 클래스는 윈도우를 만들기 위한 형틀이며 생성될 윈도우의 여러가지 특징들을 모아놓은 구조체이다. [윈도우 클래스의 종류] 1. 시스템 전역 클래스 - 운영체제가 부팅될 때 등록되며 주로 컨트롤을 만들때 사용된다. ex) button, edit, scrollbar, listbox 등 2. 응용 프로그램 전역 클래스 - dll에 의하여 등록되며 프로세스의 모든 모듈에서 이 클래스를 사용할수 있다. - 커스텀 컨트롤을 위한 클래스를 DLL에서정의하면 프로그램에서는 DLL을 로드해서 이 클래스를 사용할 수 있다. 클래스 스타일에..
static 멤버 변수를 이해하기 위해서 먼저 알아야 하는 개념은 일반 static 변수이다. 다음 코드는 함수 내에서 static을 선언하는 경우이다. 이 것이 우선 이해가 되어야 클래스에서 사용되는 static을 이해할 수 있을 것이다. // 첫 번째 예제 #include void func1( void ) { static int count = 0; printf( "%d \n", ++count ); } void main( void ) { func1(); // count = 9; , 컴파일 에러, func1()의 지역 변수에 접근이 불가능 func1(); } 위 코드를 실행하면 결과는 다음과 같다. count = 1 count = 2 위 코드를 설명하자면, static은 func1() 함수가 사용하는 전..
C++에서 const 키워드가 사용되어 상수화된 클래스 멤버 변수를 선언과 동시에 초기화를 할 수 없다. 그래서 '멤버 이니셜라이저'라는 문법이 제공된다. class A { const int x; public: A(int _x):x(_x){}//멤버 변수 x를 매개 변수 _x로 초기화하라. }; 또한 Derived 클래스에서 Base클래스의 생성자를 선택 할 때도 '멤버 이니셜라이저'와 같은 문법을 사용한다. B(int a):A(j){}//j를 인자로 받을 수 있는 A클래스의 생성자 호출 [출처] C++ :: 멤버 이니셜라이저(member initializer) |작성자 우오아항
fopen()함수에 쓰이는 파일 오픈모드의 종류 및 기본적인 설명입니다. 크게 r, w, a 3가지로 분류되어 뒤에 문자나 기호를 이용해 표기하는것이 대부분이므로 3가지만 외워놓으시면 다른것들을 유추해내는데 큰 지장은 없을겁니다. 파일 오픈 모드 모 드 설 명 r 텍스트모드로 읽기. w 텍스트모드로 쓰기. 파일이 없을경우 새로생성, 존재할시 기존의 내용삭제 후 새로운 내용으로 대체. a 텍스트모드로 쓰기. 파일이 없을경우 새로생성, 존재할시 파일의 가장 끝부분부터 이어쓰기. rb 바이너리모드로 읽기. wb 바이너리모드로 쓰기. 파일이 없을경우 새로생성, 존재할시 기존의 내용삭제 후 새로운 내용으로 대체. ab 바이너리모드로 쓰기. 파일이 없을경우 새로생성, 존재할시 파일의 가장 끝부분부터 이어쓰기. r+..