강의/컴퓨터 그래픽스

    Spatial Data Structures

    Spatial Data Structures

    목차개요Mesh (neighbor, Winged-edge, Half-edge)Spatial Data Structure (AABBox) Spatial Data StructuresData Structures for Computer Graphics사실적인 그래픽스 화면을 랜더링하기 위해 필요한 요소○ 더 많은 프레임○ 더 높은 해상도 + 샘플링 비율○ 더 사실적인 조명 표현○ 더 복잡한 기하 모델 등등→ 이를 위해 가속화 알고리즘 + 효율적인 자료구조가 필요합니다. 컴퓨터 그래픽스에서 사용하는 자료 구조들○ 메시 (Mesh )○ Scene Graph○ 공간 자료 구조(Spatial Data Structures)    ● Object partitioning : ex) bounding volume hierarch..

    Global Illumination

    Global Illumination

    목차Global IlluminationRay TracingRay Object Intersection Global Illumination빛의 성질빛은 직진하는 특징이 있고, 빛이 물체의 표면에 닿으면 Reflection(반사), Refraction(굴절), Absorption(흡수)됩니다.I(x,y) : 이 방향으로 들어오는 모든 빛들의 합Global Illumination모든 물체의 표면에서 반사/굴절되는 모든 빛들을 고려하는 모델링입니다.Local illumination : 간단함, rasterization 사용, 물체들간의 상호작용 고려 XGlobal illumination : 복잡함, 물체들 간의 상호 작용을 고려한 계산 필요Global illumination을 구현하기 위해 Ray-tracing ..

    Texture Mapping

    Texture Mapping

    목차Texture MappingTexture coordinate functions- Projections- CubemapMapping Techniques- Antialiasing- Normal Bump Mapping Texture Mapping개요현실의 물체들은 색이나 법선 방향등이 균일하지 않은 문제점으로 높은 디테일은 모델링하기 어렵습니다.사실적인 shading을 위해서 색상, 법선에 변화를 주는 것이 필요 → Texture(텍스처, Map이라는 단어도 씁니다.)를 사용해서 복잡한 디테일의 모델링을 대체합니다 방법텍스처 자체는 2차원 이미지로 2차원 이미지를 3차원 물체 표면에 덮어씌우는 매핑과정을 통합니다.물체의 표면이 평면인 경우(벽, 바닥) 그냥 덮어 씌우면 되지만, 곡면을 가진 표면이라면 표면..

    TTF 폰트 프린터(베지에 곡선)

    TTF 폰트 프린터(베지에 곡선)

    배경컴퓨터에서 글자(폰트)를 표현하기 위해서는 크게 비트맵(Bitmap), 벡터(Vector)형식이 있습니다.비트맵은 픽셀의 집합으로 구성되며 벡터는 점과 점사이 선에 규칙으로 수학적으로 표현됩니다.True Type Font는 1980년대 후반 Apple과 마이크로소프트에 의해 개발된 2차 베지에 곡선을 사용한 글씨체 외곽선 표준(outline font standard)으로, macOS, Windows 등의 운영체제에서 글꼴(font)를 정의, 저장하는 가장 표준적인 방법입니다.https://developer.apple.com/fonts/TrueType-Reference-Manual Fonts - TrueType Reference Manual - Apple DeveloperTrueType Referenc..

    Illumination Models & Shading

    Illumination Models & Shading

    목차개요Lighting vs ShadingLocal vs Global Illumination ModelsLight sourceShading Component (Ambient / Diffuse / Specular)Shading (Flat / Gouraud / Phong) Surface Shading개요물체의 표면의 색상, 질감, 재질 등을 표현합니다. 즉 물체의 appearance을 결정합니다.  Lighting vs ShadingLighting : material들과 light source들의 상호작용으로 물리 법칙이 연관되어 있습니다.Shading : pixel의 색을 결정하며 컴퓨터 그래픽스의 한 요소입니다.Shading은 대개 lighting에 의해서 결정되지만, lighting에 의해 다른 방식으..

    Meshes

    Meshes

    목차 Meshes Triangle Fan Triangle Strip Level of Detail Meshes Boundary Representations - Meshes & Subdivision Mesh란 물체의 표면을 샘플링한 점들과 그 점들을 연결해 만든 Polygon(triangle / quadrilateral)들로 표현한 것입니다. * Tessellation / Triangulation : 표면을 polygon의 집합으로 나눈 것(현대 graphics API/ HW 들은 triangle 사용 최적화) Mesh 표현 Mesh는 점들간 연결의 집합이니 기초적으로 각 점들에 대한 정보와 연결정보로 표현됩니다. 3D 렌더링 기본 단위로 표현되며, Primitive라 부르며 Primitive는 기초적인 T..

    Subdivision Curves and Surfaces

    Subdivision Curves and Surfaces

    목차 개요 Corner Cutting (Chaikin's Algorithm) Cubic Corner Cutting, in Mesh Triangular Subdivision Butterfly Scheme Subdivision Curves and Surfaces 개요 polyline, polygon이 주어졌을 때, 재귀적으로(recursively) polyline / polygon의 점들을 수정해서 점차 부드러운 형태를 만드는 곡선/곡면 생성 기법입니다. 일반적으로 디자인에서 subdivision이후 수정이 힘들어 보통 마지막에 하는 것 같습니다. 곡선/곡면이 다항식 함수 대신 procedure 형태로 정의됩니다. Corner Cutting (Chaikin's Algorithm) Subdivision sch..

    Surfaces

    Surfaces

    목차 Surface Surface Method used in geometric modeling Curves to Surfaces(Bezier Surface) Bezier Surface Derivatives Surfaces Parameterized Surface 연속 곡면(Surface) s ⊂ R³ 는 다음과 같은 매개화(parameterized)된 형태로 표현할 수 있습니다. $$ X(u, v) = \begin{pmatrix} x(u, v) \\ y(u, v) \\ z(u, v) \end{pmatrix},(u,v)\in \Omega \subset R^{2} $$ x(u,v), y(u,v), z(u,v)는 미분 가능한 함수 Ω는 매개 변수의 정의역(parametric domain) u, v는 매개변수의 ..