Computer Graphics [6] : 그래픽스 응용 (Graphics Applications)
·
Computer Graphics/Graphics Theory
실시간 캐릭터 애니메이션을 위해서는 대체로 캐릭터의 골격(Skeleton)을 이용한다. 골격은 다수의 뼈(Bone)로 구성된 관절체(Articulated body)이다.Animation1. Character Mesh and Skeleton  Character Mesh and Skeleton(a) Default Pose of the Character Mesh : 모든 캐릭터를 애니메이션하기 위한 시작점으로 bind pose 또는 rest pose라고 불린다.(b) Skeleton Templates : 3ds Max에서 제공하는 바이페드(biped)라는 기본 골격이다.(c) Customization : 높은 커스터마이징이 가능하다. 예를 들어, 3ds Max에서 기본 스켈레톤을 편집하여 더 간단한 Rig를 ..
Computer Graphics [5] : 카메라 시점 (Camera View)
·
Computer Graphics/Graphics Theory
Computer Graphics Camera Model카메라 모델(Camera Model) : 디스플레이에 그래픽스를 표현하기 위해서는 카메라가 촬영을 할 때 카메라 안에서 어떤일이 벌어지는지를 이해하고 가상의 카메라를 모델링 할 수 있어야 한다. 1. Imaging Geometry ​카메라 모델의 Imaging Geometry는 3D 공간의 물체를 2D 이미지 평면에 투영하는 과정을 4단계로 설명한다.   Imaging GeometryWorlds Coords - Camera Coords = Rigid TransformationCamera Coords - Film Coords = Perspective , Weak PerspectiveFilm Coords - Pixel Coords = Affine Tran..
Computer Graphics [4]: 셰이더 (Shader)
·
Computer Graphics/Graphics Theory
셰이더 (Shader)는 컴퓨터 그래픽스에서 빛과 물체의 상호작용을 수학적으로 계산하여 화면에 보이는 최종 이미지를 결정하는 단계이다. 기본적으로 셰이더는 3D 장면의 기하학적 정보와 물리적 속성을 바탕으로 색상, 밝기, 질감 등을 연산하여 현실감 있는 시각적 표현을 만들어낸다. 이는 인간이 실제 세계를 인식하는 과정과 유사한 원리를 따르며, 빛의 반사, 산란, 투과 같은 광학적 현상을 수식으로 모델링하여 그래픽 요소에 적용한다. 따라서 셰이더는 단순히 화면을 그리는 도구가 아니라, 가상의 세계를 더욱 사실적으로 시뮬레이션하는 중요한 개념으로 이해할 수 있다.1. Lighting 셰이더에서 빛을 이해하는 것은 화면에 표현되는 물체의 색상, 질감, 입체감, 그리고 현실감을 결정하는 핵심 요소이다. 빛은 물..
Computer Graphics [3]: 텍스쳐 (Texture)
·
Computer Graphics/Graphics Theory
텍스처링(Texture Mapping)은 컴퓨터 그래픽스에서 물체의 표면을 더욱 현실적으로 표현하기 위해 사용하는 기술이다. 텍스처링은 마치 물체의 표면에 벽지를 붙이는 것처럼 텍스처를 적용하는 과정이며, 이를 통해 단순한 기하학적 형태의 3D 모델에도 복잡한 질감과 디테일을 표현할 수 있다. 특히, 폴리곤 메시의 경우 각 정점(Vertex)마다 텍스처 좌표(Texture Coordinates, UV 좌표)를 할당해야 하며, 이를 기반으로 3D 모델의 표면이 이미지 텍스처와 정확히 일치하도록 매핑된다. 텍스처링을 이해하는 것은 사실적인 그래픽스를 구현하는 데 필수적이며, 먼저 텍스처가 단순한 이미지 배열이라는 점과 이를 물체의 표면에 어떻게 적용하는지 개념적으로 이해하는 것이 중요하고 UV 매핑과 같은 ..
Animation Kinematics [3] : 운동학 수치 해석 (Kinematics Numerical approach)
·
Computer Graphics/Animation
Graphics Theory [7] : 렌더링 파이프라인 (Rendering Pipeline)
·
Computer Graphics/Graphics Theory
렌더링 파이프라인은 3D 객체의 기하학적 형태를 정의하고 조명 효과를 계산한 후 최종적으로 2D 이미지로 변환해 시각적으로 표현하는 컴퓨터 그래픽스의 핵심 과정이다. 일반적으로 모델링, 변환, 조명, 클리핑, 래스터화, 텍스처 매핑, 그리고 최종적으로 픽셀 색상을 결정하는 단계로 구성된다. 파이프라인은 그래픽스의 이론을 토대로 전산에 불과한 정점의 배열들이 3D 객체로 2D 이미지에 변환되는 핵심 원리를 이해하는 데 중요하며 각 단계가 최종 이미지의 품질과 성능에 직접적인 영향을 미치기 때문에  이를 이해하는 것은 효율적인 그래픽 처리 기술을 개발하는 데 필수적이다. 본 카테고리에서는 대표적인 그래픽 API인 DirectX를 토대로 렌더링 파이프라인의 각 단계에 대해 다룰 것이다. 컴퓨터 그래픽을 생성하..
Animation Kinematics [2] : 역기구학 (Inverse Kinematics)
·
Computer Graphics/Animation
https://www.youtube.com/watch?v=p46QWyHQE6M1. The Moore-Penrose Pseudo Inverse [1]Moore-Penrose 역행렬(또는 pseudo inverse)은 역행렬이 존재하지 않을 때에도 유사한 역행렬을 구할 수 있도록 하는 개념으로, 주로 데이터 분석과 선형 회귀 분석에서 유용하게 사용된다. 이 역행렬은 특정 행렬에 대해 가능한 pseudo inverse가 유일하다. 예를 들어, 행렬이 실수 또는 복소수로 구성되어 있을 때 각 원소가 달라지지 않는 유일한 형태로 정의된다. 또한, 가역적이라는 것은 행렬 AAA가 역행렬 A−1A^{-1}A−1을 가질 수 있을 정도로 조건을 만족할 때 사용되는 용어이다. 즉, AAA와 A−1A^{-1}A−1을 곱하면..
Animation Kinematics [1] : 정방향 운동학 (Forward kinematics)
·
Computer Graphics/Animation
Forward kinematics는 로봇공학 및 기계공학에서 로봇 매니퓰레이터의 관절 변수를 기반으로 해당 말단 이펙터(end effector)의 위치와 자세를 계산하는 과정이다. 이는 로봇의 각 관절에 대해 주어진 회전각 또는 변위와 같은 값을 이용하여 공간상에서의 이펙터의 위치를 수학적으로 결정하는 것을 말한다. 일반적으로 로봇의 구조적 체인과 관절 정보는 변환 행렬(transformation matrix)이나 좌표계를 사용해 표현되며, 이를 통해 기구학적 연산을 수행한다. Forward kinematics는 로봇의 작업 공간(workspace)을 분석하거나 목표 지점에 도달할 수 있는지를 평가하는 데 중요한 역할을 하며, 이를 계산하기 위해 Denavit-Hartenberg(DH) 매개변수와 같은 ..
Animation Kinematics [0] : 운동학 기초 (Fundamentals to Kinematics)
·
Computer Graphics/Animation
운동학(Kinematics)은 물체의 운동을 기술하는 고전 역학의 한 분야이다. 운동학에서는 물체가 어떻게 움직이는지 설명하며, 움직임을 발생시키는 원인인 힘이나 토크는 고려하지 않는다. 이는 위치, 속도, 가속도 등의 물리량을 중심으로 분석하며, 로봇의 관절 각도 계산, 애니메이션 캐릭터의 자세 변경 등 다양한 응용 분야에 사용된다.순방향 운동학(Forward Kinematics): 주어진 입력(관절 각도 등)을 기반으로 결과 위치(말단 위치)를 계산한다.역방향 운동학(Inverse Kinematics): 목표 위치를 기반으로 이를 만족하는 입력(관절 각도 등)을 계산한다.더보기역학 (Mechanics) 역학(Mechanics)은 물체의 힘, 운동, 상호작용을 다루는 학문으로, 두 가지 주요 분야로 나..
Computer Graphics [2]: 변환 (Transformation)
·
Computer Graphics/Graphics Theory
컴퓨터 그래픽스에서 변환(Transformation)은 3D 공간에서 객체의 위치, 방향, 크기를 조작하는 데 사용하는 수학적 연산으로 이동 변환, 회전 변환, 축소/확대 변환, 전단 변환, 투시 변환 등이 있다. 예를 들어, 게임 엔진에서는 이동 변환을 통해 캐릭터를 위치시킬 수 있고, 회전 변환으로 캐릭터의 방향을 조정하며, 축소/확대 변환으로 객체의 크기를 조절 할 수 있다. 구체적인 변환의 수학적인 행렬을 알아보기에 앞서 변환 그룹에 대한 이해를 해두는 것이 좋다, ​더보기Transformation Group 변환을 행렬로 간단하게 표현하기 위해선 잘 정리되어있는 성격이 필요한데, 변환 그룹의 세가지 성격을 서로 다른 변환들이 가지고 있다면 그 변환을 그룹으로 표현할 수 있다. 변환 그룹은 변환 ..