목록DX (148)
응애맘마조
오늘은 월드 공간과 로컬 공간에 대해서 했었습니다. 월드 공간의 x축과 y축은 고정되어 있습니다. 이 좌표를 통해 SRT 하는 것을 월드 공간의 변환이라고 합니다. 이렇게 해서 자기만의 공간이 있는 것을 로컬 공간이라고 합니다. 월드 공간과 로컬 공간은 다른 공간입니다. 회전 행렬의 cθ sθ 0 0 부분은 x축이고, -sθ cθ 0 0 부분은 y축 입니다. 전방 선언은 헤더 파일 위에 미리 선언을 해서 객체 생성시 알게 해주는 정도로 이해하면 됩니다. 오늘은 간단하게 배워서 내용이 짧습니다. 읽어주셔서 감사합니다.
어제 말했던대로 오늘은 벡터를 했습니다. 벡터 또한 행렬 못지않게 중요한 부분 중 하나입니다. 벡터는 방향과 크기를 가진 물리량입니다. 좌표도 벡터로 볼 수 있고 앞으로 모든 이동은 벡터를 사용해서 이동하게 됩니다. 단위벡터는 크기가 1인 벡터입니다. 방향을 나타낼 때 사용하기 때문에 방향벡터라고도 합니다. 구하는 방법은 피타고라스의 정리를 사용하면 되는데 원의 반지름. 즉, 벡터의 크기를 1로 두면 (c * cosθ, c * sinθ)가 되는데 c가 1이기 때문에 (cosθ, sinθ)가 됩니다. 벡터의 길이는 스칼라하고 연관이 있습니다. v * k가 되고 (v.x * k, v.y * k)가 됩니다. (k는 실수값입니다.) 여기에서 스칼라는 벡터의 크기를 가지는데 한마디로 스칼라가 크기라는 의미입니다...
어제 말했던대로 오늘은 행렬을 했습니다. 행렬은 어렵기도 하지만 굉장히 중요한 부분입니다. 여기서 이해를 못한다면 그 다음부터 전부 이해하기 힘들어져서 많이 집중 좀 했습니다. 행렬은 행(가로)과 열(세로)로 이루어져 있습니다. 여기서 단위행렬은 E라고 표기하겠습니다. 행렬에 곱셈을 했을 때 자기 자신이 나오게 하는 행렬을 단위행렬이라고 합니다. 단위행렬을 식으로 표현하면 A × E = A가 나옵니다. 주대각선이 1이고 나머지가 0인 행렬입니다. 행과 열이 같은 행렬을 정사각 행렬이라고 합니다. 어떤 수를 곱해도 0이 나오는 행렬을 영행렬이라고 합니다. 영행렬을 식으로 표현하면 A × 0 = 0이 나옵니다. 자신과 어떠한 행렬을 곱했을때 1이 나오게 하는 행렬을 역행렬이라고 합니다. 역행렬을 식으로 표현..
어제 말했던 대로 오늘은 델타를 했습니다. 델타는 변화량이라고 합니다. 하지만 강의에서 쓰게 될 델타는 초당 변화량입니다. 프로그램 실행에서 사용되는 프레임워크에는 주기라는 것이 있습니다. 여기서 주기는 반복되는 구간을 말합니다. 사용하는 SetTimer에서 밀리초 단위에 따라 움직이는 정도가 달라집니다. 여기서부터 FPS와 관련이 되어 있습니다. 하지만 프레임 단위로 움직이게 되면 문제가 발생할 수도 있습니다. 게임이라면 실행 자체에 문제는 없지만 객체가 모두 제각각 움직이게 될 수도 있어서 플레이 환경에 문제를 발생시킬 수도 있습니다. 게임을 만들 때에는 밀리초 단위를 사용하지 않고 마이크로세컨드를 사용합니다. 초당 이동하는 양이 달라지면 안 되고 객체마다 제각각 움직이는 양이 달라지면 안 되기 때문..
어제는 오늘 GetAsyncKeyState에 대해서 한다고 했었습니다. 코드가 변경되면서 더 이상 사용하지 않습니다. 왜냐하면 GetAsyncKeyState 함수는 키보드를 눌렀을 때, 누르고 있는 중, 누르던 키에서 손을 떼냈을 때가 없습니다. 그래서 더 이상 사용하지 않고 삭제가 되었으며 중요하지 않습니다. 또한 키보드 입력이라는 것도 한 가지 객체만 있기 때문에 싱글톤을 상속받습니다. 오늘은 싱글톤 패턴과 키보드 입력에 대해서 배웠었습니다. 싱글톤 패턴은 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 이 패턴에는 static이 사용됩니다. 여기서 static이라는 것은 한 번만 할당되고 선언이나 정의 그리..