본문 바로가기

Computer Science 254

Transformation in 3D 3D Cartesian Coordinate System 왼쪽은 2차원 좌표평면에서의 모습이고, 오른쪽은 3차원 좌표공간에서의 모습이다. 그런데 3차원의 경우 z축을 어디로 잡느냐를 결정해야 한다. 둘 다 사용하고 있으며 앞쪽으로 나와있는 것을 Right-handed cartesian coordinates라고 하고, 뒤쪽으로 빠져있는 것을 Left-handed cartesian coordinates라고 한다. Right-handed vs Left-handed coordinates systems 오른손을 폈을 때 손가락이 x축을 향하고 그 상태로 손가락을 접었을 때 y축을 향하게 두었을 때, z축이 엄지손가락 방향이면 Right-handed cartesian coordinates이다. 반면에 왼손으로 했을 .. 2021. 3. 16.
Transformation in 2D Transformation Geometric transformation(기하 변환)이란 기하학적인 구조를 가진 집합을 one-to-one mapping을 통해 옮기는 것으로, 쉽게말해서 점들의 집합을 이동시키는 것이다. Vector space S에 있는 임의의 input vector v을 S에서 T로 옮기는 것으로, 다음과 같이 나타낼 수 있다. $S \rightarrow \{ T(v) | v \in S \}$ 평행이동(translate), 회전(rotate), 확대/축소(scale), 전단(shear), 대칭(reflect) 등이 있다. 그래픽 movement, image/object manipulation, viewing, projection transform 등에 사용된다. Linear Transf.. 2021. 3. 16.
Abstraction과 Software Design High-Level Programming Digital logic design에서 primitive는 AND, OR, NOT이었지만, C를 포함한 high-level programming에서의 primitive는 statements이다. Primitive Variable, constant, operation, expression, data type 등 더 작은 구성 요소들이 있다. 그러나 의미를 가지는 가장 작은 구성 요소(atom)은 statement이다. 즉, statement 이상부터 의미를 갖기 때문에 statement을 primitve로 보는 것이다. Machine instruction도 의미를 가지고 statement보다 더 작지만, 이는 machine level에서의 관점이고 지금은 high.. 2021. 3. 14.
Abstraction과 Hardware Design Abstraction 하드웨어, 소프트웨어, 컴퓨터를 포함한 모든 공학 도구나 물건은 Interface와 Implementation으로 구성되어 있다. Selective Ignorance의 특징을 지닌다. 따라서 Implementation을 몰라도 Interface만 알면 사용이 가능하다. Interface = 사용법 = service = abstraction Implementation 구현, 설계, 구조, 동작 Interface을 구현한 것으로, interface을 제공한다. 예시 : CS에서의 Interface Machine-level Programming Interface : machine instruction Implementation : machine(CPU) High-level programm.. 2021. 3. 14.
Transistor와 반도체 제조 공정 Transistor 반도체 기술을 이용해 만들어지며, 얇은 실리콘판 위에 여러 기체를 붙여서 만들어진다. 1947년 Bell lab에서 개발되었고, 현재 tansistor을 이용하여 ALU, 프로세서, 컴퓨터 등을 만들고 있다. 또한 AND, OR, NOT 게이트들도 트렌지스터로 만들고 있다. * ALU : Arithmetic and Logic Unit (산술 논리 연산 장치) 참고 : 컴퓨터 공학 vs 전자 공학 컴퓨터 공학과 전자공학은 서로 다른 abstraction level에 있다. → 컴퓨터 공학은 주어진 AND, OR, NOT 게이트들을 이용하여 CPU을 만드는 것에 중점을 두지만, 전자 공학은 AND, OR, NOT 게이트를 만드는 것에 중점을 둔다. AND, OR, NOT gates NOT.. 2021. 3. 14.