SIGGRAPH Asia 2019 Brisbane

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

How to build TensorFlow GPU from Source Code

Environment Date: 2018.11.28 OS: Ubuntu 18.04 Graphic Card: NVIDIA Geforce 2080ti Python: 3.6.7 NVIDIA Drive & Cuda 10.0 rm /etc/apt/sources.list.d/cuda*; apt remove nvidia-cuda-toolkit; apt remove nvidia-*; apt update; apt-key adv –fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub; bash -c ‘echo “deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /” > /etc/apt/sources.list.d/cuda.list’; apt update; apt install nvidia-driver-410; apt install cuda-10-0; [.bashrc] export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH nvcc -V; …

My Frequently Used LaTeX Math

{x}^{2} superscript {x}_{i} subscript \boldsymbol{A} bold \frac{x}{y} fraction \pm ± \times × \text{-} short minus \cdot ⋅ \cdots ⋯ \vdots ⋮ \begin{cases} 0 \\ 1 \end{cases} definition by Cases \left( \right) () \left{ \right} {} \; – a thick space \: – a medium space \, – a thin space \! – a negative thin space …

All About Volume for Houdini Artists

회사에서 Houdini Pyro 관련 세미나를 진행했었는데, 이 과정에서 등장하는 여러 가지 기술 용어들이 무엇을 의미하는지 궁금해하는 분들이 계셨습니다. 그래서 조금이나마 이해를 돕고자 Pyro와 관련된 이론적인 내용들을 정리하여 자료를 만들고 이 자료로 추가 세미나를 진행하고 있습니다. 아무래도 수식이 나오면 어렵게 느끼는 분들이 많아서 수식을 최소화하고 그 물리적인 의미를 직관적이고 쉽게 이해할 수 있도록 만들었는데, 기본적으로 물리를 …