목록GameMath (5)
승쨩개발공부
A백터와 B의 내적은 백터 A * 백터 B * 코사인세타 이다 백터의 내적은 이 두 백터간에 서로 투영되는 길이를 나타내는 의미도 가진다. 또 내적은 두 백터간의 각도를 얻어오는 방법도 된다. 예를들어 캐릭터가 몬스터를 공격했을떄 캐릭터와 몬스터가 같은방향을 본다 = 백어택 캐릭터와 몬스터가 다른방향을 본다 = 일반어택 쉐이더에선 빛을 보고있냐 빛을 등지고있냐 판단하기도 한다. 삼각형을 두개의 직각 삼각형으로 만들었을떄 파란색의 길이는 C백터 * 코사인B 빨갠색의 길이는 B백터 * 코사인C 가 된다 백터 A 의 길이는 파란색 + 빨간색 이 된다 A백터의 제곱은 B백터제곱 + C백터 제곱 - 2*b*c * 코사인 A 백터의 내적은 백터의 곱셈 하지만 값은 스칼라다. 숫자 a * a 는 a제곱이다 백터 a ..
사인 = 빗변 / 높이 코사인 = 빗변 / 밑변 탄젠트 = 밑변 / 높이 반지름이 1인 원을가지고 삼각형을 만들었을떄 세타와 마주보는 변의 길이를 사인이라고 한다. 이 삼각형의 길이가 1보다 크면 높이를 빗변에 나눠주면 사인값이 나온다 백터의 길이가 1일떄 즉 노말라이즈 됬을떄 x,y좌표는 뭘까? x 코사인이되고 y는 사인이된다 빗변 / 높이가 사인인대 빗변의 길이가 1이니 그냥 Y좌표는 사인값이된다 빗변 / 밑변 길이가 코사인인대 빗변의 길이가 1이니 X좌표는 코사인값이된다 총알의 갈라지는 최대각도 범위를 Angle 총알 사이 각도를 gap angle 을 count - 1 로 나누면 총알 사이사이 각도가 나온다.
라디안 호도법이라고도 불린다. 호의 길이를 각도로 이야기하는걸 호도법이라한다 부채꼴이있을떄 반지름이 1이고 호의 길이도 1이라했을떄 세타를 1라디안이라고 한다 파이는 지름이 1일떄 이 원주 원의 둘레가 몇이냐 하는것이다. 파이는 원주 / 지름이 된다 그래서 반 원이있고 반 지름이 있을떄 파이 = 반원주 / 반지름 이다 반지름을 1로 둔다면 반원주가 바로 파이가 된다. 반원은 180도이고 원은 360도이다 그러면 반지름이 1일떄 파이는 180도가 된다 반원주가 곧 파이니까 원주는 2파이가 된다. 그래서 라디안도 1이고 호도 1이고 반지름도 1일떄 1라디안은 결국엔 180/파이 가 1라디안이 된다 반원이 180도이고 그게 파이이니까 1도는 파이 / 180 도 이다
Vector? 백터는 크기(길이)와 방향이 있다 백터는 시작점이 없다 그래서 임의로 (0,0)인 영점에서 시작한다고 가정을 할뿐이다 그냥 화살표가 닿고있는 끝점을 (X,Y,Z) 위치라고 할뿐이다. 백터의 덧셈 a와 b 위에 화살표 기호로 백터라고 표기한다 (x는 x끼리) (y는 y끼리) (z는 z끼리) 더해주면 된다 두백터를 가로지르는 백터가 백터의 합이다. 백터의 뺄셈 뺄셈도 그냥 x는 x끼리 y는 y끼리 z는 z끼리 뺴주면된다 A - B 백터일 경우 B백터가 A백터를 바라보는 백터가 된다 B - A 백터일 경우 A백터가 B백터를 바라보는 백터가 된다 백터는 시작과 끝점이 없다고했다 크기(길이)와 방향이 있을뿐 A - B 백터는 A +(-B) 이다 백터의 -를 해준다면 방향이 뒤집힌다 그래서 오른쪽백터..
피타고라스의 정리 C제곱 = A제곱 + B제곱 C = 루트 A제곱 + B제곱 C(빗변) = 5 A(밑변) = 3 B(높이) = 4 C제곱 = 25 A제곱 = 9 B제곱 = 16 A제곱 + B제곱 = C제곱 이 점과 점 사이의 길이를 구해보자 (X20 , Y20) (X100 , Y80) X값인 100 과 20 100 - 20 을 하면 X값 즉 밑변 80이 나온다 Y값인 80과 20 80 - 20 을하면 Y값 즉 높이 60이 나온다 피타고라스 정리를 이용하면 높이제곱 + 밑변제곱을하면 빗변이 나오게된다 높이 60제곱 + 80 제곱 = 3600 + 6400 = 10000 빗변 제곱은 10000 이다 이걸 제곱근으로 만들면 100 즉 길이(빗변)는 100 이 된다. Refernce OZTV