기존 내용 복습
삼각함수
정의와 용어
- Degree 의 정의
- Radian 의 정의
- 원주율의 정의
- 각도를 표현하는 방법
- 피타고라스의 정리
삼각비
- 삼각비의 정의
- 사인(sine)의 정의 : 높이/빗변
- 코사인(cosine)의 정의 : 밑변/빗변
- 탄젠트(Tan)의 정의 : 높이/밑변
삼각함수
- 사인함수
- 코사인함수
- 탄젠트함수
- 삼각함수의 비교
- 삼각함수의 성질
삼각함수의 역함수
- arcsin
- arccos
- arctan
삼각함수의 역함수의 확장
- atan2
단위원과 피타고라스의 정리
일반원과 피타고라스의 정리
좌표계의 기원과 정의
- 좌표계의 정의
- 좌표계의 종류 : 직교좌표계, 극좌표계, 구면좌표계, 원통좌표계
- 데카르트 좌표계
- 게임에서의 3차원 좌표계
- 극좌표계
방정식의 이해
- 일차 방정식의 이해
- 이차 방정식의 이해
- 일차 방정식과 직선
- 일차 방정식과 게임 프로그래밍
- 이차 방정식과 포물선
- 이차 방정식과 원
- 이차 방정식과 게임 프로그래밍
벡터
정의와 용어
- 벡터의 정의
- 스칼라의 정의
- 벡터와 N차원
- 벡터의 크기
- 벡터의 연산 (덧셈, 뺄셈, 스칼라 곱셈, 스칼라 나눗셈)
벡터의 종류
- 위치벡터
- 단위벡터
- 방향벡터
- 법선벡터
- 영벡터
- 역벡터
벡터공간
- 벡터공간의 정의
- 벡터의 기저
- 벡터공간의 10가지 공리
- 벡터의 생성과 선형결합
- 벡터의 선형독립과 선형종속
- ★ 기저와 기저벡터
- 차원
- 표준기저, 표준기저벡터
벡터의 내적
- 벡터의 내적의 정의
- 벡터의 내적의 특징
- 벡터의 내적의 활용
벡터의 외적
- 벡터의 외적의 정의
- 벡터의 외적의 특징
- 벡터의 외적의 활용
행렬
행렬의 정의와 용어
- 행렬의 정의
- 행렬의 행
- 행렬의 열
- 행벡터
- 열벡터
- 행렬의 크기
- 행렬의 성분의 표기
행렬의 연산
- 행렬의 상동
- 행렬의 덧셈
- 행렬의 뺄셈
- 행렬의 스칼라배
- 행렬의 곱셈
행렬의 종류
- 정방행렬
- 전치행렬
- 전치행렬의 성질
- 단위행렬
- 대각행렬
- 영행렬
- 역행렬
- 역행렬의 성질
- 역행렬과 행렬식
- 행렬식을 이용한 역행렬
선형변환의 이해
- 선형변환의 정의와 용어
- 벡터에서의 선형성
- 2차원 벡터의 선형성 만족 여부
- 2차원 벡터의 가산성 만족 여부
- 2차원 벡터의 동차성 만족 여부
행렬의 관계
- 행렬의 구조와 벡터
- 행렬과 기저벡터의 관계
- 정방행렬을 통한 벡터 표현
- 벡터공간과 행렬의 관계
- 크기 변환 행렬
- 회전 변환 행렬
- 전단 변환 행렬
- 역행렬의 기하학적 의미
- 행렬식의 기하학적 의미
- 평행사변형의 넓이
- 크기 변환 역행렬
- 회전 변환 역행렬
- 전단 변환 역행렬
아핀 공간의 이해
- 벡터공간의 한계
- 벡터공간에서의 벡터
- 아핀공간의 개념
- 아핀공간의 정의
- 아핀공간의 점
- 아핀공간의 벡터
- 아핀공간의 성질
- 아핀공간과 벡터공간의 차이
아핀 결합의 이해
- 아핀 결합
- 스칼라 계수들의 합이 1이라는 제약 조건
- 아핀 공간의 두 점을 이용한 아핀 결합
- 아핀 결합을 통한 직선, 반직선, 선분
아핀 변환의 개념
- 아핀 변환의 정의
- 동차좌표계
- 아핀변환과 동차좌표계의 활용
- 이동변환과 동차좌표계의 이해
- 정방행렬을 통한 2차원 아핀 변환 표현
- 2차원 이동 변환을 표현한 아핀 변환 정방행렬 표현
- 2차원 크기 변환을 표현한 아핀 변환 정방행렬 표현
- 2차원 회전 변환을 표현한 아핀 변환 정방행렬 표현
변환의 확장
- 변환은 행렬의 곱을 기반으로, 행렬의 곱셈 순서에 따라 결과가 다름
- 동차좌표계를 이용한 2차원 점에 대한 변환
파이썬의 자료구조
파이썬의 자료형
- Tuple (튜플) : 순서가 있음. 데이터의 중복을 허용. 데이터 변경 불가능
- List (리스트) : 순서가 있음. 데이터의 중복을 허용. 데이터 변경 가능
- Dictionary (딕셔너리) : 키(key)와 값(value)으로 결합된 자료형이며 순서가 없음
- Set (집합) : 순서가 없음. 데이터의 중복을 허용하지 않음.
리스트
- 생성시 대괄호 []와 list 함수 사용.
- 리스트의 색인 값으로 값을 얻기 (색인은 0부터 시작, -1은 마지막 값)
- 리스트 나누기
- 리스트 덧셈, 곱셈
- 리스트의 길이 구하기
- 리스트의 값 변경, 삭제
- 리스트 값 추가 및 특정 값 삭제 - append, remove
- 리스트 색인 값 얻기 - index
- 리스트 값 삽입 : 특정 위치의 값을 삽입 - insert
- 리스트 값 삭제 : 특정 위치의 값 삭제 - pop
패킹과 언패킹
- Packing : 여러 개의 값을 하나의 튜플로 묶는 것.
- Unpacking : 튜플의 각 원소를 여러 개의 변수로 할당. *변수 개수와 튜플의 원소 개수가 동일 필수)
Dictionary (사전, 딕셔너리)
- 데이터의 변경이 가능
- 키와 값이 쌍으로 구성되어 있기 때문에 키를 기반으로 검색 가능
- 값에는 set, tuple, list, dictionary등 다양한 데이터 구조 가능
- Dictionary를 생성 시 중괄호 {}와, 콜론 이용 혹은 dict 함수 사용
- 빈 Dictionary를 생성 시에 {}만을 이용해서 생성 가능
- 키와 값 추가
- 키와 값 삭제 - del, pop
- 특정 키의 값 변경
- dictionary 키들을 리스트로 얻기 - keys()
- dictionary 모두 삭제 - clear
- 특정 키로 값 얻기 - get, 없는 키로 값을 얻을 때에는 None을 리턴.
Set
- 데이터의 변경이 가능
- 합집합, 교집합, 차집합 등 수학적으로 집합의 성질을 지님 - union |, intersection &, difference -
- 데이터의 순서가 없기 때문에 인덱스를 통해서 데이터에 접근이 불가능하다.
- 집합을 생성 시에는 중괄호 {}나 set 함수를 사용한다.
- 데이터 추가하기 - add (하나), update (여러 개)
- 데이터 삭제하기 - remove
데이터 간의 이동
- List와 Tuple
- Set과 Tuple : Set 변환 시 중복된 원소는 하나만 남김.
- Set과 List : Set 변환 시 중복된 원소는 하나만 남김
파이썬 List 실습
- 숫자들을 원소로 가지고 있는 List를 이용하여 모든 숫자의 합계를 구하는 함수를 작성해 보세요
파이썬 List 예제
'대학생활 > 수업' 카테고리의 다른 글
게임프로그래밍고급 10주차 - Shader, HLSL, Kernel, Thread, Group (0) | 2023.05.09 |
---|---|
게임기획크리틱 10주차 - 데이터 디자인 (0) | 2023.05.09 |
게임네트워크프로그래밍 9주차 - 관계데이터모델의 복습, 트랜잭션, 데이터베이스프로그래밍, 턴 방식 게임 학습 (0) | 2023.05.08 |
게임데이터설계 9주차 (0) | 2023.05.06 |
게임알고리즘 8주차 - Search Algorithms, Interpolation Search, Tree (0) | 2023.05.06 |