2011-08-11 5 views
6

저는 C++ (또는 C++ 0x)로 3D 데이터를 처리하는 데 익숙하지 않습니다. 간단한 데이터를 처리 할 수있는 모델을 만들고 있습니다 (모델, 세분 등). 저는 메모리에서 3D 지오메트리를 효율적으로 처리하고 그 구성 요소 (정점, 점, 삼각형뿐만 아니라 꼭지점, 애트리뷰트 정점 등)를 수정하는 API를 제공하는 '3D 지오메트리 엔진'과 같은 것을 찾고 있습니다. 나는 그와 같은 것을 찾고 있었지만 운이 없었다. 자유롭게 사용할 수있는 엔진이 있다면, (최고의 오픈 소스) 3D 지오메트리 엔진을 추천 해 주실 수 있습니까?3D 지오메트리 엔진

감사합니다.

+1

새로운 기능이므로 수락 및 투표 기능에 대해 알려주십시오. –

+0

하나 이상의 답변을 정확하게 선택할 수 있습니까? 그래서 지금 당장은 OpenMesh와 Cgeo가 어느 것이 더 낫다는 것을 알기 위해이 2 개의 라이브러리를 깊이 조사해야합니다. 나는 둘 다 비슷한 폴리 프로세싱 피처를 가지고 있지만, 어떤 것이 더 "디자인 된"것이 더 좋은지 궁금합니다. –

답변

3

http://pointclouds.org/ 시도해 볼 수 있습니다.

웹 사이트에 따르면 : 포인트 클라우드 라이브러리 (또는 PCL)는 포인트 클라우드 프로세싱을위한 대규모 오픈 프로젝트입니다.

PCL 프레임 워크에는 필터링, 피쳐 추정, 표면 재구성, 등록, 모델 피팅 및 분할을 포함한 수많은 최첨단 알고리즘이 포함되어 있습니다.

PCL은 BSD 라이센스의 조건에 따라 배포되며 오픈 소스 소프트웨어입니다. 상업 및 연구용으로 무료입니다. 우리는 Willow Garage, NVidia, Google 및 Toyota가 재정적으로 지원합니다.

+0

잘 이해하면, PCL은 더 고전적인 메쉬가 아닌 포인트 클라우드 기하학을위한 것입니다. 그것은 당황하지 않습니다. OP가 알아야 할 것입니다. –

+0

위대한! 대단히 고맙습니다. 제 질문은이 주제와 관련이 없지만 제게는 유용 할 것입니다! –

4

"3D 지오메트리 엔진"이 더 넓은 의미 일지 모르지만 질문과 같이 다각형 메쉬가 주요 관심사 인 경우 OpenMesh을 볼 수 있습니다. C++ 0x에서 언급했듯이, 템플릿이 없다고 가정합니다. OpenMesh는 사용하기 쉽지만 여전히 효율적인 메쉬 데이터 구조를 만들기 위해 일반적인 프로그래밍 구문을 많이 사용하기 때문에 좋습니다. 메쉬 처리를위한 사전에 너무 많은 알고리즘을 제공하지는 않지만, 독자적인 알고리즘을 구현하기위한 출발점이 될 수있는 몇 가지 알고리즘이 있습니다.

+0

고마워요! OpenMesh를 살펴 보겠습니다. [CGAL] (http://www.cgal.org/project_ideas.html)을 통해 만료 된 경우 알려 주실 수 있습니까? OpenMesh와 비교해 볼 수 있습니까? –

+0

@ danilo2 저는 CGAL에 대한 경험이 없습니다. 다각형 메쉬보다 훨씬 많은 것을 제공하는 거대한 일반 컴퓨터 기하학 라이브러리입니다. 나는 그것이 얼마나 유용한 지 모르지만 그것은 커다란 공동체를 가지고 있으며 널리 쓰이고 있다고 생각합니다. 아마 pmr은 그것에 대해 더 많이 알고 있습니다. 그러나 당신이 다각형 메쉬로만 인터레이스 된 것이라면, OpenMesh는 멋지고 빠른 작은 라이브러리입니다. –

+0

@danilo Christian이 옳습니다. CGAL은 거대하지만 단일 패키지가 서로 잘 분리되어 있습니다 (커널이 아닌 편재). 당신은 어떤 알고리즘을 사용해야하고 더 잘 맞는지를 알아야합니다. – pmr

2

저는 VTK로 성공했습니다. 메쉬를 처리하기위한 최상의 API는 아니지만 작동하며 표시하기에 알맞은 기능이 있습니다. 그리고 전적으로 독점적으로 일하는 컴퓨터 기하학 자 몇 명은 알고 있습니다. 따라서 전혀 나쁜 것은 아닙니다.

+1

고마워요! 나는 그것을 확실히 볼 것이다! 어쩌면 그것은 내 애플리케이션에 적합하지 않을 것입니다. (처음에는 작지만 자라면서) 큰 애플리케이션을 개발하고 싶다고 말했고, 여러분이 말했듯이, 최고의 API가 될 수 없었습니다. –

4

CGAL은 다양한 메쉬 처리 알고리즘을 제공하며 정확한 부동 소수점 연산 .

+0

고맙습니다! :) 지금은 다른 도구들과 비교하고 있는데 정말 재미있어 보여요! :) –

+0

이것 이후로 꽤 오래되었지만 최근에 같은 질문을했습니다. CGAL은 매우 복잡하고 많은 복잡한 알고리즘을 포함하고 있지만, 대부분은 GPL 라이센스를 가지고 있기 때문에 예산이 적은 상용 프로젝트의 경우 가장 편리하지 않을 수 있습니다. 반면 OpenMesh는 더 작은 알고리즘 라이브러리를 가지고 있지만 상용 프로젝트 (LPGL)와 호환되는 융통성있는 라이센스로 훨씬 간단합니다. – cbuchart

2

당신은 들로네 등을 제공하면서 CGAL보다 처리하기 위해 훨씬 더 쉽게 흑연, 오픈 소스 기하학 처리 프레임 워크를 시도 할 수 있습니다
http://alice.loria.fr/index.php?option=com_content&view=article&id=22

이 확실히 "단지 삼각형 점 처리"보다 더 고급이지만, 제공 흥미로운 것은 종종 메쉬 처리를 위해 필요한 기능 번호입니다.