목록이득우 (19)
cyphen156

이 장에서 소개할 오일러 공식은 현실에서 복소수를 실수와 허수의 단순한 결합으로 보는 것을 넘어서 삼각함수와 자연지수함수 간의 수학적 관계를 우리에게 수학적으로 보여준다. 이런 오일러 공식은 전기공학의 신호 처리 분야에서 기초가 되는 아주 중요한 공식이며, 3차원 공간에서의 회전의 짐벌락과 같은 문제를 해결하는데 중요한 역할을 수행해주는 유용한 공식이라고 설명하고 있다.오일러 공식오일러 공식을 제대로 이해하려면, 다음 두 가지에 대한 수학적 기초가 필요하다자연지수함수 e^x삼각함수인 sin함수와 cos함수, 그리고 이들의 미분 특성 무리수 e무리수 e(Exponential)은 은행 복리 이자로 얻을 수 있는 수익을 연구하다가 특정 상수로 수렴한다는 사실을 알아내면서 사용하게 되었다.x의 값이 커질 수..

이번 장에서는 아직 해결하지 못한 문제인 3차원공간에서의 물체를 회전시킬 때 생기는 문제를 해결하기 위한 해결책인 사원수의 기본이 되는 복소수에 대해서 알아볼 것이다.여태까지 우리는 체의 구조를 갖는 수의 집합으로 실수를 사용해왔다. 그런데 이런 체의 구조를 가지는 수의 집합은 복소수로 확장될 수 있다. 복소수는 실수에 허수의 개념을 도입함으로써 1차원 수직선으로 표현되던 실수를 2차원 평면상에 표현할 수 있게 한다.복소수(Complex Number)복소수는 실수와 허수라는 독립된 2개의 요소의 조합으로 표현된다. T = (1 + 3i)/실수부 + 허수부허수(Imaginary Number)허수란 사실 그 이름에 사용된 단어를 통해 의미를 알 수 있듯이 상상속의 수 = 허상속에 존재하는 수다.하지만 허수는..

프로그램에서 계산해야 하는 양을 가장 효과적으로 줄이는 방법은 그냥 안그리는 것이다. 이것은 프로그램이 아무리 연산이 빠르더라 하더라도 결국 사용자가 알 수 있도록 화면에 그려야 하는데, 이 그리는 작업을 수행하기 위해 인터페이스를 통해 외부 기기와의 입출력 상호작용이 반드시 일어나게 된다. 그리고 이 입출력 상호작용이 컴퓨터의 실행 중 가장 수행속도가 느리다. 그래서 최대한 적게 그릴 수 있도록 사용자가 보지 않아도 되는 내용들을 잘라내어 필요한 부분만 딱 그려내도록 컴퓨터에게 명령하도록 하는데 이러한 기법을 컬링이라 부른다.우리는 앞서 내적과 외적, 원근 보정을 학습하면서 컬링 기법중 일부분인 백페이스 컬링과 카메라 시야각과 깊이 테스팅을 이미 배웠다. 이번 챕터에서는 절두체에 대해 더 깊이 알아보자..

어제 스터디 그룹에서 내적에 대해 리뷰를 하였는데, 나 스스로도 내적에 대해 다시 정리하다 보니 투영에 대한 설명이 부족했던 것 같아서 추가로 글을 쓴다.벡터의 내적 연산은 여러가지 이점을 준다.이 개념을 이해하기 위해 먼저, 관찰자(나)의 시점을 원점으로 설정하는 전제가 필요하다.'나'를 원점으로 삼아서 어떠한 물체가 나로부터 얼마나 떨어져있는지, 그 거리를 측정한다면그것은 원점에서 물체 까지의 거리벡터라 볼 수 있다.내가 바라보고 있는 시선 방향으로 부터 뻗어 나가는 벡터를 시선 벡터라 지칭하고,시선 벡터는 방향성만이 중요하기 때문에 항상 정규화된 단위 벡터로 표현한다.이렇게 두개의 벡터를 알아냈다면, 두 벡터의 내적 연산을 진행할 수 있다.물체의 위치 판별내가 바라보고 있는 시선과 어떤 물체까지의 ..

이전 글에서 이어서 쓴다.※ 여기서 설명하는 예제 순서는 책에서의 예제보다 1개 인덱스가 높습니다.초점거리 왜곡과 깊이감앞서 경험했던 렌더링 예제에서는 하나의 물체만을 그리고 있었기 때문에 별다른 문제를 발견하지 못했다. 하지만 사실 이건 컴퓨터 그래픽스에서 현실감과 몰입감을 방해하는 요소가 고려되어있지 않다.바로 깊이감이다. 물체를 원근 투영 하여 그렸지만 사물이 화면에 그려지는 순서에 따라 먼저 그려진 그림이 덮어씌워져 나중에 그린 물체에 의해 가려져서 보인다. 예를 들자면 빨간 사각형을 그리고 그 위에 검은 원을 일부 겹쳐 그리는 듯하게 그린다는 것이다. 이러한 그리기 방식 때문에 물체가 가지고 있는 초점거리를 왜곡하는 현상이 발생한다.절두체 :: 3차원 NDC 이제 이차원 평면 NDC를 깊이를 추..

모니터는 항상 2차원 평면이기 때문에, 현실 세계처럼 입체감 있는 그림을 그리는 것은 매우 어렵습니다. 그래서 2차원 이미지를 3차원처럼 보이게 만드는 기법이 중요한데, 이를 원근 투영(Perspective Projection)이라고 부른다.이러한 원근감 표현은 르네상스 시대에도 이미 존재했으며, 한 점을 기준으로 직선 거리를 설정하고, 거리에 따라 같은 사물이라도 비율을 다르게 그리는 방식이 고안되었고, 현대에 이르러서는 이 '한 점'을 카메라와 같은 물체의 시점으로 일반화하여 세상을 바라보게 되었다. 이를 화각(Field of View, FOV)이라고 부릅니다.원근 투영은 기존의 직교 투영 방식에서 한 점으로 모이기 때문에 뷰 모델이 6면체의 형태에서 사각 뿔의 형태로 변화하게 된다. 모든 물체는 하..

백터의 외적내적과 다르게 외적의 경우 3차원 이상의 공간에서만 사용가능한데, 그 이유는 외적이 왼손법칙에서 설명했듯이 두 벡터에 대한 외적의 결과가 두 벡터 모두에 직교하는 새로운 벡터를 만들고, 이것이 회전 축을 결정하는 역할을 하기 때문이다.내적의 결과는 항상 스칼라였지만, 외적의 결과가 방향과 크기를 갖는 벡터이기 때문이라고 다시 설명할 수 있다.A · B 내적 연산 기호 = ∣ a ∣∣ b ∣ cosθ == axbx + ayby + azbz A X B 외적 연산 기호 = ∣ a ∣∣ b ∣ nsinθ == (aybz − azby, azbx − axbz, axby − aybx)위 수식에서 보면 알 수 있듯 내적은 같은 성분끼리 곱한 뒤 더하여 최종 결과를 만들어내고, 외..

3차원 공간은 원근감이 존재하기 때문에 구현 방법이 복잡해지고, 예상밖의 상황이 많이 생긴다고 한다. 이것을 오일러의 각도법과 벡터의 외적으로 하나씩 해결해 나가면서 여러 수학적 지식과 게임 엔진 개발에 대한 지식들을 배울 수 있을 것 같다.좌표계 기준이 전에 한번 언급한적 있었던 왼손 좌표계와 오른손 좌표계에 대한 내용이다. 이 둘은 관점에 따라 3차원 공간을 설계하는 큰 차이를 만들어내는 기준들이 되는데 그 기준이 물체를 바라보는데 있어서 나를 기준으로 오는지, 또는 앞으로 가는지를 결정한다.대표적인 특징은 다음과 같다. 하지만 상대적인 기준일 뿐 절대적이지는 않다.왼손 좌표계 : 배경을 관찰하는데 적합하다오른손 좌표계 : 물체를 관찰하는데 더 익숙하다.밑의 그림은 대표적인 게임, 모델링 툴, 엔진과..