this question을 조사해 보면 경계선이 선분과 원호로 구성되어있는 모양을 처리해야합니다. CGAL이 나를 도와 줄 수있을 것 같습니다 : this section of the User's Manual에 따르면 General_polygon_set_2
은 Gps_segment_traits_2
이며 그 특성 클래스는 필요한 교차점과 차이점을 대부분 표현할 수 있어야합니다.CGAL 일반 폴리곤 : rigid motions and area
지금까지 문서에서 찾지 못한 것은 이러한 모양에 강체 모션을 적용하는 방법과 결과 모양의 영역을 계산하는 방법입니다.
나는 두 가지 문제를 해결할 수 있다고 생각합니다. 강체 모션의 경우 원래 정의 객체를 변형 한 후에 모양을 다시 만들 수 있습니다. 그리고 그 영역을 계산하기 위해 원형 궤도에 맞게 조정 된 신발 끈 접근법의 변형을 사용할 수 있습니다. 매뉴얼에서 나온 예제는 서포트 서클에 대한 세부 사항을 출력하고, 헤더를 파헤 쳐서 나는 모든 curve에 내 폴리곤에 supporting_circle()
메소드가 있다는 것을 알았습니다. 실제로는 Arr_circle_segment_traits_2<K>::X_monotone_curve_2
이라고 생각합니다. 그래서 나는 그 지역을 계산하기에 충분한 원 정보를 얻을 수 있어야합니다. 난 단지 머리말에 고의적 인 컴파일러 오류 메시지를 사용하여 설명서가 단순히 unspecified_type
으로 설명하는 일부 개체의 유형에 대해 배운 후 발견.
그럼에도 불구하고이 두 가지 작업 모두 상당한 작업이 필요하며 이러한 작업을 수행 할 기본 방법이없는 것 같습니다. 다른 한편으로, CGAL이 템플릿 인자를 통해 커스터마이징을하는 방식으로, 원형 폴리곤에 대해 작동하는 이러한 방법은 다른 일반적인 폴리곤에서는 작동하지 않을 수도 있지만 단순히 빠져있을 수도 있습니다. 내가 사용할 수있는 단축키를 알고 있습니까?
안녕하세요. [저는 CGAL 개발자입니다] (http : //www.cgal.org/people.html). 나는 CGAL의 Boolean Operation and Arrangement 패키지를 잘 모르기 때문에 스스로 답을 모르겠다. 귀하의 질문을 개발자의 내부 메일 링리스트로 전달했습니다. 우리 중 한 명이 당신을 도울 수 있기를 바랍니다. – lrineau
@lrineau : 고마워요! 입력 개체를 변환하는 내 해결 방법은 성능 측면에서 문제가 될 수 있습니다. 나는 다각형 세트를 조각으로 변환하기 위해 코드를 작성했지만 변형 된 다각형을 재구성 할 때 나는 전제 조건을 위반했다. 아마'Epick' 커널을 사용하고 있기 때문에 아마도 하나의 루트 포인트를 double로 변환했을 것입니다. 이 순간 나는이 부울을 처음부터 직접 구현하는 것을 진지하게 고려하고 있습니다. 그러나 아마도 CAGL이 어떻게 내 필요를 충족시킬 수 있는지에 대한 개요를 설명하는 데 도움을 줄 수있는 개발자가 있습니다. – MvG