2010-12-30 8 views
0

이 데이터 세트가 있다고 가정 해 봅시다.숫자 교차 분석 결정

var a = [5,6,7]; var b = [9,8,6];

이러한 값이 y를 (x, y) 좌표 쌍으로 플롯하고 x가 배열 인덱스라고 가정하면 두 개의 배열이 한 지점에서 교차했는지 어떻게 알 수 있습니까?

감사합니다.

+0

[sylvester.js] (http://sylvester.jcoglan.com/)는 관심있는 벡터 및 매트릭스 라이브러리입니다. –

답변

1

이 시도 :

if ((a[0] < b[0]) == (a[1] > b[1]) || 
    (a[1] < b[1]) == (a[2] > b[2])) 
{ 
    // crossed 
} 

중요한 점은 어떤 인덱스 I가 [I]의 값은이다 (큰 | 이하) B보다 [I]과의 관계 A [I + 1]이고 b [i + 1]은 반대이다.

+0

큰 데이터 세트의 경우이 방법은 다루기 힘들어 보일 수 있습니다. 더 직관적으로 배열을 반복하고 [i] -b [i]> 0을 수행한다고 생각합니다. 십자가를 지키지 않으면 모든 사람에게 사실이어야합니다. 다른 사람들을 위해서가 아닌, 그것이 사실이라면 그들은 교차합니다. 배열이 만지지만 교차하지 않는 경우 (예 : 3,2,3 및 1,2,1) 평등을 검사 할 수도 있습니다. – Chris