레이블이 수학 및 물리인 게시물을 표시합니다. 모든 게시물 표시
레이블이 수학 및 물리인 게시물을 표시합니다. 모든 게시물 표시

2016년 10월 15일 토요일

뷰 변환

지오메트리 파이프라인에서 모델변환(로컬좌표계 -> 월드좌표계로의 변환) 다음으로 이루어지는 변환으로 월드 월드좌표계의 좌표축을 카메라 좌표계로 이동시키는 변환

  1. 월드 좌표계의 좌표축을 카메라가 있는 위치 C 평행이동
  2. 이동한 좌표축을 카메라 방향에 맞춰 회전

식으로 표현하다면  행렬변환 V는


단위벡터

단위벡터는 크기를 제외한 방향만 나타내는 벡터를 이야기 합니다.

아래는 A벡터와 B벡터간에 단위벡터를 구하는 예제입니다.


모델 변환

평행이동, 회전, 스케일을 한번에 하는 변환

M = TRS (T : trasnfom, R : rotation, S : Scale 뜻합니다.)


참고로 평행이동과 회전의 변환을 리지드바 변환이라고 합니다.

2016년 10월 13일 목요일

지오메트리 파이프 라인

오브젝트가 가지고 있는 로컬좌표를 모델변화를 통해 월드 좌표계상의 좌표로 변화할  있습니다.
그리고 변환을 통해 카메라 좌표계상의 좌표로 변화하고
좌표계로 변환된 지오메트리는 프로젝션 변화을 통해 클립공간으로 바뀌게 됩니다.

프러스텀
카메라에서 보이지 않는 부분을 삭제한 육면체의 영역(시야)

정규 볼륨(canonical view volume)
정점 좌표가 정규화된 정육면체로 변환하는

프로젝션 변환
시야 바깥쪽의 정점 정보를 버리고, 프러스텀을 정규 볼륨이라 하는, 정점 좌표가 정규화된 정육면체로 변환하는 것이 프로젝션 변환입니다.

행렬식의 기하학적 의미

행렬식을 사용하면 평행사변형과 평행육면체의 부피를 구할 수 있습니다.

아래는 (유니티로 배우는 게임 수학) 책에서 나온 내용을 좀더 세부적으로 전개한 것입니다.




여기서 중요한건 3x3 행렬식의 내적, 외적과의 관계입니다.

행렬식

행렬식은

행렬에서 스칼라 값을 뽑는 것입니다.


내적이 두 벡터에서 스칼라 값을 뽑듯이
행렬식은 행렬에서 스칼라 값을 가져오는 것이죠

위와 같이 계산하는 것을 사루스 법칙이라합니다.



그러나 이는 3x3 행렬까지 가능하며 그 이상은 여인수전개(라플라스 전개)를 사용해서 풀어야 합니다.



우선 여인수전개는 여인수를 사용한 전개 방식입니다.

여인수는 소행렬식에 부호를 붙인것을 말하죠

아래의 링크된 사이트에 이 두가지의 개념이 잘 나와있습니다.

소행렬 설명 : http://terms.naver.com/entry.nhn?docId=3338450&cid=47324&categoryId=47324

여인수 설명 : http://terms.naver.com/entry.nhn?docId=3405215&cid=47324&categoryId=47324

라플라스 전개 : http://terms.naver.com/entry.nhn?docId=3405055&cid=47324&categoryId=47324

행렬의 곱과 내적

행렬의 곱에서 가장 중요한 것은
내적과의 관계를 파악하는 것입니다.

아래는 원노트에 정리한 내용입니다.



위의 내용을 풀어 쓴다면



2016년 10월 11일 화요일

외적(cross)

유니티에서 Vector3.Cross(VectorA, VectorB)로 구할 수 있습니다.

외적은 무엇인가?


외적은 내적과 다르게 기하하적으로 설명이 됩니다.

위의 그림처럼 이미지가 딱 나오죠

외적을 설명하자면

벡터 a와b의 외적은 새로운 벡터(a와 b벡터에 수직인 벡터)를 생성합니다.

즉 내적이 만들어내는 것은 스칼라이며 외적이 만들어내는 것은 벡터라는 것입니다.

이것만 알면 내적 외적의 기본을 이해한 것이죠


외적이 생성해낸 벡터는?


외적이란 벡터 a와 b에서 새로운 벡터 c를 생성하는데

생성된 벡터c를 분석해보면

방향은 a벡터 b벡터에 수직이고

크기는 a벡터 b벡터가 만들어내는 평행사변형의 크기와 같습니다.
(||a|| x ||b|| 는 ||a|| 는 벡터a의 크기와 ||b||는 벡터 b의 크기의 외적이죠)

외적의 크기를 수식으로 나타내면 아래와 같습니다.



내적과 비슷하죠

참고로 내적의 수식은



내적은 cos이고 외적은 sin이라고 생각하면 외우기 쉽습니다.

단위원을 이루는 밑변이 cos이고 높이가 sin이므로 이 성질들을 이용해 응용되기도 합니다.

그리고 행렬과 붗꽃반응을 일으키며 판타지를 보여주죠 ㄷㄷㄷ;


내적(dot)

유니티에서 Vector3.Dot(VectorA,VectorB)를 사용하면 구할 수 있습니다.


내적은 무엇일까?


내적인 두개의 벡터에서 스칼라(방향이 없는 크기만 가지고 있는 물리량)를 뽑아내는 연산입니다.

내적은 이해하는데 애매한 경우가 많은데요
그 이유는 기하학적인(점,선,면 등의 공간의 성질)이 없기 때문에 형상화 하기 어렵기 때문입니다.(벡터를 더한다는 것처럼 머리속에 딱 떠오르지 않기 때문이죠)

즉 두 개의 벡터를 더하거나 빼는 것처럼 직관적이지 않고 정해진 연산에 의해 도출되기 때문에 직접적으로 다가오지 않는 것이죠

그냥 특정한 필요에 의해 (충돌체크 등) 두개의 벡터를 통해 스칼라(방향이 없는 크기만 가지고 있는 물리량)를 추출하는 것이라 생각하면 편합니다.

그렇다면 기하학적인 성질의 공식들을 사용하지 않고 굳이 내적을 사용하는 이유는 무엇이냐? 했을 때

결국 최적화 부분에 있습니다.

즉 싸인 코사인 등 매우매우 비싼 비용의 초월함수를 최소한 혹은 사용하지 않기 위함이죠

내적의 정의는 아래의 싸이트에 매우 잘 정리되어 있습니다.
http://j1w2k3.tistory.com/627

아래는 내적을 구하는 공식입니다.
||a|| 는 a의 크기를 나타내며 노름이라고 읽습니다.



2016년 10월 10일 월요일

3D 극좌표계

3인칭 카메라를 만들때 많이 사용하는 좌표계입니다.

좌측의 구면좌표계가 3D 극좌표계인데요
(극좌표계란 직교좌표계와 다르게 거리와 각도로 좌표로 표현하는 방식입니다.)

여기서 구면좌표 p를 직교좌표로 표현한다면

우측의 직교좌표계처럼 하나씩 풀어나가면 됩니다(파워포인터로 그린다고 뼈빠졌던;;).

그러면 아래와 같은 직교좌표로 나오게 되죠

이걸 풀어본다면 아래와 같습니다.(원노트 호환때문에 이미지로;;)



최종적으로





반각의 공식


배각의 공식



※원노트에 정리해 놓은 것인데;; 블로그에 호환이 안돼서 이미지로 붙여넣었습니다.

2016년 9월 21일 수요일

사영 기하학

사영기하학

프로젝션 기하학

사영(projection)에 의해 변하지 않는 성질을 연구하는 분야

사영 [ projection ,  ]
(프로젝션이라 새각하면 된다.)

평면이나 공간 위에 있는 도형의 각 점을 평면이나 공간 위에 있지 않는 점을 잇는 직선을 긋는 것을 말한다.


평면 위의 도형 F의 각 점과 F 위에 있지 않은 점 O를 잇는 직선을 긋는 것을 F를 O에서 사영한다고 한다. 또, F를 O에서 사영한 경우의 각 직선과 O를 지나지 않는 직선 l과의 교점을 구하는 것을 F를 l로 절단한다고 한다. F를 O에서 사영하고 그것을 l로 절단하여 도형 F′가 얻어질 때, F를 O에서 직선 l 위의 F′로 사영한다고 한다.

유클리드 기하학

기하학

점, 직선, 곡선, 면, 부피 등 공간의 성질을 연구하는 수학 분야.

유클리드 기하학

다섯가지 공준을 가지고 이루어진 기하학

유클리드 기하학의 5개의 공준
  • 두 점이 주어졌을 때, 그 두 점을 통과하는 직선을 그을 수 있다.
  • 임의의 선분을 직선으로 연장할 수 있다.
  • 한 점을 중심으로 임의의 반경의 원을 그릴 수 있다.
  • 모든 직각은 서로 같다.
  • 임의의 직선이 두 직선과 교차할 때, 교차되는 각의 내각의 합이 두 직각(180도)보다 작을 때, 두 직선을 계속 연장하면 두 각의 합이 두 직각보다 작은 쪽에서 교차한다. (평행선의 공리, 제 5공준) [2]

공리 : 어떤 이론체계에서 가장 기초적인 근거가 되는 명제(증명이 없으며 불가능하다.)
공준 : 특정한 분야에 한정된 공리(유클리드 공준, 평행성 공준 등)



2015년 11월 15일 일요일

호도법

참조 : https://www.youtube.com/watch?v=nypLSqi-J5o

호도법

1. 호의 길이를 가지고 각도를 나타내는 법
2. 단위는 라디안
3. 1rad = 57.29..° 이다.
4. ° = 0.0175 rad 


1. 호의 길이를 가지고 각도를 나타내는 법
  • 1 라디안은
  • 반지름과 호의 길이가 1일 경우의 단위
  • 각도는 57.29..도이다.

2. 단위는 라디안
  • 즉 1라디안은 반지름과 호의 길이가 일치할 때의 호의 길이를 이야기하며
  • 이때의 호의 각도는 57.29..° 이다.

3. 1rad = 57.29..° 이다.
  • 호의 길이 / 반지름 = 1 / 1 = 1 rad = 57.29...°(각도)
  • 반지름의 길이가 1일 때
  • 180°는 3.14라디안이 되며 ( 1라디안 = 57.29..도 이므로 180 / 57.29 = 3.14.. )
  • 이는 πrad 로 표시한다.
  • 하지만 일반적으로 rad는 생략하여 π만 표시한다.

4. ° = 0.0175 rad 
  • 1도는
  • 1라디안의 경우 57.29도 이므로
  • 라디안 / 59.29도 = 0.0175 라디안이 된다.




2015년 10월 31일 토요일

쌍곡선 함수

y= e^x
y= e^-x 그래프

쌍곡사인(hyperbolic sine)
\sinh x = \frac{e^x - e^{-x}}{2} = -i \sin ix \!




쌍곡코사인(hyperbolic cosine)

\cosh x =  \frac{e^{x} + e^{-x}}{2} = \cos ix \!


쌍곡탄젠트(hyperbolic tangent)

\tanh x =  \frac{\sinh x}{\cosh x}
 = \frac {\frac {e^x - e^{-x}} {2}} {\frac {e^x + e^{-x}} {2}} = \frac {e^x - e^{-x}} {e^x + e^{-x}} = \frac{e^{2x} - 1} {e^{2x} + 1} = -i \tan ix \!


2015년 10월 30일 금요일

삼각함수 여러가지 공식

참조 : https://namu.wiki/w/%EC%82%BC%EA%B0%81%ED%95%A8%EC%88%98%EC%9D%98%20%EB%8D%A7%EC%85%88%EC%A0%95%EB%A6%AC

덧셈 정리

sin(α+β)=sinα · cosβ+cosα · sinβ
싸코코싸
cos(α+β)=cosα · cosβ-sinα · sinβ
코코싸싸
tan(α+β)= tan α + tan β 
1 - tan α · tan β
일 마 탄탄 분의 탄 플 탄

삼각함수 2배각 공식, 배각공식
sin2α=2sinαcosα
cos2α=cos2αsin2α
[1]


삼각함수 반각공식
sin2α2=1cosα2
cos2α2=1+cosα2

역삼각함수

역삼각함수

수학에서, 역삼각 함수(逆三角函數, 영어: inverse trigonometric function)는 삼각 함수의 역함수이다. 삼각 함수는 단사 함수가 아니기 때문에 이의 역함수를 정의하려면 정의역을 제한하는 것이 필요하다.

아래는 역삼각함수들의 정의와 표기법, 정의역과 치역들을 나타낸 표이다.
이름표기법정의정의역치역
아크사인y = arcsin x 또는 y = sin-1 xx = sin y−1부터 +1−π/2 ≤ y ≤ π/2
아크코사인y = arccos x 또는 y = cos-1 xx = cos y−1부터 +10 ≤ y ≤ π
아크탄젠트y = arctan x 또는 y = tan-1 xx = tan y모든 실수−π/2 < y < π/2
아크코탄젠트y = arccot x 또는 y = cot-1 xx = cot y모든 실수0 < y < π
아크시컨트y = arcsec x 또는 y = sec-1 xx = sec y−∞부터 −1과 1부터 ∞0 ≤ y < π/2 or π/2 < y ≤ π
아크코시컨트y = arccsc x 또는 y = csc-1 xx = csc y−∞부터 −1과 1부터 ∞−π/2 ≤ y < 0 or 0 < y ≤ π/2
정의역을 복소수로 두게 되면 위에서 치역의 범위는 실수부의 범위가 된다.

 sin(x)와 arcsin(x)의 그래프 아크사인(x)는 sin(x)의 역함수이다.

cos(x)의 역함수 arccos(x) 그래프

tan(x)의 역함수 arctan(x) 그래프