0

두 개의 3 차원 점 배열이 있는데 한 배열과 다음 배열 사이의 최소 거리를 알려주는 함수가 필요합니다.두 피팅 된 다항식 사이의 최소 거리에 대한 Python 스크립트

np.linalg.norm을 사용하여 커브의 한 점과 다른 커브의 모든 점 사이의 거리를 계산 한 다음 최소값을 얻으려고했지만 런타임이 길어서별로 좋지 않습니다. 우아한.

결과적으로 두 배열에 n 차 다항식을 넣고 다항식 함수로 변환하려고했습니다.

여기 the link to the polynomial fit

여기 [RAWDATA 링크 (
https://storage.googleapis.com/pythonstackflowquestion/TestData.csv)

열 WB 별도의 배열을 표시예요. I는

DEF 간격로서의 기능을 얻을 바라고

(WB1을 WB2) 창 (간격)

, WB1 3 배열하여 정보이며 WB2 3 어레이 Z이다

및 간격은 1 배열입니다. 내가 간격 (WB2, WB1)을 말한다면

그때 한 배열하여 m로 간격을 얻을 수 있도록 노력하겠습니다.

+0

"하나의 배열과 다음 배열 사이의 최소 거리를 알려주는"두 점 사이의 최단 거리를 의미합니까? –

+0

https://storage.googleapis.com/pythonstackflowquestion/TestData.csv –

+0

https://storage.googleapis.com/pythonstackflowquestion/PolynomialRegression%20V2.py –

답변

0

당신이 말한 것에서는 입방 다항식 (3D로)에 적합하고 두 입방 호 사이의 거리를 최소화하고 싶다고 추측합니다. 파라 메트릭 방정식은 각각 P(u)Q(v)을 경우

, 당신은 uv 학위 (6)의 다항식입니다 |P(u)-Q(u)|²을 최소화하고자합니다. 단위를 사각형으로 최소화하려면 모서리 (이산 값), 모서리 (1D 최소화) 및 도메인 내부 (2D 최소화)의 값을 고려해야합니다.

2D 최소화 문제는 가장 어렵습니다. 그것은 (.은 내적이다) 시스템

P'(u).(P(u) - Q(v) = 0 
Q'(v).(P(u) - Q(v) = 0 

의 솔루션의 결정을 필요로한다.

이것은 불안한 숫자 문제이며, 두 점 집합에 대한 초기 문제의 직접적인 해결과 비교할 때 실질적인 이점이 없습니다.

kD 트리와 같은 가장 가까운 이웃 탐색 가속기를 사용하여 하나의 곡선의 점을 구성하고 두 번째 점의 모든 점에 대한 최단 거리를 계산하는 것이 좋습니다. 가속 장치를 사용하면 O (N²)에서 대략 O (N Log N)까지 복잡성을 줄일 수 있습니다.

계산 기하학에서

는 점 세트에 가장 가까운 이웃의 한 쌍을 찾는 문제는 하나의 잘 알려진, 그리고 시간 O에서 최악의 경우 최적의 솔루션 (N 로그 N)는 고전이다.

두 개의 서로 다른 하위 집합에 속한 구성원과 가장 가까운 쌍을 찾고 있습니다.전산 기하학에서 이것은 아마도 "가장 가까운 적 - 검은 점 쌍"문제 또는 이와 비슷한 것으로 불릴 것입니다. 나는 그것의 흔적을 찾을 수 없었다.

+0

우수! 감사합니다. 나는 당신이 옳다고 생각합니다. 그 아이디어는 꽤 복잡한 것입니다. 결국, 나는 하나의 커브에서 다른 커브까지 모든 포인트를 순열 변환한다. kD-tree는 새로운 아이디어입니다. 나는 그것을 들여다 볼 것이다 !! –

관련 문제