250626

lililllilillll·2025년 6월 25일

개발 일지

목록 보기
214/350

✅ What I did today


  • LeetCode
  • DirectX 12를 이용한 3D 게임 프로그래밍 입문


⚔️ LeetCode


14. Longest Common Prefix

#include "14.h"

std::string Fourteen::longestCommonPrefix(std::vector<std::string>& strs)
{
	// strs의 첫번째 원소에 대해
	// 첫번째 char부터 마지막 char까지 순회하면서
	// strs 안에 있는 다른 원소들의 같은 인덱스의 char과 비교하여
	// 모두 같다면 통과, 하나라도 다르면 루프 취소
	std::string s = strs[0];
	int count = 0;
	for (count = 0; count < s.length(); count++)
	{
		for (int i = 1; i < strs.size(); i++)
		{
			if (strs[i].length() <= count || s[count] != strs[i][count])
			{
				return s.substr(0, count);
			}
		}
	}
	return s.substr(0,count);
}


📖 DirectX 12를 이용한 3D 게임 프로그래밍 입문


3.2 아핀 변환

아핀변환

  • 선형변환 + 이동변환 (t(u) + b)
  • 벡터는 이동에 불변이지만, 동차 좌표 (w 성분 추가한 거) 이용하면 점처럼 다룰 수 있음.
  • w = 0이면 벡터, w = 1이면 점. 이동 변환은 w = 0이면 무시할 수 있기 때문.
  • 이러면 벡터끼리 빼면 점, 점에 벡터 더하면 점 됨.

항등변환

  • 주어진 인수를 그대로 돌려주는 선형 변환. 행렬로 표현하면 단위행렬.
  • 이동변환은 아핀변환에서 선형변환 부분을 단위행렬로 바꾼 것과 같음
  • 반대로, 선형변환은 아핀변환에서 이동변환을 영벡터로 둔 것

3.4 좌표 변경 변환

벡터 : 좌표계 A의 방향 단위벡터를 좌표계 B에 상대적으로 표현하면 변환 완료
점 : 벡터 좌표계 변환에 원점 상대적 좌표도 추가
아핀 변환 행렬처럼 표현 가능. 사실 둘이 동치임. 더 자연스러운 해석으로 설명하는 것.



profile
너 정말 **핵심**을 찔렀어

0개의 댓글