Public/Math(17)
-
확률과 통계
IQR = Q3 - Q1 Q1 은 25%(25번째 백분위수) 이고 Q3은 75%(75번째 백분위수) 이다. 관련 기호 정리 https://paper-garden.tistory.com/36 [통계분석] 통계기초 - 수학기호&통계기호 통계 기호 l 상징 기호 이름 의미/정의 P ( x ) 확률 밀도 함수 (pdf-probability density function ) P ( a ≤ x ≤ b ) = ∫ f ( x ) dx P ( A ) 확률 함수 사건 A의 확률 P ( A ∩ B ) 사건 교차 확률 사건 A와 B의 확률 P ( paper-garden.tistory.com Z-값(Z-Score) 계산 Z-값이란 평균으로부터 표준편차의 몇 배나 떨어져 있는지를 나타낸다. 표춘편차 몇 배만큼 떨어져있는지 계산하면..
2023.09.09 -
각도로부터 전방 벡터 변환
Actor 클래스의 각도가 라디안(radian) 단위인 회전값을 가지고 있다는 가정하에, 이 값을 사용하면 액터는 자신이 향해야 될 방향으로 회전할 수 있다. 회전은 지금 2D상에서 이뤄지므로 각도는 그림 3.6처럼 단위 원의 각도와 일치한다.각도를 세타(theta)로 표현한 단위 원의 방정식은 다음과 같다.이 방정식은 액터의 각도를 전방 벡터로 변환하는 데 바로 사용할 수 있다.Vector2 Actor::GetForward() const { return Vector2(Math::Cos(mRotation),Math::Sin(mRotation)); }
2023.07.23 -
법선 벡터 계산하기: 외적
법선 벡터(normal vector)는 표면에 수직인 벡터다. 표면(삼각형 등)의 법선 벡터를 계산하면 3D 게임에서 매우 도움이 된다. 예를들어 6장 '3D 그래픽스'에서 설명하는 광원 모델은 법선 벡터의 계산이 필요하다. 평행하지 않은 2개의 3D 벡터가 주어지면 두 벡터를 포함하는 평면은 반드시 존재한다. 외적은 그림 3.9에서 보여주듯이 그 평면에 수직한 벡터를 구한다. (즉 벡터의 두 벡터의 외적을 계산하면 법선 벡터가 나온다.) 외적은 2D 벡터에서는 동작하지 않는다. 그러나 2D 벡터를 3D 벡터로 변환하면 사용할 수 있다. 2D 벡터를 3D 벡터로 변환하려면 z 요소값 0을 2D 벡터에 추가하면 된다. 기술적으로는 그림 3.9에서 평면에 수직인 두 번째 벡터 -c가 존재할 수 있다. 평면에..
2023.07.22 -
두 벡터 사이의 각도 구하기: 내적
두 벡터 사이의 내적(dot product)결과는 단일 스칼라 값이다. 게임에서 내적을 사용하는 가장 일반적인 경우는 두 벡터 사이의 각도를 찾는 것이다. 내가 정리한 벡터정리글 벡터의 크기(길이)는 이중 수직선으로 표기한다. 예를 들어 u의 크기 ||u|| 다음 방정식은 벡터 a와 b의 내적을 계산한다. 또한 내적은 각의 코사인(cosine)과 관계가 있다. 그래서 두 벡터 사이의 각도는 다음과 같이 표현할 수 있다. 그림 3.8에 나와 있는 공식은 코사인 법칙을 토대로 한 것이다. 이 공식을 사용하면 세타를 구할 수 있다. 두 벡터 a,b가 단위 벡터라면 각 벡터의 길이가 1이므로 분모를 생략할 수 있다. 단위 벡터를 사용했으므로 식이 단순해졌는데, 방향만이 중요하다면 미리 벡터를 정규화해두는 것이 ..
2023.07.22 -
벡터를 각도로 변환: 아크탄젠트(2D추천)
벡터가 주어졌을 때 이 벡터를 각도로 변환하려 한다. 탄젠트(tangent) 함수가 각도를 인자로 받고 삼각형의 밑변과 높이의 비율값을 반환했던 걸 떠올리자. 이제 액터의 새로운 전방 벡터로부터 회전 멤버 변수에 해당하는 각도를 구한다고 가정해본다. 이 경우에는 그림 3.7처럼 새로운 전방 벡터 v와 x축으로 직각 삼각형을 구성하면 된다. 이 삼각형에서 전방 벡터의 x요소는 삼각형의 밑변의 길이다. 그리고 전방 벡터의 y요소는 삼각형 높이다. 이 요소들의 비율값을 이용하면 아크 탄젠트 함수를 사용해서 각도 세타를 계산하는 것이 가능하다. 프로그래밍에서 선호되는 아크탄젠트 함수는 atan2함수다. 이 함수는 파라미터로 2개의 인자를 받는다.(삼각형의 높이와 밑변의 길이) 그리고 [- π, π] 범위의 각도..
2023.07.18 -
사인,코사인 활용(탄막슈팅-산탄총)
public float angle; public int cnt;//갯수 while(IsVaildCondition()) { float gap = cnt > 1 ? angle / (float)(cnt - 1) : 0; float startAngle = -angle / 2.0f; for(int i =0;i
2023.02.09