본문 바로가기

728x90

분류 전체보기

(430)
CG - 10. Triangle Mesh 1. Triangle Mesh - 가장 널리 쓰이는 modeling 기법중 하나인 triangle mesh를 깊게 알아보자. - rendering 이외의 다른 operation이 필요할 수 있다. 예를들면 인접한 mesh들을 탐색하는 경우가 이에 해당한다. - 이런 여러 operation에 용이한 mesh의 data structure은 어떻게 생겨야 할까? - 첫째, compactness : 최소한의 storage로 정보를 저장할 수 있어야 한다. - 둘째, generality : 다양한 operation들이 필요한 정보들을 얻을 수 있어야 한다. - 셋째, computation : 더 효율적이 연산이 가능해야 한다. - traingle이 특히 많이 쓰이는 이유는 항상 하나의 평면을 구성하기 때문이다. ..
CG - 9. Modeling 1. Modeling - scene을 구성하는 물체를 만드는 것 - 물체는 크게 두가지로 정의 된다. - 하나는 Geometry of shape(Structural description), 다른 하나는 질감 등의 appearance와 light(surface)이다. 2. Geometry - 70-80년대에는 spline curve로 surface를 구현했다. - 표면의 곡률 등을 계산해서 spline patch들을 polynomial 함수로 구현했다. - 90년대부터 triangle mesh를 생성하는 방법이 등장했다. - 물체 표면에 lazer를 쏴서 물체 표면의 모든 점들의 3차원 좌표들을 알아내는 기법으로 사실적 모델을 생성하기 시작했다. - Stanford bunny 는 69451개의 삼각형으로 ..
DB - 10. E-R Model 1. Desing Phases 1. (요건분석) 응용프로그램 사용자들이 어떤 data를 필요로 할지 예상해본다. 2. (개념적 설계) 사용자들이 필요로 할 data들을 기반으로 database schema를 작성한다. abstract한 schema를 작성하는 것이다. 이때 사용하는 모델이 ER Model이다. db에 사용될 삽입, 삭제, 갱신 등의 연산 또한 describe해야 한다. 3. (Normalization) : redundancy나 incompleteness 등의 문제가 생기면 바로잡는 과정을 거친다. 4. (구현) ER Model 컨셉을 구현하는 단계이다 (ER model -> RDB) * avoid redundancy : 동일한 데이터가 db에 반복적으로 나타나는 schema는 피해야 한다..
DB - 9. JDBC 1. JDBC - sql로 database를 구축하는 것 만으로는 응용프로그램을 개발하기 어렵다. - 사용자와 interfacing을 할 수 있는 응용프로그램을 위한 언어가 필요하다 (general purpose language) - 따라서 두 언어간의 이질성 극복을 위한 DB API가 필요하다. - jdbc는 주언어가 java일때 database와 연결하는 java api이다. 1. 가장 먼저 java로 만든 응용프로그램을 db서버와 연결한다. (getConnection) 2. "statement" object를 만들면 이 객체를 통해 db서버와 내용을 주고받게 된다. (Do Actual Work) 3. 생성한 statement객체를 사용해서 query들을 수행하게 된다. (select from gro..
컴퓨터 통신 - 12. 오류복구2 1. Sliding Window - stop&wait 방식에서의 단점은 ack가 오는 시간동안 일을 하지 않는다는 것이다. - 아직 ack를 받지 않은 상태에서 보내지는 프레임을 outstanding frame이라고 한다. 위 그림에서는 frame 0 이 여기에 해당한다. - 그러면 이 outstanding frame을 복수개 사용해서 전달하면 어떨까? - 무작정 무한대로 개수를 늘리는 건 아니고 제한된 window size만큼만 늘린다. - 즉 그림처럼 복수개의 frame을 연속으로 날리는 것이다. - stop&wait과 마찬가지로 각각의 frame#에 해당하는 ack#를 받아서 오류를 처리한다. * 그림에서는 수신받은 frame마다 ack를 보내지만 세개의 frame을 다 받고 한번에 ack를 보내도..
영상처리 - 7. Egde Detection edge detection은 intensity가 급격하게 변하는 지점을 탐색하는 것이다. convolution으로 찾는다. ex) sobel mask edge detection을 수행하기 전에 보통 blurring등으로 noise를 제거한다. 인접 픽셀의 밝기 차이(값)가 크면 edge일 확률이 높다. edge를 판단하기 쉽게 하기 위해 gray scale이미지로 변환한다. 그 다음 선택한 마스크로 convolution을 수행한다. gray scale 이미지는 오로지 한 픽셀당 하나의 값이 밝기를 나타내기 때문에 픽셀 값이 특정 값 이상이면 edge로 파악하거나 인접 픽셀간의 차이가 크면 edge로 간주하여 색을 입히면 된다.
CG - 8. Texture filtering 1. Filtering 1) frame buffer에 있는 픽셀의 texture coordinate을 구한다. 2) 그 위치를 가지고 texture image에서 근접한 네개의 texel을 interpolation하여 texture color를 꺼내온다. - 위 경우는 magnification에 해당하여 interpolation으로 처리된다. 즉 여러 pixel을 interpolation하여 image의 픽셀을 채운다. - 하지만 만약 frame buffer의 image 픽셀이 texture pixel의 크기보다 크다면 interpolation이 아니라 여러 texel을 평균내서 하나의 image pixel을 구하게 된다. 이를 Minification: Averaging이라고 한다. - 하지만 minif..
CG - 7. Texture 1. texture - color의 경우 vertex들의 interpolation으로 속을 채운다고 했다. - 질감도 마찬가지로 특정한 무늬 패턴들의 vertex를 잡아서 interpolation을 수행한다. - 모양이 복잡하면 복잡할수록 triangle수가 많아지고 따라서 rendering time이 늘어난다. - texture이미지를 3차원 모델에 mapping 시켜서 구현한다.. - 정육면체의 12개의 삼각형에 다음과 같은 질감을 surface에 mapping하는 것이다. 2. Texel - texture에 각각의 pixel을 texel이라고 한다. 각각 2차원의 (u,v) coordinate으로 되어있다. [0.0, 1,0]으로 normalize되어있다. - 결국 3D trianglemesh에 2..

728x90