내 질문은 간단하지만 솔루션은 매우 까다로울 수 있습니다. 나는 삼각형 컬렉션을 가지고 있으며, 나는 그들의 노조를 찾고 싶다. 삼각형은 표준 방식으로 주어진다 :cascaded_union (다각형) 주변 원점 인덱스 복구
점 : 각 라인이 버텍스 인덱스에 의해 주어진 삼각형 좌표 점에서 (2는 각 포인트에 대한 좌표)와 연결리스트로
[ 15.02716923 81.72425842]
[ 21.42242702 79.91459549]
[ 24.87068939 79.0222168 ]
[ 29.25767326 77.96657562]
[ 34.07667923 76.65890503]
삼각형 :
7 8 9
8 18 20
8 20 10
8 10 9
9 10 11
9 11 108
나는 매우 효율적으로 cascaded_union
를 사용하여 노동 조합을 찾을 수 있습니다
import shapely.geometry as geometry
from shapely.ops import cascaded_union, polygonize
polys = [geometry.Polygon([[points[point, 0], points[point, 1]] for point in triangle]) for triangle in triangles]
result = cascaded_union (polys)
문제는 결과 다각형의 좌표를 제공한다는 것입니다. 반면, 의 둘레를 초기 값 points
배열의 인덱스로 사용하고 싶습니다. 지금까지 나는 이것을 할 방법을 찾지 못했습니다. 한 가지 방법은 좌표 자체 대신 점 지수를 내뱉는 자체 결합 함수를 작성하는 것입니다.
이 당신이 볼록 선체를 원하는 뜻인가요? –
@BillBell 아니요, 나는 오목한 선체가 필요합니다. 그러나 연결 삼각형을 이미 알고 있기 때문에 알파 셰이프를 찾을 필요가 없습니다. 그래서 나는 그것들을 병합하고 결과 모양을 생성하기 만하면됩니다. – John
귀하의 목록에없는 노동 조합의 외부 링 포인트에서 얻을 것으로 예상되는 것은 무엇입니까? (이것은 쉽게 일어날 수있다). – eguaio