7. Results 이 알고리즘을 개발하는 동안 다양한 테스트 mesh가 사용됐다. 그 중 4개에 대한 결과가 여기에 나와있다. 이 중 3개는 일반적인 인터랙태브(예: 게임) mesh를 대표하며, 1개는 알고리즘의 건전성 검사에 사용된 보다 이상화된 mesh다. 이상화된 mesh의 결과는 지형 높이 필드(terrain height-fields)나 세밀하게 tesellated 모델과 같이 매우 규칙적인 표면과 관려히 있지만, 알고리즘의 방향에 큰 영향을 미치지는 않았으며, 보다 현실적인 mesh를 훨씬 더 중요하게 고려했다. mesh의 종류는 다음과 같다: GrannyRocks: 흔들 의자에 앉은 할머니 mesh다. Grann Viewer(http://www.radgametools.com/gradown.h..
5. The Constants 위 코드에 사용된 4개의 상수는 추측과 판단, 며칠 동안의 무차별(brute-force) 대입을 통해 아주 전형적인 데이터 세트와 아주 전형적인 hardware cache 구조의 시뮬레이션을 통해 전송된 결과를 종합해 가장 좋은 점수를 얻은 것으로 결정되었다. 아직 발견되지 않은 더 나은 설정과 값이 존재할 가능성도 있다. 또한 점수에 거듭제곱 함수를 사용하는 것이 적절한 함수인지 여부와 다른 함수나 사용자가 커스터마이징한 look-up-table을 사용하는 것이 더 나을 결과를 낳을 수도 있다. 그러나 도출된 결과는 최적이라고 간주되는 값에 상당히 근접하며, 나머지 개성 사항은 거의 없을 것으로 보인다. 요약하자면, 이러한 값은 대부분의 목적에 "충분히 좋은" 것으로 보인..
계속해서 살펴보자. 4. Vertex Scores in Detail 주어진 정점의 점수는 해당 정점을 사용하는 삼각형이 다음에 렌더링 목록에 추가될 가능성을 나타낸다. 점수가 높을수록 가능성이 높아지고 점수가 낮을수록 가능성이 낮아진다. 점수는 여러 가지 요소에 따라 달라진다. 첫 번째는 정점이 최근에 사용되었을 수록 점수가 높다는 것이다. 점수는 LRU cache에서 정점의 위치를 0에서 1 사이의 실수로 계산하는데, 마지막(LRU) 위치는 0이고 첫 번째(MRU) 위치는 1이다. 그런 다음 이 스케일링된 위치는 1보다 큰 거듭제곱으로 올라간다. 거듭된 시뮬레이션을 통해 거듭제곱의 값을 선택했는데, 1.5가 좋은 결과를 가져다주는 것으로 보인다. 단순한 선형 점수가 아닌 거듭제곱을 사용하면 규모에 더 ..
Tom Forsyth 라는 Graphics Coder 가 소개한 Optimization 테크닉을 번역한 내용이다. (28th September 2006 발표) Linkedin과 본인 블로그에 따르면 Intel을 비롯한 graphics 관련 회사들에서 경력을 쌓은 이 분야의 전문가로 보인다. 내가 수강한 Computer Graphics 교수님이 제공한 자료를 통해 알게 됐다. Introduction : 이 페이퍼는 크기가 알려지지 않은 다양한 Hardware Vertex Cache에 적합하도록 색인된(indexed) 삼각형 목록을 최적화하는 알고리즘을 소개한다. 이 방법은 다양한 cache 크기와 교체 정책에 보편적으로 적합하며 mesh의 삼각형 수에 비례하는 선형적인 시간(Linear time)과 공간에..
Word Embeddings의 구체적인 예시와 어떻게 사용되는지를 알아보자. 구체적 예시 Word2Vec : "king", "queen", "man", "woman" 라는 단어가 있다고 가정해보자. 학습된 Word2Vec 모델에서 Embedding은 다음와 같이 나타낼 수 있다. "king": [0.2, -0.1, 0.4] "queen": [0.21, -0.09, 0.41] "man": [-0.4, 0.3, -0.1] "woman": [-0.39, 0.31, -0.09] "king"과 "queen"이 "man"과 "woman"과 마찬가지로 유사한 벡털르 가지고 있음을 알 수 있다. GloVe :"computer", "keyboard", "flower", "rose" 라는 단어가 있다고 가정해보자. 이는 ..
Word Embeddings은 비슷한 의미를 가진 단어들이 비슷한 표현을 갖도록 하는 단어 표현의 한 유형이다. 이는 ML 알고리즘이 처리할 수 있도록 텍스트 데이터를 숫자 형식으로 변환하는 NLP의 기본 테크닉이다. 설명 Numerical Represenatation (숫자 표현) : Word Embeddings은 단어를 실수 벡터로 변환한다. 어휘의 각 단어는 고차원 공간(일반적으로 수백 차원)의 벡터에 매핑된다. Capturing Semantic Meaning (의미론적 포착) : 이러한 벡터는 단어의 의미를 포착하도록 설계돼있다. 비슷한 문맥에서 사용되는 단어는 비슷한 Embedding을 갖는 경향이 있다. 예를 들어, "king"과 "queen"은 Embedding 공간에서 가깝다. Contex..
Scenegraph의 scene management에 대해 좀 더 알아보자. Scenegraph를 통한 scene management에는 lights, cameras, meshes (3D models), animations 등 3D scene의 다양한 요소를 구성하고 제어하는 작업이 포함된다. 이는 scene 조작 및 렌더링 프로세스를 간소화하는 Scenegraph의 계층적 구조에 의해 수행된다. 작동 방식은 아래와 같다. Transformations and Propagation : 계층 구조의 부모 노드에 적용된 transformations (예: translation, rotation, scaling)은 모든 자식 노드에 영향을 준다. 예를 들어, 부모 노드인 비행기 모델을 회전하면 모든 부분(날개,..
Scenegraph는 복잡한 장면을 관리하고 렌더링하는 데 일반적으로 사용되는 데이터 구조다. 이는 그래픽 객체를 계층적 트리(Hierarchial tree)와 같은 구조로 구성하며, 트리의 각 노드는 scene의 그래픽 요소를 나타낸다. 이 구조를 사용하면 많은 요소가 있는 복잡한 장면을 효율적으로 렌더링, 조작 및 관리할 수 있다. 주요 특징과 용도는 아래와 같다. Hierarchial Organization : 객체는 상위-하위 계층 구조로 구성된다. 즉, 상위 노드에 적용된 transformations(예: translation, rotation, scaling)은 하위 노드에 자동으로 영향을 준다. 예를 들어, 자동차 모델을 이동하면 바퀴와 문과 같은 하위 요소도 이동한다. Scene Manag..
UV mapping과 Normal mapping 모두 texture에 관여하는 테크닉이다. 둘을 간단하고 직관적으로 비교해보면 아래와 같다. UV mapping은 색칠 공부에서 2D 이미지의 각 부분이 3D 모델에 그려질 영역의 윤곽을 그리는 것과 같다. 경계를 설정하고 이미지가 과도하게 늘어나거나 겹치지 않고 선 안에 깔끔하게 맞도록 한다. Normal mapping은 색연필 세트를 사용해 윤곽선 안에 texture와 depth를 추가하는 것과 같다. 평면적인 색상 대신 3D 모델에 실제로 존재하지 않았던 그림자(lighting), 하이라이트 및 표면 디테일의 모양을 추가하는 것이다. 예를 들어, 용의 피부에 울퉁불퉁한 표면이나 옷의 복잡한 직물 직조와 같은 착각을 불러 일으키는 것과 같다. 즉, UV..
탄젠트 공간은 컴퓨터 그래픽에서 텍스쳐, 특히 노멀 맵을 3D 모델의 표면에 적용하는 데 사용되는 좌표계다. 탄젠트 공간은, texture map에 표면 디테일을 인코딩해 3D 모델에 정확하고 효율적으로 적용할 수 있는 방법으로, 처리 능력이나 메모리에 큰 비용을 들이지 않고도 보다 사실적인 lighting과 material 효과를 구현할 수 있다. 정의 : mesh surface의 각 vertex에 고유하게 정의되는 로컬 공간이다. 이 로컬 공간은 geometry surface에 정렬돼 Tangent는 surface에 평행하며 일반적으로 texture coordinates (u-axix)에 정렬되고, Bitangent는 Tangent에 수직이며 surface를 따라 놓여 다른 texture axis (..
- Total
- Today
- Yesterday
- The Economist
- 안드로이드
- java
- C++
- join
- 이코노미스트 에스프레소
- I2C
- Hash Map
- 오블완
- ml
- 리트코드
- 티스토리챌린지
- 소켓 프로그래밍
- vertex shader
- defaultdict
- 머신 러닝
- 투 포인터
- Android
- min heap
- Computer Graphics
- DICTIONARY
- Python
- 이코노미스트
- The Economist Espresso
- tf-idf
- socket programming
- machine learning
- 파이썬
- leetcode
- 딕셔너리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |