Viewing Pipeline Modeling Coordinates: Objects are created by their own coordinates. World Coordinates: The objects are placed in the same world coordinate. Viewing Coordinates: Objects are now expressed relative to camera. Normalized Coordinates: Everything visible to the camera is mapped to unit cube for easy clipping. Device Coordinates: Normalized coordinate (unit-cube) is mapped to the device coordinate. Rasterization: 2D primitives turns into pixels. If the position and orientation of camera are given, everything is done. q w c = [ R p 0 1 ] q v c \mathbf{q}_{wc} = \begin{bmatrix} R & \mathbf{p} \\ \mathbf{0} & 1 \end{bmatrix}\mathbf{q}_{vc} q w c = [ R 0 p 1 ] q v c where R R R is camera's rotation matrix and p \mathbf{p} p is camera's position.
∴ q v c = [ R p 0 1 ] − 1 q w c = [ R T − R T p 0 1 ] q w c ∵ q w c = R q v c + p q w c − p = R q v c R T q w c − R T p = q v c \begin{align*} \therefore \mathbf{q}_{vc} = \begin{bmatrix} R & \mathbf{p} \\ \mathbf{0} & 1 \end{bmatrix}^{-1}\mathbf{q}_{wc} &= \begin{bmatrix} R^T & -R^T\mathbf{p} \\ \mathbf{0} & 1 \end{bmatrix}\mathbf{q}_{wc}\\ \because \mathbf{q}_{wc} &= R\mathbf{q}_{vc} + \mathbf{p} \\ \mathbf{q}_{wc} - \mathbf{p} &= R\mathbf{q}_{vc} \\ R^T\mathbf{q}_{wc} - R^T\mathbf{p} &= \mathbf{q}_{vc} \\ \end{align*} ∴ q v c = [ R 0 p 1 ] − 1 q w c ∵ q w c q w c − p R T q w c − R T p = [ R T 0 − R T p 1 ] q w c = R q v c + p = R q v c = q v c Application-layer protocols Transport-layer service models: Transport-layer sends data (TCP, UDP) Client-server paradigm (HTTP) Peer-to-peer paradigm (BitTorrent) HTTP Web Web page consists of objects, which can be HTML file, JPEG image, audio file, etc. Web page consists of base HTML-file which includes several referenced objects, each addressable by a URL.
Perpetual intermediates Most people are perepetually intermediate - only few beginners and experts
Design should target intermediates!
Interaction Design The design of spaces for human communication and interaction. (Winograd, 1997) Designing interactive products to support the way people communicate and interact in their everyday and working lives. (Sharp, Rogers and Preece, 2011) Hierarchical modeling Model complex objects by combinig simple primitives. (e.g. triangles, box, cylinders, spheres)
Static Hierarchical Model Relative transformations do not change. (e.g. car)
Dynamic Hierarchical Model Two types of packets UDP: unreliable datagram TCP: reliable byte stream Actually it takes the same amount of time to send UDP packet and TCP packet!! Even streaming services uses TCP these days.
UDP no handshaking before sending data (no connection!) sender explictly attaches IP destination address and port number to each packet receiver extracts sender IP address and port number from received packet History of Computer Early Example: Astrolabe In middle age, astrolabe can calculate people the time of the day, sun, star, season, latitude, etc. Easier to use, but need to learn how to use astrolabe.
Babbage Difference Engine First mechanical calculator Can solve 7th-order polynomial equations! Google TPU Google TPU Version 1.0 does 64,000 multiplication per cycle! It can multiply 256x256 matrix!
Two important things in parallel computing are making small unit and providing new data every cycle. How does Google TPU multiply 256x256 matrix?
Systolic array
Moore's law Computer abilities are doubled each 2 years. But human abilities are almost in place...
AI has nearly caught up with human performance!
HCI Human-Computer Interaction is a discipline concerned with the analysis, design, implementation, and evaluation of interactive computing systems for human use and with the study of major phenomena surrounding them.
Recall) Linear transformation Linear transformation T L T_L T L is a mapping between vector spaces. Linear combination is invariant under T L T_L T L .
T L ( ∑ i = 0 N c i v i ) = c 0 T L ( v 0 ) + ⋯ + c N T L ( v N ) T_L\left(\sum_{i=0}^{N}c_i\mathbf{v}_i\right) = c_0T_L(\mathbf{v}_0) + \cdots + c_NT_L(\mathbf{v}_N) T L ( i = 0 ∑ N c i v i ) = c 0 T L ( v 0 ) + ⋯ + c N T L ( v N )
In 3D space, T L T_L T L can be represented by a 3x3 matrix A A A .
T L ( v ) = A 3 × 3 v 3 × 1 T_L(\mathbf{v}) = A_{3 \times 3}\mathbf{v}_{3 \times 1} T L ( v ) = A 3 × 3 v 3 × 1
0%
Theme NexT works best with JavaScript enabled