본문 바로가기

분류 전체보기105

STL - sort sort 범위의 요소 정렬 std::invoke(comp, std::invoke(proj, *(it + n)), std::invoke(proj, *it)) 요소는 주어진 comp 비교 함수를 통해 비교가 진행됨 이때, ranges::begin(r) ~ ranges::end(r)로 범위를 표현할 수 있음 Time Complexity O(Nlog(N)) 이때, N = ranges::distance(first, last)이다. struct sort_fn { template requires std::sortable constexpr I operator()(I first, S last, Comp comp = {}, Proj proj = {}) const { if (first == last) return first.. 2024. 1. 18.
STL - max_element와 min_element max_element template ForwardIt max_element(ForwardIt first, ForwardIt last) { if (first == last) return last; ForwardIt largest = first; while (++first != last) if (*largest < *first) largest = first; return largest; } template ForwardIt max_element(ForwardIt first, ForwardIt last, Compare comp) { if (first == last) return last; ForwardIt largest = first; while(++first != last) if (comp(*largest.. 2024. 1. 18.
Crescendor - HandTracking Transform API 이벤트가 발생하면, 사용자의 손의 위치를 반환하여 해당 위치로 오브젝트의 위치를 변경하려고 한다. 그러면 Hand 관련 API에서 Transform 정보를 받아와야했고, 그 정보는 OVRHand의 PointerPose였다. 또한, PointerPose에 사용자의 Hand Data를 대입하기 위해 OVRHand에 Tracked Pose Driver라는 컴포넌트가 필요했다. Tracked Pose Driver는 트래킹 대상 객체의 정보를 전달해주는 컴포넌트이다. OVRPlugin과 OVRCommon에는 각각 HandState와 FromFlippedZVector3f() 가 명시되어 있다. 간단한 테스팅을 위해 다음과 같이 함수를 작성하여 UI 버튼 클릭 이벤트 발생 시 Note의 위치를 바꿔주었다. using.. 2024. 1. 17.
스마트한 선택들 요즘엔 책을 많이 못읽는다... 이건 오빠 방 책꽂이에 2권이나 있길래 몰래 기숙사로 가져와 읽은 책이다ㅎ 읽었던 내용 중 사회적 비교 편향에 대해 가장 생각을 많이 해봤다. 벤처 기업을 하는 사람들이 가장 흔히 저지르는 오류 가운데 하나로, 벤처 기업을 설립할 때 자기 자신보다 더 나은 사람들을 고용한다는 것이다. 자신의 긍정적인 것은 확대하고, 타인의 것은 축소하는 경향이 있다. 다른 사람의 코드를 보고 아 이 정도면 나도 좀만 더 했으면 해결했겠다... 했던 것들이 생각났다ㅋㅋㅋ 내가 과제로 제출했던 프로젝트들이 제출할 때까지만 해도 정말 잘한 것 같고, 애정이 가득하다가 조금 시간이 지난 뒤 다시 보면 또 허접해보이는,, 그런 현상들도 많았다. 이제는 객관적으로 생각하며 만족하지 말고 끝까지 애정.. 2024. 1. 11.
Crescendor - HandTracking, Interactor 개발에 앞서 테스팅을 먼저 진행했다. 빠른 시간 안에 특정 기능들을 테스팅하려고 하다보니 UI 위치가 잘 안맞는다..ㅎㅎ XR Interaction Toolkit 차례대로 HandRayInteractor와 HandPokeInteractor이다. 2024. 1. 6.
Crescendor - Android Build 관련 삽질 학기 중에 졸업작품 제안서를 쓰면서 테스팅을 진행하는데, 나를 계속 괴롭혔던 오류이다. android build support가 설치되지 않고, sdk / ndk / jdk를 따로 설치하니 계속 오류가 떠서 결국 빌드를 못해보고 다른 팀원에게 넘기게 되었다. 이제 oculus build는 거의 내가 담당할 예정이라 기기도 내가 가지고 있고, apk 빌드를 꼭 해내야만 하는 상황이어서 밤새 붙잡고 있어봤다.... 나는 unity에서 jdk, sdk, ndk의 경로를 직접 설정했다. unity editor에 내장된 모듈은 설치가 안되고 (아마 유니티 허브와 에디터의 버전이 안맞아서인 듯한데, 우리가 맞추기로 한 버전은 더이상 허브에서 설치할 수 없는 버전이었다.) android studio의 sdk mana.. 2024. 1. 4.