제가 원하는 결과는 충돌검사에 쓰일 최소의 정점을 원하는데,
역시나 메쉬에서 불러온게 버텍스버퍼 이다보니.
메쉬를 이루는 프리미티브의 정점이라, 중복정점이 있어서요.
정육면체를 이루는 정점은 8개인데 버텍스버퍼에 존재하는 정점은 24개.
혹시 가장 기본적인 정점만 남기려면 일일이 for문 돌려서 중복정점 제거 하는 방법밖에 없을까요?
제가 원하는 결과는 충돌검사에 쓰일 최소의 정점을 원하는데,
역시나 메쉬에서 불러온게 버텍스버퍼 이다보니.
메쉬를 이루는 프리미티브의 정점이라, 중복정점이 있어서요.
정육면체를 이루는 정점은 8개인데 버텍스버퍼에 존재하는 정점은 24개.
혹시 가장 기본적인 정점만 남기려면 일일이 for문 돌려서 중복정점 제거 하는 방법밖에 없을까요?
혹시 데이터가 스탠다드포맷으로도 있나요 obj stl 같은?
?? 죄송해요 제가 3d 뉴비라. fvf 같은거 말씀하시는 건가요?
아 메쉬모델 말하시는 거군요
아뇨 그냥 기본 메쉬예요. D3DXCreateBox 써서 만들었어요.
log n 에 처리하세여
log n 이래 잘못말함 O(n)
ㄴ 역시 그 방법을 써야겠죠? 고유함수 이런거 있을 줄 알았는데 ㅠㅠ
웰드(weld)? 이런 키워드가 나오던데 자료찾아보니까, 감이 잘 안오네요. 흘규
전 DirectX를 안해봐서 별 도움 안될거같네요 그래도 제가 하는방식을 알려드리면 3d 오브젝트파일을 meshlab 프로그램으로 불러들인 다음에 convex hull 구하고 그거 다시 아웃풋으로 쓰거든요 일단 convex라서 충돌처리하는데 더 유리하고, meshlab에서 상식적인 알고리즘이 쓰였다면 중복점들은 사라질거같은 약간 주술적인 믿음을 가지고요
O(n) 알고리즘 궁금 어케하면되지요
머학원생님 감사합니다 호고곡
O(n) 인가 O(log n) 은 저도 카페에서 어떤분이 트리어쩌구 한 것밖에 잘모르겠어요 ㅠ
정점 개수가 적은 경우 or precomputation이 가능한경우엔 저라면 간단하게 O(n^2) 구현할거같아요 캬캬 가까운점 머지하는식으로
그 제가 자료좀 찾아보니까
메쉬의 바운딩박스를 자동으로 구해주는 함수가 있네요.
ComputeBoundingBox()
정밀검사 안할거면 차라리 이거라도 써야겠음 ㅠㅠ
아 네 O(N^2) 방법도 익숙하고 편한 것 같긴 하네요. 크으
박스만 이용할거면 그게 가장 쉽겠다
네넹