수학 6

이득우의 게임 수학 3장 벡터(2차원 공간)

벡터로 원그리기반지름이 5인 원을 생성하기 위해,먼저 원을 둘러싼 사각형 영역을 생성하고,이로부터 원을 구성하는 벡터만 골라내는 방법을 시각화 할 것이다. 반지름의 크기가 5보다 작거나 같은 벡터를 묶으면 원의 형태가 만들어진다. #pragma oncenamespace CK{struct Vector2...FORCEINLINE float Vector2::Size() const{ return sqrtf(SizeSquared());} // x^2 + y^2의 값을 계산한 후 그 값을 반환한다.FORCEINLINE constexpr float Vector2::SizeSquared() const{ return X * X + Y * Y;}...  이 영역을 구하는 벡터의 크기는 벡터의 크기 수식을 사용해 계산..

이득우의 게임 수학 열기

Update - 콘텐츠를 구성하는 물처의 최종 위치를 계산하고 이를 변수에 저장 Render - 변수에 저장된 물체의 위치를 읽고, 이를 중심으로 물체를 화면에 그려냄 실제 실습 코드가 사용될 영역 이 코드에서 InputAxis::XAxis는 enum class 이다. 어떠한 상태 변환을 enum으로 변환시켜주는 것이다.// 게임 로직과 렌더링 로직이 공유하는 변수 Vector2 currentPosition(100.f, 100.f); // 게임 로직을 담당하는 함수 void SoftRenderer::Update2D(float InDeltaSeconds) { // 게임 로직에서 사용하는 모듈 내 주요 레퍼런스 auto& g = Get2DGameEngine(); const InputManager& input..

유클리드 공간

유클리드 공간 (유클리드 기하학 Euclidean Geometry)란? 유클리드가 연구했던 평면과 공간을 일반화한 것을 말한다. 유클리드 기하학은 공간에서의 거리, 각도 등을 다루는 수학 분야이다. 이 일반화는 유클리드가 생각했던 거리와 길이와 각도, 좌표계를 도입하여, 임의차원의 공간으로 확장한 것을 말한다. 이는 표준적인 유한 차원, 실수, 내적 공간이다. 유클리드 공간은 수하학적 모델링, 물리학, 컴퓨터 그래픽스 등의 다양한 분야에서 사용된다. 유클리드 벡터 또는 벡터는 특수한 경우로, 유클리드 공간에서의 크기와 방향을 모두 포함하는 기하학적 대상이다. 피타고라스 정리와 비슷한 개념이며, 실제 거리를 구할 때에도 사용하지만, 인공지능 등 다양한 분야에서 유사도를 판단할 때 사용된다. 피카고라스 정리..

행렬과 삼각함수

삼각함수 삼각함수란? + 행렬을 들어가기 전에 게임 수학에서 행렬을 쓰는 이유. 선형 변환의 원리는 게임의 가상 세계를 구축하는 데 필요한 모든 변환의 기본 바탕이 된다. 따라서 선형 변환을 안정적이고 빠르게 계산할 수 있는 체계가 구축된다면, 컴퓨터를 사용해 게임이 요구하는 가상 세계의 기반을 손쉽게 구축할 수 있을 것이다. 수학자들은 선형 변환의 계산 과정을 체계화하여 손쉽게 계산할 수 있는 편리한 도구를 발명했는데 그것이 바로 행렬이다. 행렬 행렬은 수를 사격형의 형태로 행과 열을 맞춰 배열한 테이블이다. 따라서 n개의 행과 m개의 열로 구성된 반듯한 사각형의 형태를 띤다. 예를 들어 위 행렬은 2 x 3 행렬은 다음과 같이 2행 3열의 형태를 띤다. A는 열 백터, B는 행 백터라 부른다. 선형 ..