전체 글

전체 글

    회전 행렬 유도

    1. 2차원 공간의 회전2차원 공간에서 회전은 원점을 기준으로 어떤 점을 $\theta$만큼 회전하는 것을 의미한다. 어떤 점 $P(x, y)$가 원점을 기준으로 $a$ 만큼 회전된 상태라면 삼각함수를 이용하여 다음과 같이 나타낼 수 있다.($r$은 원점과 $P$ 사이의 거리로, 원의 반지름 역할을 한다.)$$ x = r * cos(a), y = r * sin(a) $$이 상태에서 $\theta$ 만큼 추가로 회전한 점을 $P'(x', y')$ 이라고 하면, 다음과 같이 표현할 수 있다. $$ x' = rcos(\theta + a), y' = rsin(\theta + a) $$이제 이 식을 이용해서 $P(x, y)$를 $P'(x', y')$ 으로 만들어 줄 수 있는 행렬을 구할 차례이다. 행렬 유도를 위..

    조명

    물체를 보다 실감나게 표현하기 위해서는 물체의 재질(material)과 광원의 상호 작용이 필요하다. 광원을 고려하지 않고 픽셀의 색을 결정한다면 텍스처의 샘플링 값이나 버텍스 버퍼나 다른 버퍼에 저장된 물체의 색을 그대로 사용하면 되겠지만, 현실과 가까운 느낌의 물체를 렌더링 할 수는 없을 것이다. 물체의 색을 결정하기 위해선 광원에서 나온 빛이 물체와 충돌하고 반사되어 나온 빛이 관찰자의 눈으로 들어와야 된다. 이 과정에서 눈에 들어오는 빛의 세기 역시 색의 결정에 영향을 주게 된다. 따라서 조명을 사용하여 물체를 렌더링 하고자 한다면 빛의 방향, 빛의 세기, 빛의 위치 등과 같은 광원에 대한 정보와 함께 반사되는 빛의 유형에 대한 정의도 필요하다. DirectX에서 조명 효과를 만들기 위해 일반적으..

    노멀 벡터 변환

    https://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/geometry/transforming-normals.html 물체를 회전할 때에는 물체가 가지고 있는 노멀 벡터도 함께 회전을 시켜야 한다. 노멀 벡터는 물체의 표면이 어떤 방향을 바라보고 있는지를 나타내는 데이터로 사용된다. 따라서 노멀 벡터는 물체의 표면과 항상 직교를 이루고 있어야 하는데, 물체의 model 변환 그대로 노멀 벡터를 변환하면 상황에 따라 직교를 이루지 않는 경우가 있어 노멀 벡터의 변환은 물체의 model 변환 행렬과 다른 별도의 행렬을 이용해야 한다.  물체의 원래 상태를 a라고 하고, 물체의 스케일링을 x축으로 2배, y축으로 1배 적용..

    한성 TFG MX4A600 라이젠5 7600 D5 16GB 데스크탑 구매 후기

    전세를 구하면서 데스크톱을 새롭게 구해야 할 필요가 생겼다. 주로 사용하는 데스크톱은 이미 있기 때문에 간단한 작업이나 사무를 볼 수 있는 데스크톱을 찾게 됐고, 한성의 TFG MX4A600 데스크톱을 구매하게 됐다.  데스크톱 사양 - CPU: ADM Ryzen 7600- 메인보드: GIGABYTE B650M K- RAM: 삼성전자 DDR5 PC5-44800 16GB- SSD: 삼성전자 PM9A1 M.2 NVMe 512GB / PCIe4.0x4- 파워: 딥쿨 PF700 80PLUS STANDARD- VGA: 없음 일반적으로 완성된 상태로 판매되는 데스크톱의 경우 원가 절감을 위해 비교적 마이너한 제품들을 사용하는 경우가 많은데, 이 제품의 경우 주요 부품들이 메이저 제품들로 구성되어 있었고, 이 부품들..