분류 전체보기 76

Harmonic Field를 이용한 정점의 가중치 계산

정점의 가중치를 왜 계산하나요? 아래 그림에서 토끼의 머리쪽의 정점에 1 값과 꼬리쪽에 0 값이 주어질 때, 나머지 정점들의 값은 어떻게 자동으로 부여될지 알고 싶을 때가 있다. 예를 들어 머리에 1Kg, 꼬리에 0Kg의 질량이 가해진다면 나머지 구간의 질량 분포를 알고 싶다거나 온도를 예로 들면 머리에 10도, 꼬리에 5도의 온도를 알고 있을때 나머지 정점에서의 온도 분포를 알고 싶을 수도 있다. 이때, 머리와 꼬리쪽 정점에 가해지는 조건을 제약조건이라 하고, 그 외의 정점을 비제약 조건이라고 하는데, 제약조건값을 입력하면, 나머지 제약조건에 값을 계산해내면 많은 문제를 풀 수 있다. 좀 더 고급 문제로 가면 텍스쳐맵핑, 스무딩, 메쉬 변형등등에도 사용된다. Harmonic Field는 뭔가요? 정점의..

알고리즘 2023.04.26

libigl 시작하기

libigl(https://libigl.github.io/) 이란? 3D Mesh Processing and Visualiztion Library로써 3차원 폴리곤 데이터 처리 알고리즘 및 뷰어를 제공해주는 라이브러리 libigl(2.4.0)가 제공하는 기능 - Geometric Operators : Curvature, Gradient, Laplacian, Geodesic, Deformation, Remeshing 등등의 알고리즘 제공 - Visualization : OpenGL 기반의 랜더링 뷰어 제공 - 외부 라이브러리 추가 포함 : CGAL 등등의 외부 라이브러리도 추가적으로 포함되어 있어서 확장성이 좋음 라이선스 - https://libigl.github.io/license/ 기본적인 사항들은 M..

3D Graphics/libigl 2023.04.23

3D Polygon Processing Libs & Tools

Library OpenMesh 이 무료 오픈 소스 라이브러리는비주얼 컴퓨팅 연구소RWTH 아헨 대학에서. 메쉬 처리 알고리즘을 개발하기 위한 기본 사항을 제공하며 최신 버전에는 메쉬 데시메이션, 스무딩 및 세분화를 위한 구현도 포함됩니다. 메쉬 정보를 저장하기 위한 하프 에지 기반 데이터 구조(Kobbelt et al., 2002)와 메쉬 속성을 저장하기 위한 일부 인프라를 구현합니다. 이것은 메쉬를 순회하거나 새로운 지오메트리를 생성하기 위해 빠른 쿼리가 필요한 모든 작업에 적합하지만 고급 메쉬 처리 알고리즘은 포함하지 않습니다. OpenMesh는 C++ 라이브러리이지만 Python 바인딩도 제공됩니다. VCGLib VCGlib(Cignoni et al., 2004)에 의해 개발된 대부분의 도구의 기반..

카테고리 없음 2023.04.17

Unity 형상 관리(Plastic SCM) 사용하기

Unity에서 형상관리를 편하게 할수 있는 툴이 있어서 설정해서 사용해 보려 합니다. 형상관리 혹은 소스코드 관리라는 개념은 알고 있다고 가정하고 시작합니다. Plastic SCM 이란? Plastic SCM은 Unity 형상관리 툴인데, 이미지나 3D Resource까지 관리가 가능합니다. 그리고 Unity안에 Built In되어 있어서 사용하기 굉장히 편리합니다. 가격 또한 맘에 드는데요, 3명 이내 협업 및 총 데이터 5GB(모든 프로젝트의 총합)까지는 무료입니다. Plastic SCM 관리구조 Plastic SCM은 Repository가 Cloud에 존재하며 아래와 같은 구조로 관리합니다. 팀별로 Organization을 구성하고, 그 하위에 Repository(Workspace)가 존재하는 구조..

카테고리 없음 2022.08.20

Numpy Index Slicing을 이용한 빠른 접근

Numpy에서 편리하게 배열을 다루는 기술중에서 Index Slicing에 대한 기술입니다. import numpy as np # 1차원 배열 arr1 = np.array([1, 2, 3, 0]) # [x1:x2] Slicing # x1 index에서 시작해서 x2 index 앞까지 arr2 = arr1[1:3] # result # arr2 = [2, 3] # 2차원 배열(4x4) arr = np.array([ [0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]) # [y1:y2, x1:x2] Slicing # y1 index에서 시작해서 y2 index 앞까지 && x1 index에서 시작해서 x2 index 앞까지 arrSlicing = ar..

AI 2022.07.28

Windows에서 OpenAI Atari 구동 환경 구성

stable baseline과 함께 설치를 진행하겠습니다. 미리 설치할 환경 Python 3.7 이상 버전 PyTorch 1.11 이상 버전 stable baseline을 설치하면 OpenAI Gym이 자동 설치됨 pip install stable-baselines3 현재 1.6 버전이 설치됨, Gym 버전은 0.21.0 버전이 설치됨 atari 환경과 게임롬을 설치 pip install gym[atari] pip install autorom[accept-rom-license] OpenCV 설치 - 컬러 이미지를 흑백으로 변환할때 사용함 pip install opencv-python pip install opencv-contrib-python 버그 수정을 위한 마이너 설치 ale-py가 0.7.5 버전이..

AI/강화학습 2022.07.25