각 메쉬에 꼭짓점과 삼각형이 주어집니다. 누구든지 알고있는 메쉬 또는 부울 연산을 수행하고 결과 메쉬에 대한 정점과 삼각형을 얻기 위해 알고리즘이나 찾고있는 장소를 알고 있습니까 (Google을 먼저 시도했지만 시작하기에 좋은 곳을 찾지 못했습니다)? 뺄셈과 노조가 특히 흥미 롭습니다.
각 메쉬에 꼭짓점과 삼각형이 주어집니다. 누구든지 알고있는 메쉬 또는 부울 연산을 수행하고 결과 메쉬에 대한 정점과 삼각형을 얻기 위해 알고리즘이나 찾고있는 장소를 알고 있습니까 (Google을 먼저 시도했지만 시작하기에 좋은 곳을 찾지 못했습니다)? 뺄셈과 노조가 특히 흥미 롭습니다.
답변:
저는 이것을 CSG (Constructive-Solid-Geometry)라고 생각합니다. 바라건대 여기에서 도움을 찾을 수 있기를 바랍니다.
http://www.alsprogrammingresource.com/csg.html
http://createuniverses.blogspot.com/2009/09/qtcsg-constructive-solid-geometry.html
http://www.nigels.com/research/
또한 시작으로 Google에서 입체 솔리드 형상을 검색하십시오.
HTH
생각 만하면 퍼즐을 풀 수 있다고 생각합니다.
두 도형이 교차하는면 (삼각형)을 만들고 싶을 것입니다. 그런 다음 방금 분리 한 교차점, 형상 1 및 형상 2의 세 가지 메쉬가 남았습니다.
그런 다음 필요없는 것을 삭제하십시오!
나는 그것을 덮고 있다고 생각합니다. 힘든 부분은 분명히 교차면을 만드는 것입니다. 이를 위해 한면의 각면을 반복하고 그면이 다른면의 일부인지 확인하십시오. 내부에 완전히 있다면면을 교차 메시의 일부로 복사하십시오. 부분적으로 안에 있다면, 교차 선을 따라 삼각형을 분할해야합니다. DirectX와 OpenGL은 모두 이것에 대한 도우미 기능을 가지고 있거나 3D 평면 수학 (벡터) 일 것이라고 생각합니다. 미적분학 3에서 (또는 2입니까?) 그런 종류의 것을 배웠지 만 실마리가 없다면 math.stackexchange.com으로 문의 하십시오 . 그리고 얼굴이 바깥에 있다면 아무 것도하지 마십시오. 두 메시의 모든면을 반복하면 교차 메시가 남게됩니다.
다각형 모델을 다루는 경우 비 매니 폴드 지오메트리를 처리해야 할 수도 있습니다. 이는 "내부"와 "외부"가 무엇인지에 대한 문제를 의미합니다. 0 또는 1을 가지고 있는지 모르는 경우 부울 연산을 수행하는 것이 까다 롭습니다.
또한 동일 평면 다각형, 모서리와 교차하는 다각형, 모서리 및 / 또는면에있는 정점 및 그 성질의 것들과 같은 프린지 케이스도 처리해야합니다. 어느 것도 불가능하지 않다면, 메시 데이터를 표현할 수있는 매우 강력한 방법과 그러한 경우에 발생할 것으로 예상되는 내용에 대한 엄격한 정의가 필요합니다.
대부분의 작업은 부정과 결합으로 표현 될 수 있습니다. 일부 형상의 부정은 법선이 뒤집힌 형상입니다. 따라서 노동 조합을 올바르게 얻을 수 있다면 다른 작업은 다음과 같아야합니다.
Sander는 CSG 구현에 대해 설명하는 상당히 좋은 블로그 게시물을 보유하고 있습니다. http://sandervanrossen.blogspot.com/search/label/CSG
적어도 당신이 강력하게하고 싶다면 (부동 소수점이 심각한 어려움을 겪는다면) 꽤 까다로운 주제입니다.
주제, 특히 최근 논문에 대한 컴퓨터 기하학 / 컴퓨터 그래픽 관련 문헌을 알려드립니다.
http://homes.cs.washington.edu/~gilbo/repofiles/booleans2009.pdf