일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- SQL
- Trie
- Stored Procedure
- 다익스트라
- binary search
- DP
- MYSQL
- String
- 이진탐색
- Hash
- Two Points
- 그래프
- 스토어드 프로시저
- union find
- two pointer
- Brute Force
- Dijkstra
- Today
- Total
목록전체 글 (425)
codingfarm

한 기준계의 점 또는 벡터의 상대적인 좌표를 다른 기준계에 상대적인 좌표로 변환하는 것을 좌표 변경 변환이라 한다. 위그림에서 $i$축과 $j$축에 대해 존재하던 상대 좌표 $p$가 있다. 축 $i$와 $j$가 변형될경우, $\tau(i)$와 $\tau(j)$에 대해 점 $p$도 변형되어 $\tau(p)$에 위치하게 된다. 3차원 컴퓨터 그래픽에서는 여러개의 좌표계를 사용하는 경우가 많으므로, 한 좌표계에서 다른 좌표계로의 변환 방법에 익숙할 필요가 있다. 위치는 벡터가 아니라 점의 속성이며, 점에 대한 좌표계변환과 벡터에 대한 좌표계 변환은 서로 다르다. $\blacksquare$ 벡터 두 좌표계 $A$와 $B$, 그리고 벡터 $p$가 있다. 좌표계 $A$에 상대적인 $p$의 좌표가 $p_A=(x,y)..

함수 $\tau$에 대하여 아래와 같은 성질이 성립하면, 그리고 오직 그럴때에만 $\tau$를 가리켜 선형변환(linear transformation)이라 부른다 $$\tau (u + v) = \tau (u) + \tau (v)$$ $$\tau(ku) = k \tau(u)$$ 여기서 $u$와 $v$는 벡터이고, $k$는 스칼라이다. 비례(scaling) 물체의 크기를 바꾸는 효과를 내는 선형변환이다. 비례변환은 다음과 같이 정의된다. $$S(x,y,z) = (s_xx, s_yy, s_zz)$$ 이는 현재 좌표계를 기준으로, 벡터를 $x$축으로 $s_x$ 단위, $y$축으로 $s_y$단위, $z$축으로 $s_z$단위 만큼 비례한다. 선형 변환에 대한 표준행렬 S는 아래와 같다. $$S = \begin{bm..

3차원 컴퓨터 그래픽에서 행렬(matrix)의 사용 목적은 주로 아래와 같다. 1. 비례나 회전, 이동 같은 기하학적 변환을 간결하게 서술 2. 점이나 벡터의 좌표를 한 기준계에서 다른 기준계로 변환 8. DirectXMath의 행렬 3차원 그래픽에서 점과 벡터를 변환할 때에는 $1 \times 4$ 행벡터와 $4 \times 4$ 행렬을 사용한다. DirectXMath 라이브러리로 $4 \times 4$ 행렬을 표현할 때에는 XMMATRIX라는 형식을 사용한다. struct XMMATRIX { union { XMVECTOR r[4]; struct { float _11; float _12; float _13; float _14; float _21; float _22; float _23; float _24..
#pragma는 define이나 include같은 전처리구문(precomplier)의 하나이다. 컴파일러에게 #pragma 뒤에 오는 내용에 따라 어떤일을 하라는 전처리 명령이다. 주로 쓰이는 사용법은 아래와 같다. #pragma once 한번 컴파일 되면 더이상 컴파일 하지 않는다는 뜻이다. 여러개이 cpp 파일이 있을때, 하나의 cpp 파일이 수정되면, 그 파일만 컴파일하고 나머지는 하지말아란 뜻이다. #pragma comment(lib, "ws2_32") 컴파일시 ws2_32.lib 파일을 링크하라는 명령이다. 보통 visual studio 같은 IDE 개발환경에서는 프로젝트 셋팅에서, 리눅스 터미널등의 cmd 환경에서는 gcc를 이용한 컴파일시에 세팅해주는 방법을 코드냉서 가능하게 해준다. #pr..