본문 바로가기

전체 글

(10)
3차원 회전 및 자세표현_오일러각 1. 고정된 두 축에 대하여 강체를 동시에 회전하는 것은 불가능하다. 2. 종속관계에 있는 두 축에 대하여 강체를 동시에 회전하는 것이 가능하다. 3. 순간적인 강체의 회전을 고정된 두 축에 대한 회전으로 표현하는 것은 가능하다. -----> 고정점에 대하여 회전하는 물체는 순간적으로 한 축에 대한 회전으로 나타낼 수 있다. 4. 자세 표현이란? - 회전을 나타내는 대표적인 방법으로 방향코사인 행렬, 오일러각, 쿼터니언이 있음 5. 임의의 한 축에 대한 회전 -물체의 자세는 임의의 한 축과 그 축에 대한 회전각으로 모두 표현 가능 6. 오일러 각 (그 중 롤-피치-요 표현) yaw축은 기준 좌표계의 yaw축과 평행 pitch축은 yaw축에 대하여 종속 roll은 pitch에 대하여 종속 -고정된 3축에 ..
k-d tree _ Euclidean clustering - Euclidean clustering이란 데이터간 거리가 일정거리 이하이면 하나의 군집으로 묶는 알고리즘이다. 하지만 이를 아무런 전처리 없이 구현하면 모든 데이터간 거리를 계산해야 한다. 하지만 데이터를 필요에 맞게 구조화 시키면 모든 데이터간 거리를 계산하지 않아도 Euclidean clustering이 가능해진다. 데이터 구조화 방법 중 하나로 k-d tree가 있다. - k-d tree란 이진 탐색 트리를 k차원으로 확장한 데이터 구조로, 삽입시 데이터는 각 차원을 번갈아 비교하여 트리구조에 저장된다. - k-d tree 구성 : 트리를 구성하는 방법에는 여러가지가 있는데, 균형 잡힌 k-d 트리를 만들기 위해 중앙값을 사용하는 방법이 있다. 2D의 경우 구성 단계는 다음과 같다. 1) 데이터..
Visual studio 2019 _ DLL 만들기 1. 새 프로젝트 만들기에서 DLL(동적 연결 라이브러리)를 선택한다. 2. DLL 프로젝트 폴더를 만들 경로를 설정한다. 3. 다음과 같이 소스 파일과 헤더 파일이 기본적으로 생성되어 있다. 4. 소스 파일과 헤더 파일을 새 항목으로 만든다. (이름은 아무렇게나 해도 됨) 5. 헤더 파일에 다음과 같은 코드를 넣는다. ----- dll 프로젝트를 빌드할 때 MAKEDll_EXPORTS가 정의된다. (속성->전처리기에서 확인 및 변경 가능) ----- 따라서 dll 파일을 만들때는 __declspec(dllexport)가 사용되고 ----- dll의 함수를 다른 프로젝트에서 사용할 때는 __declspec(dllimport)가 사용된다. 6. 헤더 파일에 사용할 함수들을 선언한다. ----- extern..