본문 바로가기

study12

[이득우 게임수학] 아핀공간 https://blog.naver.com/ideugu/221409774016크기, 회전, 밀기 선형 변환은 행렬 곱으로 표현이 가능하지만 이동변환은  $2\times 2$ 정방행렬 곱셈으로는 구현이 불가능하기 떄문에 행렬곱으로 표현하기 위해 아핀 공간이 필요하다.6.1 아핀공간이동 변환은 $2\times 2$ 정방행렬 곱셈으로는 구현이 불가능하다.기저벡터가 원점에서 출발해야 한다는 조건을 만족하지 못하기 떄문.임의의 베벡터 (x,y)를 지정 크기(a,b)만큼 이동시키는 기능$$\begin{bmatrix}x \\y \end{bmatrix} + \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} x+a \\ y+b \end{bmatrix}$$$$A\cdot \b.. 2024. 7. 3.
[이득우 게임수학] 역행렬 5.4 역행렬선형 변환을 수행하는 행렬은 본질적으로 함수의 성질을 지니기 때문에 항등함수와 역함수에 대응하는 항등행렬Identity matrix, 역행렬 Inverse matrix 이 존재함 *항등행렬 Identity matrix원공간의 변화없이 동일한 공간으로 유지하는 변환$$I=\begin{bmatrix}1 & 0 \\0 & 1 \end{bmatrix}$$ *역행렬 Inverse matrix행렬 곱의 결과가 항등행렬이 나오는 행렬$A\cdot A^-1 = A^-1\cdot A =1$5.4.1 역행렬의 존재를 판별하는 행렬식어떤 함수가 역함수를 갖기위한 조건이 전단사 함수이듯이 행렬도 전단사로 대응되어야 한다.어떤 행렬에 대해 역행렬이 조재하는 지 파악할 수 있는 수식을 행렬식 Dterminant 이라.. 2024. 6. 30.
[이득우 게임수학] 행렬의 설계 5.3 행렬의 설계벡터공간$V$의 두 기저벡터가 선형 변환을 통해 $W$ 의 벡터 $(a,c)$와 $(b,d)$  에 대응되어 변환되는 상황 가정$\vec  v=(x,y) =x\cdot (1,0) + y\cdot (0,1)$   $\vec w =x(a,c)+y(b,d) =(ax+by,cx+dy)$정방향렬에 벡터(x,y)를 곱한것과 동일$$\begin{bmatrix}a & b \\c & d \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} ax + by \\ cx + dy \end{bmatrix}$$  $(a,c) (b,d)$는 정방행렬을 구성하는 열벡터임을 알수 있다. 5.3.1 크기 변환행렬물체의 크기를 변경하는 행렬은.. 2024. 6. 26.
[이득우 게임수학] 행렬 https://ko.khanacademy.org/math/precalculus/x9e81a4f98389efdf:matrices/x9e81a4f98389efdf:multiplying-matrices-by-matrices/v/matrix-multiplication-intro5.2 행렬행렬은 수를 사각형의 형태로 행과 열을 맞춰 배열한 테이블이다.2 x 3 행렬은 다음과 같이 2행 3열의 형태이다.$$\begin{bmatrix}    a & b & c  \\   d & e & f  \end{bmatrix}$$행렬에서 2차원 백터는 열백터와 행벡터로 표현된다.열벡터  행벡터  $$ A = \begin{bmatrix} x & y \end{bmatrix} $$$$B= \begin{bmatrix} x \\ y  \e.. 2024. 6. 17.
[이득우 게임수학] 선형성과 선형변환 행렬은 선형 변환을 나타내는 매우 강력한 도구이다.선형 변환을 행렬로 나타내고, 그 행렬을 사용하여 벡터에 대한 변환을 할수 있다. 그럼 선형성이 뭐냐선형성이 무엇인가 선형성은 스칼라 곱셈과 같이 직선의 형태를 띄는것을 의미하는데, 직선 형태의 함수라고 전부 선형성을 띈다고는 할수 없고 아래 두 조건을 만족해야한다. 가법성 ( additivity )1차 동차성 (  homogeneity of degree 1 )덧셈에 대한 선형성 두 입력 값의 합에 대해 함수의 값이 각각의 입력 값에 대한 함수의 값의 합과 같아야 한다는 성질스칼라 곱에 대한 선형성입력 변수를 n배 증가시켰을 때 결과 n배 만큼 증가하는 성질 $(x_1+x_2)=f(x_1)+ f(x_2)$$f(kx)=kf(x)$ 다시말해, 선형성은 두 집.. 2024. 6. 9.
[이득우 게임수학] 삼각함수 4.1 삼각함수$\theta$ : 한 각이 직각인 삼각형에서 밑변과 빗변의 사이각삼각비 : 직각삼각형을 구성하는 세 변에서 두 변을 뽑아 각각의 비례관계를 나타낸것사인 Sine$sin (\theta)$ = $a \over c$코사인 Cosine$cos (\theta)$ = $b \over c$탄젠트 Tangent$tan (\theta)$ = $a \over b$  단위 원 (지름 1) 에서의 삼각비를 계산했을때 빗변이 가르키 원의 좌표는 ($cos \theta$,$sin \theta$) 가 됨  $sin \theta ={ b \over 1} =b$    $cos \theta ={ a \over 1} =a$지름이 r 이라고 했을때  $r\cdot$( $cos \theta$ , $sin \theta$ )이를.. 2024. 5. 24.
[이득우 게임수학] 벡터 3.1 데카르트 좌표계직선의 수 집합을 수직으로 배치해 평면에 표기하는 방식곱집합의 원어가 데카르트 곱이다 (cartatian product)한 원소는 곱집합과 동일하게 순서쌍이라고 표현하며 좌표(coordinate)라고 부름크기, 방향 두가지 속성을 가짐3.2 벡터공간과 벡터평면은 두 실수를 결합해 만들어지며, 실수는 체의 구조를 가지고 있기떄문에 평면에서의 움직임을 표현하기 위해서는 덧셈과 곱셈 연산체계를 사용한다.벡터공간 : 두개 이상의 실수를 곱집합으로 묵어 형성한 집합을 공리적집합론 관점으로 규정한 것 $V$벡터 : 벡터 공간의 원소 $\vec{v} = (x,y)$스칼라 : 체의 구조를 지니는 수집합의 원소3.2.1 벡터 연산벡터와 벡터의 덧셈$\vec{v}_1 + \vec{v}_2 = (x_1.. 2024. 5. 16.
[이득우 게임수학] 수 수체계 이해를 위해서 수의 구조와 함수를 알아보기1. 수와 집합: 공리적집합론 (연산에 대한 공리를 기반으로 한 집합론) 개념으로 수의 구조를 알아보자-1.1 사칙연산 (이항연산)의 성질닫혀있음: 같은집합에 속한 두 수를 투입한 이항연산의 결과가 항상 투입집단에 속하면 닫혀있다고함교환법칙: 연산순서 관계없이 항상 동일한 결과가 나옴a + b = b + aa * b = b * a결합법칙:연산두번이상 연속될때 순서와 상관없이 같음(a + b) + c = a + (b + c)(a * b) * c = (a * b) * c분배법칙: 서로 다른 연산에대해 분배 값 만족 (좌분배 우분배)a * (b + c) = a * b + a * c(b + c) * a = b * a + c * a항등원, 역원항등원 : 연산결과를 .. 2024. 5. 13.
GPGPU 개념정리 GPU CPU 연산처리방식의 차이가 빡 이해된다. GPGPU 대규모 픽셀데이터 처리를 목적으로 만들어진 GPU를 CPU 처럼 비그래픽 분야에 응용할 수 있도록 프로그래밍하는것을 GPGPU (General Purpose on Ghrapic Processing Units)라고함. CPU 는 코어당성능이 중요한 작업에 알맞음. 큰 캐시 메모리를 사용해서 처리속도가 빠름 GPU 는 코어당 성능은 CPU 보다 낮지만 엄청 많아서 병렬적인 작업에 적함함. GPGPU를 쓰는 소프트웨어 플랫폼 독립 API - CUDA : NVIDA 에서 독자적으로 만든 병렬 컴퓨팅 플랫폼 또는 API - OpenCL : 크로스 플랫폼 병렬 컴퓨팅 API - C++ AMP : GPU 병렬하드웨어 사용하여 C++코드 가속화, Visual.. 2021. 12. 27.
Thread Identification System values 스레드 ID란 ? 컴퓨트 쉐이더는 자료구조를 입력받아서 자료구조를 출력하는데, 스레드 ID 는 그런 자료구조들을 다양한 방식으로 indexing (색인을 지정해서 특정 요소에 접근하는 것) 하는데 사용된다. SV_GroupID 각 스레드 그룹에 배정된 ID (group ID) G₁ × G₂ × G₃ 이면 그 범위는 ( 0 , 0 , 0 ) 에서 ( G₁-1, G₂-1,G₃-1) 가 된다. 지역 저장소 메모리를 색인화하는데 사용 SV_GroupThreadID 스래드 그룹 안의 각 스레드에 배정된 ID (group thread ID) 스레드 그룹의 크기가 X × Y × Z 라고 할때 ID 범위는 ( 0 , 0 , 0 ) 에서 ( X-1, Y-1, Z-1) 이 된다. = 한 스레드 그룹 안의 특정 스레드 하나.. 2021. 8. 13.
Cellular Automata 1 Dimention Binary State Simulator p5js로 Cellular Automata 1 Dimention Binary State Simulator를 만들었다. inputfield 창에 0 -255 사이의 수를 입력하면 규칙별 시뮬레이션이 가능하다. 1차원 2개의 상태(0,1 또는 살아있거나 죽어있거나)가 있는 환경의 세포자동자 에서는 어떤 셀의 양 옆 셀의 정보를 바탕으로 특정 규칙에 따라 다음 세대에서의 셀 상태가 결정된다. 검은 칸은 죽어있는 상태이고(1) 하고 흰 칸(0)은 살아있는 상태라고 가정하자. 한 칸이 다음세대에 어떻게 진화되는지 알기위해서는 위의 그림처럼 나와 양 옆의 두 이웃 , 총 3개 셀을 검사해야한다. 그러면 나와 양 옆의 셀 모두 죽은 경우 -> 0,0,0 나와 오른쪽 셀은 살아있고 왼쪽 셀은 죽은상태인 경우 -> 0,.. 2021. 7. 20.
토끼와 거북이 알고리즘 Floyd's Tortoise and Hare Algorithm 자료구조 공부 중 연결 리스트 안에 루프가 있는지 탐지 하는 방법에 대해 설명한 부분 서로 다른 속도로 이동하는 포인터를 두개 만들어서 싸이클 있는지 탐지함 2021. 6. 18.