의 직경 I는 O에서 O에서 addPoint (X, Y) (logN) printDiameter() (logN) 수있는 데이터 structute 필요 여기서 N은 다각형의 현재 점 수입니다. 분명히 두 점은 다각형의 볼록한 선체에 놓이게됩니다. 앤티 노드 쌍 (Rotating-Callipers)의 개념을 사용하면 N 점의 직경이 O (N)임을 알 수 있습니다
mat이라는 100x100 부울 매트릭스가 있습니다. 모든 셀은 다각형 영역의 연속 패치를 제외하고는 잘못된 값을 갖습니다. 행렬의 각 셀을 실행하고 정확한 셀을 찾아서이 다각형에 속한 셀을 읽을 수 있습니다. region_of_interest=false(size(mat));
for i=1:size(mat,1)
for j=1:size(mat,2)
주어진 점 집합 S (크기가 n)에서 볼록 선체를 계산하는 알고리즘을 찾아야합니다. 정확히 볼록 선체를 형성하는 정확히 6 점에서 S까지입니다. 무엇이 가장 좋고 가장 효율적인 방법은입니까? S (n은 6 점)에서 O (n^6)을 취하고 O (n)을 취할 볼록 선체인지 확인하는 모든 가능한 점들의 조합을 생성하려고 생각했습니다. 그러나 매우 나쁜 총 런타임
평면 (2D)에서 두 점 사이의 최대 거리를 찾아야하는 문제를 해결하고 있습니다. 따라서 계산하는 O (n^2) 방법이 있습니다. 그래프의 모든 점 사이의 거리. 또한 볼록 선체 알고리즘을 구현했습니다. 이제는 O (nlogn)에서 convex hull을 계산 한 다음 O (n^2) 알고리즘을 사용하여 convex hull에서 점 사이의 최대 거리를 계산합
나는 최선의 시나리오에서 퀵헐에 대해 물어보고 싶습니다. 기본적으로 나는 퀵혼에 대한 아이디어를 얻었고 최악의 경우와 평균의 경우가 각각 O (n^2)와 O (nlogn) 인 이유를 알고 있습니다. 그러나 가장 왼쪽의 점 집합과 가장 오른쪽의 점 집합이 같은 양의 점을 가질 때 빠른 선체에서 가장 좋은 경우가 발생합니까? T (n) = T (n/2) + O
그런 기능이 아직 존재합니까? 그렇다면 어디에서 찾을 수 있습니까? 기본적으로 Matlab의 convhulln() 함수와 동일한 기능을 찾고 있습니다. 입력으로 데이터 세트 (N 차원)를 취하고 해당 데이터 공간의 볼록한 선체에 속한 데이터 요소를 반환합니다. scipy.spatial.ConvexHull에 래퍼를 가지고
교차하지 않는 두 개의 다각형의 볼록한 선을 계산하는 scipy 방법이 있습니까? 나는 선체가 교차하지 않는 지점 P1과 P2와 볼록 선체 CH (P1)과 CH (P2)의 2 세트를 가지고 있습니다. 나는 P1과 P2에서 점들의 합집합 (union of points)의 볼록 (convex) 선체를 찾고 싶다. scipy에 메소드가 빌드되어 있습니까?
다음 코드 단편은 here에서 가져 왔습니다. 이 문제의 해결책은 HDU 2823입니다. #define eps 1e-9
double rc(point pp[],point qq[],int n,int m)
{
int q=0;
int p=0;
for(int i=0;i<n;i++)
if(pp[i].y-pp[p].y<