전체 글 169

좌표계 변환에 대한 삽질

좌표계 변환에 대해서 잘 이해하지 못해서 다시 제대로 공부한 뒤 그 기록을 남긴다.개인적으로 아핀변환이 더 직관적으로 이해된다고 생각하기 때문에..좌표계 변환을 아핀 변환과 조금 섞어서 다시 표현해보도록 하겠다.좌표계 변환 Change Of Coordinate Transformations좌표계에는 여러 종류가 있다.자신의 좌표계는 로컬 좌표계라고 하며자신을 정의하는 좌표계도 존재할 수 있으므로 그러한 좌표계를 부모 좌표계이런 식의 상속구조가 재귀적으로 정의될 수 있다. 물론 하나의 부모에서 여러 자식 좌표계가 존재할 수도 있다. 그러나 자식은 자신의 좌표계에서는 자기가 마치 표준 기저인 양 점들을 정의할 것이다. 로컬 좌표계만 가지고는 월드를 렌더링할 수가 없다.결국 월드를 기준으로하는 모든 로컬좌표계를..

[DX11 물방울책 요약 정리] 챕터4: Direct3D 초기화

파트2: Direct3D 살펴보기이 부분에서는 이 책의 나머지 부분에서 사용되는 Direct3D의 기본 개념과 기법들을 학습한다.이 기초들을 숙달하면 더 흥미로운 응용 프로그램을 작성할 수 있다.이 부분에 포함된 각 장의 간단한 설명은 다음과 같다. 챕터 4: Direct3D 초기화이 장에서는 Direct3D가 무엇인지, 그리고 3D 그리기를 준비하기 위해 어떻게 초기화하는 지 배운다.serface, pixel format, page fliping, depth buffer, multi sampling 과 같은 기본 Direct3D 주제들도 소개된다. 또한 성능 카운터를 사용해 초당 렌더링된 프레임 수를 계산하는 방법도 배우며, Driect3D 애플리케이션을 디버깅하는 몇 가지 팁도 제공한다. 우리는 SD..

[DX11 물방울책 요약 정리] 챕터3: Transformations

변환 Transformation우리는 3D 세계에서 객체를 기하학적으로 표현한다. (객체의 표면을 삼각형들의 집합으로 근사하는 방법을 사용) 객체가 움직이지 않는다면 세계는 흥미롭지 않을 것이다. 따라서 우리는 기하학을 변환하는 방법에 관심을 갖는다. 기하학적 변환의 예로는 이동, 회전, 크기변환이 있다. 이 장에서는 3D 공간에서 점과 벡터를 변환하는 데 사용할 수 있는 행렬 방정식을 개발한다. 학습 목표1. 선형 변환과 아핀 변환이 행렬로 어떻게 표현될 수 있는지 이해한다.2. 기하학적으로 객체의 크기, 회전, 이동을 위한 좌표 변환을 배운다.3. 여러 변환 행렬이 행렬 곱셈을 통해 하나의 최종 변환 행렬로 결합될 수 있음을 알아본다.4. 한 좌표계에서 다른 좌표계로 좌표를 변환하는 방법과 이 변환이..

[DX11 물방울책 요약 정리] 챕터2: 행렬 대수

챕터2: 행렬대수컴퓨터 그래픽스에서 우리는 행렬을 사용하여 크기 변환, 회전 변환, 이동 변환과 같은 기하학적 변환을 간결하게 설명하고, 또한 한 프레임에서 다른 프레임으로 점 또는 벡터의 좌표를 변경한다. 목표:1. 행렬과 행렬에서 정의된 연산에 대해 이해한다.2. 벡터와 행렬 곱셈이 어떻게 선형 결합으로 해석될 수 있는지 알아본다.3. 항등 행렬, 전치, 행렬식, 역행렬이 무엇인지 배운다.4. 행렬 수학을 위해 사용되는 XNA 라이브러리를 학습한다. 정의m x n 행렬은 m 행, n 열로 구성된 실수들의 직사각형 배열을 의미한다.행과 열의 곱은 행렬의 차원을 나타낸다. 행렬 내의 숫자들은 요소, 원소 등으로 불린다. 우리는 이중 첨자 표기법을 사용하여 요소가 속한 행과 열을 지정할 수 있다.  1.A..

[DX11 물방울책 요약 정리] 챕터1: 벡터 대수

파트1: 수학적 선수지식비디오 게임은 가상 세계를 시뮬레이션하려고 시도한다. 하지만 컴퓨터는 그 본질상 숫자를 계산한다.따라서 컴퓨터에 세계를 어떻게 전달할 것인가 하는 문제가 발생한다. 그 해답은 우리의 세계와 그 안의 상호작용을 완전히 수학적으로 기술하는 것이다. 따라서 수학은 비디오 게임 개발에서 기본적인 역할을 한다. 이 사전 요구사항 부분에서는 이 책 전반에 걸쳐 사용할 수학적 도구를 소개한다. 벡터, 좌표계, 행렬 및 변환에 중점을 두며, 이러한 도구들은 이 책의 거의 모든 샘플 프로그램에서 사용된다. 수학적 설명 외에도 XNA 수학 라이브러리에서 관련 클래스와 함수에 대한 데모가 제공된다. 여기서 다루는 주세는 이 책의 나머지 내용을 이해하는 데 필수적인 것들만 다루고 있으며, 이는 결코 비..

[DX11 물방울책 요약 정리] 머리말

서론Direct3D 11은 (이하 DX11) Windows 플랫폼에서 최신 그래픽 하드웨어(GPU)를 사용하여 3D 그래픽을 작성하기 위한 렌더링 라이브러리이다. DX11은 그래픽 하드웨어를 밀접하게 다루는 API라는 점에서 저수준 라이브러리다. DX11는 주로 게임 산업에 사용되며, DX11 API를 사용하여 높은 수준의 렌더링 엔진을 구축한다. 그러나 의료, 과학 시각화, 건축 등에서도 고성능 대화형 3D그래픽을 위해서 사용할 수 있다. 또한, 최신 PC들이 현대적인 그래픽 카드를 장착함에 따라, non-3D 프로그램에서도 GPU를 활용하여 복잡한 계산들을 그래픽 카드로 분산시키기 시작했다. 이를 일반 목적 GPU 컴퓨팅이라고 하며, DX11 은 일반 목적 GPU 프로그램 작성을 위한 compute ..

직접 만든 그래픽 엔진으로 여러가지 출력

트랜스폼 상속  하이 폴리 테스트 1   하이 폴리 테스트 2   블루 아카이브 이즈나 전용 무기 렌더링    블루 아카이브 와카모 전용 무기 렌더링   파일 추출 테스트 그 외.. fbx 로 이루어진 기본적인 메시는 출력가능렌더러에 본 계층구조도 존재하나, fbx 내부 정보를 해석하지 못하는 관계로 미완성으로 남기게됨(실제로 동작은 잘 하지만, 하이 폴리 메시로 테스트 못해봄) 깃허브는 추가예정

[그래픽스] 구형 선형 보간으로 회전 보간

어떤 두 사원수를 특정 비율로 보간해보겠습니다.이런 식으로 선형보간을 할 수도 있지만, 회전은 원 궤적으로 발생하기에정확한 보간을 나타내지는 못합니다. 좀 더 좋은 결과를 귀해서 구형 선형 보간을 구현해보겠습니다.  그렇다면 구형 선형 보간을 구현하는 계수를 찾아봅시다.  q1과 직교하는 회전 사원수를 q3이라고 할 떄 qt는 위와같이 나타낼 수 있을 겁니다. 그렇다면 q3를 구해봅시다. 삼각함수를 이용하여 q3와 방향이 동일한 벡터를 얻을 수 있고해당 벡터를 이용하여 q3벡터를 얻어주도록 합시다.최종적으로 위와같이 qt를 얻어낼 수 있습니다.  한 가지 생각할 점은 큰 각을 기준으로 보간을 수행할 것인가작은 각을 기준으로 보간을 수행할 것인가입니다. 이는 bool 형 flag를 세워서 분기처리해주면 됩..

코드코치 파이썬 8월 2번째 과제

1. 난이도 하https://www.acmicpc.net/problem/5800https://www.acmicpc.net/problem/2822https://www.acmicpc.net/problem/16435 2. 난이도 중https://www.acmicpc.net/problem/2615https://www.acmicpc.net/problem/13305 3. 난이도 상https://www.acmicpc.net/problem/11729 4. 개체 지향 프로그래밍 MP3 프로그램 만들기 1. Music 클래스(1) 음악(2) 작곡가(3) 음악의 총 길이(4) 음악 경로 2. MP3 클래스- 변수 -(1) 음악 리스트 - 기능 -(1) 음악 불러오기(2) 음악 재생(3) 음악 종료(4) 저장된 전체 음악 리..