게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] 물체의 좌표값으로 회전이 되었는지 구하는 방법이 있나요?ㅠㅠ
게시물ID : programmer_6638짧은주소 복사하기
작성자 : 아안돼
추천 : 0
조회수 : 1743회
댓글수 : 9개
등록시간 : 2014/11/20 18:28:21
옵션
  • 본인삭제금지
현재 유니티와 vuforia 엔진을 이용해서 물체인식을 하는 프로그램을 만들고 있습니다.
간단하게 설명드리면 osmo의 칠교처럼 실제로 칠교조각을 맞추고 그 맞춘 조각을 카메라를 통해서 비추면
맞았는지 안맞았는지 확인하는 프로그램입니다 ㅠㅠ

vuforia 엔진을 통해 물체인식을 할 수 있도록 만들었습니다.
다만 만약 l 모양으로 있는 조각을 맞추라는 문제가 나오면,  실제로 맞추는 조각을 맞출 때 l (세로모양)과 ㅡ(누워있는 모양) 을 구분해야하는데 ㅠㅠ
어떻게 구분해야하는지 감이 안잡힙니다 ㅠㅠ

검색을 해보니 각 물체의 position을 통해 각도를 구할 수 있다는데 .. 어떻게 구하는지 감이 안옵니다 ㅠㅠ 제가 수학을 못하는 것도 가장 큰 이유중에 하나이겠죠 ㅠㅠ
현재 짜놓은 코드를 일부를 보여드리겠습니다 ㅠㅠ


ImageTargetBehaviour itb = GetComponent<ImageTargetBehaviour> ();
        Vector2 targetSize = itb.GetSize ();//return value is widthheight 
        //ImagetargetBehaviour return centor position value in unity screen 

        
        Vector3 vLDl = new Vector3 (-targetSize.x / 2.0f0, -targetSize.y / 2.0f);  // Image Target의 좌측 하단 좌표
        Vector3 vLUl = new Vector3 (-targetSize.x / 2.0f0,  targetSize.y / 2.0f);   // Image Target의 좌측 상단 좌표
        Vector3 vRUl = new Vector3 ( targetSize.x / 2.0f0,  targetSize.y / 2.0f);   // Image Target의 우측 상단 좌표
        Vector3 vRDl = new Vector3 ( targetSize.x / 2.0f0, -targetSize.y / 2.0f);  // Image Target의 우측 하단 좌표
        //vector3 in dicate X,Z,Y position
        //it is image position located in unity scene


        // Image Target의 모서리 좌표를 스크린 좌표계로 변환
        Vector3 vLDs = Camera.main.WorldToScreenPoint(vLDl);   // Image Target의 좌측 하단 코너의 스크린 좌표
        Vector3 vLUs = Camera.main.WorldToScreenPoint(vLUl);   // Image Target의 좌측 상단 코너의 스크린 좌표
        Vector3 vRUs = Camera.main.WorldToScreenPoint(vRUl);   // Image Target의 우측 상단 코너의 스크린 좌표
        Vector3 vRDs = Camera.main.WorldToScreenPoint(vRDl);   // Image Target의 우측 하단 코너의 스크린 좌표
        //vector3 indicate X,Z,Y positon

코드 설명을간단하게 하면.. 타겟이 인식됬을 경우 타겟의 좌표를 받아오고..( 좌표는 타겟의 가운데 점입니다.)
그 좌표를 이용해 해당되는 타겟의 사이즈를 받아온 뒤, 벡터로 변환하는 과정입니다 ㅠㅠ

어찌어찌해서 결국에 실제 스크린(ex.모바일 앱일 경우 휴대폰 화면) 에 있는 위치를 알 수 있는 상황까지 왔는데 ..

제 생각에는 스크린에서 잡히는 물체의 위치를 통해 각도를 구해서 회전한 정도에 따라 이 물체가 어떠한 상태인지 판단하는 것이 좋을 것같다고 생각되어집니다 ..

모든 물체는 사각형입니다. (실제로 칠교조각은 정사각형이 아니나, 물체를 인식하는 과정에서 이미지가 사각형밖에 올라가지않아서 그렇게 됬습니다 ㅠㅠ)

현재 unity scene에 위치한 좌표를 알 수 있고, 그 좌표를 통해서 실제 스크린에서 그 물체의 좌표를 받아올 수 있습니다 ㅠㅠ

이 상황에서 제가 칠교조각이 제대로 위치하고 있는지 알 수 있는 방법이 있을까요?ㅠㅜㅜㅜㅜㅜㅜ
정말 죄송한 말이지만.. 만약 가능하다면 자세하게 설명을 해주시면 정말정말 은혜는 잊지않고 항상 감사하며 살겠습니다 ㅠㅠㅠ 
조언 부탁드립니다 ㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호