이미지(곧 비디오 프레임이 될 예정)에서 두 점 사이의 경로를 찾을 수 있는 프로그램을 만들고 있습니다. 제가 하는 일은 다각형 개체를 사용하여 경로 사이의 장애물을 식별하고 해당 다각형 개체를 사용하여 필요에 따라 돌아다니는 것입니다. 내 코드는 다음과 같습니다:
으아아아현재 저에게 유일한 장애물은 직사각형, 정사각형, 원 등과 같은 단순한 모양을 사용하는 것입니다. 모든 것이 잘 작동하면 동영상 사용으로 전환하겠습니다. 문제는 두 부분이 직사각형의 대각선일 때 getpolygonsinway
中的列表理解中的 line.crosses(polygon)
함수가 false를 반환할 때 발생합니다. 문서를 살펴봤지만 이 사례를 올바르게 캡처하고 있는지 확인하기 위해 무엇을 사용해야 할지 몰라서 여기에 질문을 드립니다.
편집: 요청에 따라 샘플 다각형, 시작 및 끝점은 다음과 같습니다.
으아아아위 코드를 사용하면 실행 후 다음 경로를 얻게 됩니다 getshortestpath(getpaths(start, end, polygons, []))
:
[(440, 35), (411, 182), (210, 335), (90, 600)]
[(440, 35), (411, 182), (210, 335), (90, 600)]
我找到了 line.within(polygon)
方法,该方法检查该线是否位于传递的多边形内部。我不知道为什么我以前没有看到它,但现在我看到了。通过在列表理解 if 条件中执行 line.crosses(polygon) 或 line.within(polygon)
line.within(polygon)
메서드를 찾았습니다. 이전에는 왜 보지 못했는지 모르겠지만 지금은 봅니다. 조건이 있는 경우 목록 이해에서 line.crosses(polygon) 또는 line.within(polygon)
을 수행하여 직사각형 주위의 경로를 얻을 수 있었습니다. 이제 다른 기본 모양을 사용하여 테스트한 다음 무한히 용도를 테스트하겠습니다. 🎜위 내용은 선이 어떤 방식으로든 다각형을 통과하는지 확인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!