2024/10/18 5

이득우의 게임 수학 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;}...  이 영역을 구하는 벡터의 크기는 벡터의 크기 수식을 사용해 계산..

[백준 골드5] 버블 소트

swap된 거리가 가장 길었던 것에 +1을 하면 된다.여기서 버블 정렬의 이중 for문에서 안쪽 for문이 돌 때swap이 일어나지 않은 반복문이 한 번 더 실행되는 것을 감안해 최댓값에 1을 더한다.  #include #include #include #include #include #include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(0); cin.tie(0); int n, max = 0; cin >> n; vector>v(n); for (int i = 0; i > v[i].first; v[i].second = i; } sort(v.be..

[실버3] 삼삼한 수 2

3의 0제곱도 포함하는 것이니, n%3의 값이 1이 될 수 있다.또한 음의 수는 포함하지 않으나, "작거나" 같은 수라 했다.작거나는 0의 예외처리를 뜻하는 것이다.0의 경우 예외처리가 바로 생각나지 않아서 4번 틀렸다.  #include #include #include #include #include #include #include #include using namespace std;bool IsSumOfPowers(long long int n);int main(){ ios::sync_with_stdio(0); cin.tie(0); long long int n; cin >> n; if (n == 0) { printf("NO"); return 0; ..

이득우의 게임 수학 열기

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