분류 전체보기 (430) 썸네일형 리스트형 export .ipynb to PDF (at Colab) 1. pypandoc 설치 !apt-get install texlive texlive-xetex texlive-latex-extra pandoc !pip install pypandoc 2. 구글 드라이브 mount from google.colab import drive drive.mount('/content/drive') 3. convert !jupyter nbconvert --to PDF '/content/drive/My Drive/ipynbToPDF.ipynb' OOP - 3. Technique 1. Cohesion, Coupling - component 동작들의 응집성이 높고 의존성이 적을수록 더 좋은 design이다. - coupling이 많다는 것은 하나의 동작을 수행하는데 의존하는 component가 많아짐을 의미한다. 2. Interface and Implementation - 사용자에게 what it does?인 interface는 공개하지만 - how it does?인 implementation은 숨긴다. 3. Selection of name - short, pronounceable - evocative - avoid digits 4. Private - class에서 data member를 private으로 설정하도록 권장 C++ - split 함수 #include #include #include #include using namespace std; vector split(string input, char delimiter) { vector answer; stringstream ss(input); string temp; while (getline(ss, temp, delimiter)) { answer.push_back(temp); } return answer; } // 버퍼에 한 글자 지우기 cin.ignore(); // getline으로 읽어서 sounds에 문장 넣기 string sounds; getline(cin, sounds); // string을 ' '구분으로 나누기 vector vec_sounds = split(sounds, ' '); 컴퓨터통신 - 6. 데이터 링크 계층, 노드, 링크, 신호 1. 데이터 링크 계층 - 2계층은 하나의 링크로 연결된 두 노드 사이의 비트 묶음(frame)교환을 담당하는 계층이다. - 2계층에서 프로토콜들이 주고 받는 메세지를 frame이라고 하고 데이터 단위를 PDU라고 한다. - bluetooth가 데이터 링크 계층간 통신의 한 예시이다. 2. 노드 - 단말, 호스트, 스위치, 라우터를 나타낸다. - 좌측 노드(컴퓨터)를 Network Interface Card, LAN, BP, Wifi 등의 네트워크 어댑터를 통해서 네트워크에 연결한다. - 저 어댑터가 몇개씩 있어서 많은 링크와 연결이 된다 하더라도 메모리가 느리기 때문에 병목이 노드에서 발생한다. - 고속의 여러 링크에서 데이터가 쏟아져도 버스를 돌아가면서 사용하고 메모리에 데이터를 저장하고 꺼내는 시간.. 컴퓨터통신 - 5. 소요시간 분석 1. 소요시간 분석 - 이번에는 통신과정에서 소요 시간을 분석해보자. circuit switching 시간 - 시간은 위에서 아래로 흐른다. - 세로 4개 줄이 네개의 노드를 나타낸다. - 초록선은 먼저 목적지가 어디로 될 것인지 알려주어서 노드를 link시키는데 걸리는 시간을 말한다. - 빛의 속도로 전달이 되지만 거리에 따라 propagation(전파지연시간)이 들기때문에 대각선으로 그림에 표현된다. - 목적지까지 도달 했다가 host1으로 연결이 되었다고 알리는걸 연결시간이라고 한다. - 즉 데이터를 보내기 전에도 연결시간이 든다. - 선의 두께는 비트들의 길이이다. 한 비트씩 순서대로 보내기 때문이다. - 마지막 초록 선은 link를 끊는 시간이다. packet switching 시간 - 이번에는.. 영상처리 - 5. Blur and Sharpen(with Convolution) blur, sharpen을 수행하기 위해 convolution을 먼저 알고 가자. mask를 정의하고 중앙의 pixel의 값을 업데이트 하는 방법을 말한다. window를 이동해가며 모든 pixel에 대해 convolution을 수행해서 원본 이미지를 blur처리하거나 더 날카롭게 대비를 줄 수 있다. 연속적으로 convolution을 적용하는 과정에서 주의할 점이 하나 있다. 위 그림처럼 이전 연산의 결과가 이후 연산에 반영되어서는 안되기 때문에 buffer를 이용해서 결과값을 따로 저장하도록 해야 한다. 물론 연산의 결과가 pixel이 표현할 수 있는 값의 범위를 넘지 않도록 해주어야 할 것이다. 변경할 (중앙) 필셀의 주위 픽셀값을 조정해서 원하는 효과를 내도록 할 수 있다. 크기는 얼마든지 5 b.. CG - 4. Viewing System 1. Viewing System - 컴퓨터 그래픽스란 결국 실세계에 있는 물체들의 사진을 찍는 것과 같다. - 삼차원 모델이 이루는 scene을 2D화면에 projection하는 것이다. 2. Coordinates Transform Pipeline Model Transform - 가장 먼저 가상의 scene에 올려놓을 물체들을 모델링한다. 그리고 가상의 공간(world space)의 x,y,z 축에 물체들을 올려둔다. 이때 transformation 계산이 필요하다. View Transform - scene이 완성되었다면 가상의 카메라의 좌표를 정의한다. 즉 veiwplane을 정의하는 것이다. - 계산상 편의를 위해 world coordinate을 카메라를 기준(view coordinate)으로 x,y.. CG - 3. Transformation 1. Transformation - vertex p에 m matrix를 곱해서 transformation을 구현한다. - 시간에 따른 transformation이 바로 애니메이션이 된다. 2. Rotation - homogeneous coordinate으로 한차원 높여서 matrix 표현하면 위와 같다. 3. Euler Angle - 이전에는 좌표축을 중심으로 한 회전을 생각했다면 이번에는 임의의 위치에 있는 물체의 축을 중심으로 회전을 시켜보자. - 가장먼저 x축으로 r만큼 회전하고 y축으로 b만큼 회전하고 z축으로 a만큼 회전한다. - xyz말고도 zyz등 가능한 여러가지 조합이 있다. - 이런 현상을 gimbal lock이라고 한다 zxy에서 x축으로 90도를 회전하게 되면 z, y, 축을 기준으로.. 이전 1 ··· 39 40 41 42 43 44 45 ··· 54 다음