6 DoF Video

다음은 SIGGRAPH Asia 2019 XR Presentations & Talks에 대한 소개이다. 여기서 등장하는 6Dof란 무엇일까? 우선 DOF는 Degree of Freedom의 약자로 자유도(自由度)라는 의미이다. 이와 같이 좌우로만 왔다 갔다 하는 스프링의 자유도는 1이다. 왜냐하면 하나의 변수로 움직임을 기술할 수 있기 때문이다. (이 그림에서는 변위를 x로 표시하고 중력이 없다고 가정.) 이와 같이 3차원 이동(translation), 회전(rotation), 크기(scale)를 모두 변경할 …

자동차와 연식

중고차 시세를 결정하는 요인 중에서 연식이 가장 큰 비중을 차지함. 중고차의 가격은 연식을 기준으로 책정되기 때문. 차량의 연식은 등록 시점을 기준으로 정해짐. 따라서, 만약 2019년 12월에 계약했지만 2020년 1월에 출고와 등록이 이루어지면 이 차량의 연식은 2020년이 됨. 같은 차량이지만 연식이 2019년인 차량과 2020년인 차량의 중고차 시세는 팔 때와 살 때 모두 차이가 발생함. 따라서, 특별한 …

거울은 왜 좌우만 바뀌어 보일까?

거울을 통해 우리의 모습을 보면 왼쪽과 오른쪽이 뒤집혀서 반대로 보입니다. 우리가 오른손을 들면 거울 속의 나는 왼손을 들고, 우리가 왼손을 들면 거울 속의 나는 오른손을 드는 것으로 보입니다. 즉, 거울 속에 비치는 모습은 왼쪽과 오른쪽이 뒤집힌 대칭이동의 결과로 나타납니다. 그런데, 조금 더 생각해보면 이상한 점이 하나 있습니다. 왜 위쪽과 아래쪽은 뒤집혀서 보이지 않을까요? 거울이 상하좌우를 …

“(음수) × (음수) = (양수)”가 되는 이유

첫째 딸에게 수학을 가르치면서 당연하게 생각했던 사실들에 대해 왜 그런지 이유를 생각하게 되는 경우가 많다. 오늘 받은 질문은 “두 음수 끼리의 곱은 왜 양수가 되는가?”이다. 생각해보니 이것에 대해서 심각하게 고민을 해본 적이 없었던 것 같다. 그저 당연한 사실로 받아들였던 것 같다. 다만, −는 부호가 반대로 뒤집히는 것을 의미하기 때문에 −의 −는 부호가 두 번 뒤집히면서 …

Closed Form

닫힌 형태(closed form)란 방정식(equation)의 해(solution)를 해석적(analytic)으로 표현할 수 있는 종류의 문제를 말한다. 즉, 닫힌 형태를 가지는 방정식의 해는 변수(variable), 상수(constant), 사칙연산( +−×÷), 그리고 잘 알려진 기본 함수(삼각함수, 로그함수, 제곱근 등) 등을 조합해서 “해 = …” 꼴로 표현될 수 있다. 대표적인 닫힌 형태 해(closed form solution)의 예로는 2차 방정식의 근의 공식을 들 수 있다. 닫힌 형태(closed …

SIGGRAPH Asia 2019 Brisbane

올해 SIGGRAPH Asia는 호주 브리즈번에서 열린다. 2년 전쯤에 개최지를 알게 되었을 때 여기는 반드시 가야 한다고 다짐을 했던 기억이 난다. 결국 꿈은 이루어졌고 나는 지금 브리즈번에서 이 글을 쓰고 있다. 올해 초, 테마파크 영상 제작을 위해 개발하여 사용한 내용을 정리하여 SIGGRAPH 2019 Los Angeles의 Talks에 제출을 했었다. 두 번째 SIGGRAPH Talks 도전 결과는 아쉽게도 탈락. …

대왕 무지개

태풍 링링이 오기 전 폭풍전야.동쪽 하늘에 뜬 엄청 굵은 무지개.여지껏 봤던 무지개 중에서 가장 굵다.다른 무지개가 오징어 다리 느낌이라면..이 무지개는 대왕오징어 다리를 보는듯한 느낌이다. 이 무지개를 보면서 처음 알게된 사실은..편광 필터를 통해서 보면 무지개만 사라진다.왜 그럴까?무지개는 빛의 굴절과 반사로 인해 생기는 자연현상이라서…

키노트에서 그린 그림을 출판용 EPS 파일로 만드는 방법

1. EPS 파일을 만들려면 Adobe Illustrator가 필요합니다. 따라서, 우선 Adobe 계정을 만들고 Illustrator를 설치합니다. (이용 요금: 24,000원/월, 처음 7일은 무료) ※ 무료 online converter를 사용하는 방법도 있습니다. 하지만, 여기서는 Illustrator를 사용하는 방법을 설명합니다. 2. 출판용 이미지 해상도는 보통 4000×3000를 사용합니다. 따라서, 이 크기로 키노트 슬라이드 크기를 변경해줍니다. 그리고, 슬라이드에 꽉 차도록 그림을 스케일링합니다. (여기서 선 …

su와 sudo su의 차이

sudo su 는 root 계정으로 바꾸기는 하지만 1. root 계정의 환경변수를 가져오지 않는다. 2. root의 암호를 물어보지 않는다. (현재 계정의 암호를 물어본다.) 둘 다 현재 경로를 변경하지는 않는다.

우분투(Ubuntu) PyCharm 설치

1. Google에서 pycharm을 검색 2. Download 클릭 3. ~/Downloads/pycharm-community-2019.2.tar.gz 파일 확인 (2019.08.21 기준 최신 버전) & 압축 해제 tar xvfz pycharm-community-2019.2.tar.gz 4. bin 디렉토리로 이동 및 실행 cd pycharm-community-2019.2/bin/ ./pycharm.sh 5. pycharm 실행 종료 6. pycharm-community 디렉토리를 적당한 곳으로 이동 7. 심볼릭 링크(symbolic link) 생성 (root 계정 필요) ln -s /home/wanhochoi/pycharm-community-2019.2/bin/pycharm.sh /usr/bin 8. 이제 어느 …

SIGGRAPH 2019 Los Angeles

올해 SIGGRAPH가 열리는 곳은 또 LA다. (SIGGRAPH는 주로 벤쿠버나 로스앤젤레스에서 개최된다.) 여러 번 가봐서 새로움이 덜한 곳이긴 하지만, 그래도 이것이 SIGGRAPH에 안갈 이유까지 되지는 않는다. 막상 출발 시점이 다가오니 올해에는 또 어떤 놀라운 결과들이 소개될지.. 여전히 설레이는 것은 어쩔 수 없다. 2017년 Talks 발표에 이어 올해 SIGGRAPH에서 두 번째 발표를 도전했었지만 아쉽게도 목표를 이루지는 못했다. …

여름 휴가

이제 아이들이 많이 커서 남쪽 끝에 있는 거제도로 자동차 여행을 시도할 수 있었다. 긴 이동 시간에도 군말없이 잘 버텨준 아이들이 대견스럽다. 일본에만 폭우를 뿌리며 좀처럼 북상하지 않던 장마전선이 여지없이 우리 가족 여름 휴가에 맞춰서 올라온다는 일기예보를 듣고는 많이 걱정했다. 다행스럽게도 이튿날에만 살짝 비를 뿌려서 별 지장 없이 2박 3일의 일정을 잘 보내고 왔다. 일기예보상으로는 첫 …

OpenCV Python Binding Problem

Ubuntu version: 18.04.2Python version: 3.6g++ version: 7.3.0clang version: 6.0.0swig version: 3.0.12OpenCV version: 4.0.0 [C++ code] class Image { private: cv::Mat mat; public: Image() {} }; The following errors occur when importing my module after binding the above code. [Compiled by g++ with Pybind11] Segmentation fault (core dumped) [Compiled by g++ with SWIG] Traceback (most recent …

z-buffer fighting problem

서로 다른 두 개의 면이 너무 가깝게 존재하게 되면 다음과 같은 문제가 발생할 수 있다. 해결 방법 1) 눈에 크게 안 띌 정도로 조금 떨어지게 만든다. 해결 방법 2) zNear와 zFar 값이 차이를 줄인다. 해결 방법 3) 24비트 또는 32비트 정밀도의 depth buffer를 사용한다. (기본값: 16비트) 단, 이 방법은 그래픽 카드가 지원할 때 가능하다.

MFnNurbsCurve Update Problem

Maya nHair simulation의 결과로 나온 NURBS curve들의 control vertex position을 MFnNurbsCurve::getCVs() 함수를 사용하여 querying할 때 Maya가 죽거나 정확한 위치값을 가져오지 못하는 문제가 발생한다. 멀티쓰레딩과 관련된 문제로 보이며 다음과 같이 Evaluation mode 설정에서 Parallel을 DG로 변경하면 임시방편적으로 문제를 해결할 수 있다.

How to install Dlib on Ubuntu

Download “dlib-19.16.tar.bz2” at “http://dlib.net”. tar xvf dlib-19.16.tar.bz2 cd dlib-19.16 python setup.py installpython3 setup.py install —————– Shared Library —————– mkdir shared_buildcd shared_buildcmake -DBUILD_SHARED_LIBS=1 -DUSE_AVX_INSTRUCTIONS=ON ..cmake –build . –config Releasemake install # AVX works on processors released after 2011, which is the fastest one.# SSE2 works for most Intel or AMD chips: -DUSE_SSE2_INSTRUCTIONS=ON# SSE4 works for most …

왜 OpenCV는 RGB가 아닌 BGR을 사용하는가?

디자인에는 “최소 놀람의 원칙 (principle of least astonishment 또는 principle of least surprise)”이라는 것이 있다. 사용자가 디자인의 결과물을 마주쳤을 때 예상 가능한 범위를 넘어 당황하거나 놀라지 말아야 한다는 의미이다. 직관적인 디자인은 사용자가 고민을 하지 않도록 한다. 만약 문에 손잡이가 있다면 대부분의 사람들은 이 문을 끌어 당겨서 열려고 한다. 반대로 손잡이 대신 평평한 금속 판으로 되어 …

겨울 가족 여행

아버지 팔순 기념 온 가족이 1박 2일로 겨울 여행을 다녀왔다. 노천온천이 좋다고 해서 선택한 곳은 청송 대명리조트. 서울에서는 3시간 30분 정도 걸리는 거리에 있다. 온천수가 하루에 30.9도의 온수가 570톤 정도 나온다고 한다. 듣던대로 온천은 꽤 괜찮았다. 리조트 자체가 지어진지 2년이 채 안된 새 건물이라 시설들이 깨끗했다. 노천온천은 물 온도가 41도 조금 넘었는데, 겨울에는 좀 더 …

MinGW, GVim, Make on Windows

MinGW Download & Install: mingw-w64-install.exe Register Environment Variable to PATH: C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin Check on cmd: gcc -v GVim Download & Install: gvim81.exe Register Environment Variable to PATH: C:\Program Files (x86)\Vim\vim81 Check on cmd: gvim Modify Configuration File: C:\Program Files (x86)\Vim\_vimrc Make Download & Install: make-3.81.exe (Complete Package) Register Environment Variable to PATH: C:\Program Files (x86)\GnuWin32\bin …