목록Season 1 (107)
Graphics Programming
텍스처를 생성하면 크기와 포맷을 지정해야 한다. 그런데 두 가지 방법이 있다. // 텍스처 생성GLuint tex;glGenBuffers(1, &tex); // 바인딩glBindTexture(GL_TEXTURE_2D, tex); // 방법 1. glTexImage2D() 또는 glTexSubImage2D()// 타겟, 밉맵 레벨, 텍스처 포맷, 가로, 세로, 보더, 집어넣을 데이터의 포맷, 타입, 실제 데이터glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); // 방법 2. glTexStorage2D()// 타겟, 밉맵 레벨, 텍스처 포맷, 가로, 세로glTexStorage2D(GL_TEXTURE_2D..
만들고 있는 렌더링 엔진에서 Wavefront OBJ 모델을 불러오기 위해 tinyobjloader를 사용한다. 오랫만에 확인해보니 tinyobjloader의 버전이 올라가서 교체했는데 컴파일이 안 된다. 소스 코드를 열어보니 명세가 바뀌어서 그런 거였다. 내 엔진의 코드도 고쳐야 해서 귀찮은 상황이 되었는데, 명세를 찬찬히 보니 이전에 못다 구현한 기능이 생각났다. tinyobjloader는 하나의 3D 개체를 shape로 표현한다. shape는 position buffer, normal buffer, texcoord buffer, index buffer 등을 포함한다. 그리고 shape는 face의 모음인데 face마다 다른 재질을 가질 수도 있다. 예를 들어 축구공이라는 개체는 하나지만 이 공의 흰..
문제: https://www.hackerrank.com/challenges/range-minimum-query 숫자 n개가 주어지고, 일정 구간 내에서 최솟값을 찾는 쿼리 m개에 모두 답해야 한다. 각 숫자는 10^5를 넘지 않는다. n, m이 최대 10만이기 때문에 항상 구간 내의 모든 값을 확인해서 최솟값을 찾으면 시간복잡도가 O(nm)이여서 통과하지 못한다. 세그먼트 트리를 이용하면 트리 구축에 O(n), 쿼리 하나에 O(logn) 시간이 걸리므로 O(n) + O(mlogn) ⊆ O(mlogn)으로 테스트를 통과할 수 있다. 세그먼트 트리는 크게 세 가지 구현이 가능하다. 1. 트리 기반, 탑 다운 방식2. 트리 기반, 바텀 업 방식3. 배열 기반 이름에 트리가 들어가지만 세그먼트 트리는 배열로 구..
foldr의 정의는 다음과 같다. foldr :: (a -> b -> b) -> b -> [a] -> bfoldr f z [] = zfoldr f z (x:xs) = f x (foldr f z xs) 그리고 foldr의 fusion law는 다음과 같다. f . foldr g a = foldr h bif (1) f is strict (2) f a = b (3) f (g x y) = h x (f y) 증명은 수학적 귀납법을 이용한다. 기본 가정: (f . foldr g a) [] = foldr h b []foldr의 정의에 따라 양변을 각각 전개하면 (f . foldr g a) [] = f afoldr h b [] = b 조건 (2)에 의해 f a = b이므로 기본 가정 성립. 재귀 가정: f . fold..
Richard S. Millman과 George D. Parker의 책 의 표기를 따름. simple surface의 coefficients of the second fundamental form은 로 정의되는 함수들이다. coordinate transform , ,에 대해 다음이 성립한다. 증명
하스켈 성능 튜닝 from 민석 이 교내 동아리 발표 자료. 하스켈로 알고리즘 문제 풀다가 겪은 일을 다룬 발표. 하스켈 성능 튜닝 2 from 민석 이 동아리 발표 이후 추가로 만든 자료
참고문헌: Richard O. Duda. Chapter 3: MLE and Bayesian Estimation In Pattern Classification 2ed (pp. 11-13) Bayes learning simulation - wonderfl build flash online 패턴 인식. 지금까지 학부 수업이 너무 쉽다고 투덜거린 나를 비참하게 만들고 있는 과목. 교재를 아무리 읽어도 너무 어렵다. 베이즈 매개변수 추정을 읽으며 이게 뭔소린가 끙끙 앓다가 코딩을 해보고 감을 잡았다. 일변수 확률 변수 X가 정규 분포를 따르고 펑균이 μ, 표쥰편차가 σ라 하자. μ는 모르고 σ는 아는 상황에서 μ를 추정하고자 한다. (별로 현실적이지 않은 가정으로, 학습을 위해 책에서 설정한 가장 단순한 문제다...