Computer Science

아빠랑 코딩 토크 | 그래픽스, python venv, bash shell script, 성장 방식

토마토. 2021. 9. 21. 11:06

1. 그래픽스

- graphics 기초

Mesh

Vertex

Face

Edge

f(shape) ~= Mash

Modeling Tools : AutoDesk 3DS, Max, Maya, Blender(open source)

- graphics 영역

1) 애님 (Animation)

- Bone (Skeletal)

Pos, 회전, 크기 (R, T, S)를 아핀 공간(Affine)에 표현한다고 함.

이건 뭔가.. 위치를 계산하는데 행렬을 쓰나보다.

차이 시점 + 종점으로 주어진 공간

 

bone = Mroot를 root로 해서

부모, 자식 노드 관계로 bone 구성함

그리고 시간을 keyframe으로 해서 위치 계산

 

Quaternion = 3차원 회전

복소수를 이용해서 4차원 표현??

q1 = (x,y,z,w)으로 관계를 표현한다고 함. ?

 

대표적인 연습문제 : 물결/파도 표현

 

딥하게 되면, 물리 적용하는 것

충돌이 발생할 때 어떻게 움직일 것인가?

F=ma (미분방정식 해결 => 근사시킴)

 

IK inverse kinematic

?

 

2) 재질 material

빛 + 오브젝트 표면 =? 색

광자가 들어오는 걸 계산하고(적분) 근사해서 색 표현

phong 모델

- 색 RGB, HSV 등

- 반사

monte carlo 가상의 도박의 도시 = 확률적으로 색 계산 (적분)

 

이를 통해 texture 이미지 구성함.

 

아티스트들이 그리면,, wrapping, unwrapping하면서 조정한다고 한다.

 

수학 => 알고리즘 (근사)

 

재질, 광원(라이트), 그림자

 

랜더링 rendering

scratch the surface

 

대표적인 연습 문제

software render

- ray tracing

image

simulation

image

 

엔진 만들기

렌더링 API 이용 - DirectX, OpenGL

애님

 

or

Unity, Unreal

 

computational geometry

- 볼록한 다각형 - convex hull

- 최단 경로 찾기

- 보초를 몇 명 세워야 하는가?

- 충돌 처리

- GJK algorithm


2. python

python venv

3. bash shell script

bash도 하나의 프로그래밍 언어

쓰기 편하게 명령어 .sh 파일로 저장해둘 수 있음

리눅스 쓰는 김에 해보기! :D


4. 공부 + 기록


무조건 코드 따라치지 말고, 이해하기

라이브러리, 툴을 내 것으로 쌓일 수 있도록 공부하기!!