본문 바로가기
728x90

Computer Graphics/Math7

[Math] 비판정법, 매클로린 급수, 오일러 공식 ■ 비판정법 일단 멱급수(Power series)의 정의를 알아야한다. 멱급수란 기하급수와 달리 항마다 계수가 다른 급수이다. 위 식에서 r은 공비(common ratio)이다. 비판정법은 멱급수의 극한 값을 구하여 수렴하는지 혹은 발산하는지 여부를 판단하는 판별식이다. 비판정법의 결과를 L이라고 했을 때 아래와 같이 멱급수를 판단할 수 있다. 기준 의미 L 1 급수는 언제나 발산한다. L = 1 수렴을 할 수도, 발산할 수도 있다. 아래 예시 속 멱급수를 비판정법으로 판단해보겠다. [예시] 위 예시로 쓰인 멱함수는 수렴하기위한 조건이 L = |r|임을 알 수 있었다. ■ 테일러 급수, 매클로린 급수 무한번 미분이 가능한 함수를 생각해보자. 일반적인 멱급.. 2023. 12. 31.
[Math] 외적, 백페이스 컬링, 로드리게스 회전 ■ 외적 내적 같은 경우 서로 같은 위치에 있는 요소끼리 연산을 하지만, 외적은 서로 다른 위치에 존재하는 요소만 사용한다. 예로 외적의 계산은 아래와 같다. [공식] 아래와 같이 벡터u와 벡터v가 있다고하자. 내적은 · 기호를 사용했디면, 외적에선 x 기호를 사용한다. 처음에는 위 수식이 어려워보였으나, 앞서 회전행렬을 공부하면서 회전의 순환 순서가 x->y->z->x->y->z...라는 것을 생각하면 조금 친숙해보일 것이다. (1) x요소 : UyVz - VyUz, 이를 보면 x축을 제외한 yz순서대로 Uy와 Vz를 곱한 값에 Vy와 Uz를 곱한 값을 감소시킨다. (2) y요소 : UzVx - VzUx, 이를 보면 y축을 제외하고 회전 순환 순서대로 zx순으로 연산하는 것을 알 수 있다. (3) z요.. 2023. 12. 18.
[Math] 3D 회전행렬 ■ 배경 3차원 공간에서의 이동과 크기 변환 행렬은 각 축들이 서로 독립적으로 직교하기 때문에 어렵지 않게 적용이 가능하다. 하지만 회전 변환 행렬 같은 경우에는 훨씬 복잡해진다. x, y, z 세 축이 서로 연관이 되어있기 때문에 크기, 이동 변환같이 단순히 차원을 추가하는 것만으로 해결이 안된다. ■ 회전의 방향에 따른 범용적 명칭 (출처: 링크) 3D 프로그램마다 다른 형태의 좌표계를 갖고있기 때문에 서로 다른 응용프로그램들의 오일러각(x, y, z)의 정보를 그대로 넘기면 원하는 방향대로 진행되지 않을 것이다. 예로 Unity의 x, y, z와 Unreal의 x, y, z의 축의 방향은 서로 다르다. 이런 호환성을 해결하기 위해 표준기저벡터를 축으로 하는 회전 방향에 따라 Yaw, Roll, Pi.. 2023. 12. 12.
[Math] 브레젠험 알고리즘 with Unity ■ !! 이론 이전 포스팅에서 이론 관련 게시글을 포스팅하였다. https://yjhdevelopdiary.tistory.com/158 [Math] 브레젠험 알고리즘 (Bresenham's algorithm) ■ 개념 및 배경 선 그리기 알고리즘 (line algorithm)의 대표 모델이다. 우리가 원하는 물체를 컴퓨터 스크린 화면에 나타내는 작업을 픽셀화(Rasterization)라고 한다. 데카르트 좌표계 위에 존재하는 yjhdevelopdiary.tistory.com ■ 유니티 먼저 아래와 같이 Hierarchy와 Scene을 세팅해놨다. PixelManager에서 Canvas에 동적으로 내가 만든 픽셀 이미지와 화살표를 그려 놓을 것이다. ▼ 제작한 화살표 프리팹 ▼ 제작한 픽셀 프리팹 스크립트.. 2023. 12. 9.
[Math] 브레젠험 알고리즘 (Bresenham's algorithm) ■ 개념 및 배경 선 그리기 알고리즘 (line algorithm)의 대표 모델이다. 우리가 원하는 물체를 컴퓨터 스크린 화면에 나타내는 작업을 픽셀화(Rasterization)라고 한다. 데카르트 좌표계 위에 존재하는 벡터들을 스크린 좌표계로 옮겨주는 작업인데 이때 신경써야할 점들이 존재한다. 이름 데카르트 좌표계 (Cartesian coordinate) 스크린 좌표계 (Screen coordinate) 집합 실수 집합 (R) 양수 집합 (H) 성질 연속성 이산성 원소 벡터 픽셀 예시 그림 우리가 수학에서 일반적으로 사용하는 좌표계이다. 연속성을 가지고 있으며 무한한 실수로 이루어져 있다. 서로 독립된 픽셀 영역을 가진 스크린 좌표계이다. 0부터 시작하는 정수값을 가지고 데카르트 좌표계의 좌표를 스크린.. 2023. 12. 7.
[Math] 내적, 램버트 반사, 시야각 판별 ■ 램버트 반사 램버트 반사 모델 (Lambertian reflection)이란 현실 세계와 비슷한 조명 효과를 주기 위해 고안된 방법이다. 계산량이 적어 속도가 빠르지만 그럴듯한 조명 효과를 줄 수가 있어 3차원 실시간 조명 구현에 널리 사용된다. 두 벡터 N, L의 내적을 사용하면 램버트 반사에 필요한 cos사잇각을 구할 수 있다. ■ 램버트 반사 (유니티 실습) 이해한 내용을 바탕으로 유니티에 0부터 구현해봤다. (구조) 1. Start에서 텍스처를 복사하여 새로운 스프라이트를 객체에 씌워준다. 2. 스프라이트의 픽셀(256x256) 하나하나를 대상으로 픽셀의 위치(표면)가 향하는 단위 벡터 n과 원점을 기준으로 공전할 mover의 위치에 따른 l값을 내적하여 사잇각 cosθ값을 구한다. 3. 기존.. 2023. 12. 6.
[Math] 삼각함수 ■ 각도법, 호도법 각도법 (Degree) 호도법 (Radian) 180˚ π 180 / π˚ 1 1˚ π/180 90˚ π/2 60˚ π/3 45˚ π/4 120˚ 2π/3 ★ 왜 호도법을 배우냐면 컴퓨터에서 Sin, Cos, Tan을 다룰 때는 기본적으로 호도법을 기준으로 전개하기 때문이다. ■ 삼각비 (출처) https://en.wikipedia.org/wiki/Sine_and_cosine#/media/File:Circle_cos_sin.gif [간단한 공식] 1. Sin(θ) != Sin(-θ) 2. Sin(θ) = -Sin(-θ) 3. Cos(θ) = Cos(-θ) ■ 역함수 역함수가 존재하기 위해선 해당 함수는 전단사함수 이어야한다. 하지만 Sin, Cos, Tan 함수는 전단사 함수가 아니다.. 2023. 12. 3.
728x90