목록컴퓨터 그래픽스/수학 (22)
개발하는 리프터 꽃게맨입니다.
세 점의 결합아핀 결합을 이용하면 스칼라 계수의 범위에 따라 직선, 반직선, 선분 등 다양한 종류의 선을 만들 수 있었다.그렇다면 세 점을 결합하는 경우는 어떻게 될까?세 점 P1, P2, P3를 결합하는 경우 스칼라는 3개로 늘어나고 세 스칼라의 합은 1이 되어야 한다.위 식을 점에서 점을 빼는 수식으로 바꿔 전개하면 다음과 같다.여기서 각 괄호를 u, v, w 벡터로 치환하면 다음과 같이 벡터로 구성된 수식이 만들어 진다.앞서 살펴본 바와 같이 벡터 u, v가 서로 선형 독립의 관계라면 벡터 w는 2차원 벡터 공간 R²에 존재하는 모든 벡터를 생성할 수 있다.따라서 세 점의 아핀 결합은 평면의 모든 점을 만들어낸다. 여기서 스칼라 s, t의 값 범위를 [0, 1] 로 고정시켜보자.그러면 그러면 아래..
1. 벡터의 내적벡터의 내적 Dot Production 은 같은 차원의 두 벡터가 주어졌을 때,벡터를 구성하는 각 성분을 곱한 후 이들을 더해 스칼라를 만들어내는 연산이다.기호는 가운뎃점 ㆍ을 사용한다. 어떤 2차원 벡터 u (a, b), v (c, d) 가 있을 때1) 내적의 성질내적은 스칼라의 곱셈과 덧셈으로 구성되어 있으므로 교환법칙이 성립한다.결합 법칙은 성립하지 않는다.덧셈에 대해서 분배 법칙이 성립한다.서로 같은 벡터를 내적하면 벡터의 크기를 제곱한 결과가 나온다.내적의 성질은 모든 차원의 벡터에 대해서 동일하게 적용된다.2) 내적과 삼각함수와의 관계두 벡터 u, v가 있을 때, 두 벡터의 내적 값은 두 벡터 사잇각에 대한 cos 함수와 비례하는 특징을 가진다. 두 벡터 u, v의 사잇각을 세..
기존 이동 연산의 경우 행렬의 덧셈으로 구현했다.일반적인 행렬로는 이동에 대응하는 선형 변환을 구현할 수 없기 떄문이다. 해당 포스팅에서는 행렬 곱으로 이동 연산을 구현하는 방법에 대해서 알아본다.행렬 곱으로 이동 연산을 구현하기 위해서는 특별한 방법이 필요하다. 그것은 바로 아핀 공간을 사용하는 것이다.아핀 공간을 이용하면 모든 변환에 대해 선형 변환,행렬곱을 지원할 수 있다. 우리는 아핀 공간으로부터 가상 세계의 기반을 완성시킬 것이다.1. 이동 변환을 위한 아핀 공간2x2 정방 행렬의 곱셈으로는 2차원 평면에서의 이동을 구현할 수 없다.임의의 벡터 (x, y)를 (a, b) 만큼 이동시키는 것은(x+a, y+b) 와 같은 행렬 덧셈으로 구현할 수 있기 때문이다. 다음과 같은 정방행렬 A는 존재하지 ..
공부 목적으로 직접 만들어서 사용하고 있습니다.지금은 그냥 복붙 형식으로 올리는 데 나중에 깃허브로 정리해서 재업로드 하겠습니다.아마 공부 진도에 따라 더 업데이트 될 겁니다. 현재는 3차원 벡터만 있습니다. 1. Vector3D.h더보기#pragma once class Vector3 { public: // 생성자 inline constexpr Vector3(void) : _x(0.f), _y(0.f), _z(0.f) {} inline explicit constexpr Vector3(float x, float y, float z) : _x(x), _y(y), _z(z) {} inline explicit constexpr Vector3(int32 x, int32 y, int32 z) : _x((float)..
1. 선형성: 예측 가능한 비례 관계 원점을 지나는 임의의 직선을 생각해보자.이러한 직선은 선형성이라는 성질을 가진다. 수학에서는 선형성을 다음과 같은 가법성과 1차 동차성 두 가지 조건을 모두 만족하는 함수의 성질로 정의한다. (1) 가법성 (2) 동차성 [1] 선형 함수입력에 사용하는 요소 x와 출력이 모두 실수인 함수에서 원점을 지나는, 다음과 같은 직선의 함수를 생각할 수 있다. 출력의 원소를 y라고 표시했을 때 위 함수는 y = ax로 표현되며, 이를 그래프로 나타내면 위 그림과 같다.이러한 직성 형태를 띠는 이 함수가 선형성을 만족하는지 확인해보자. (1) 가법성을 만족하는가?f(x1 + x2) = f(x1) + f(x2) 가 동일한지 확인해보자. f(x1 + x2) = ax1 + ax2f(x..