선-선 교차점

Line–line intersection
선의 교차점.

유클리드 기하학에서 과 선의 교차점은 빈 집합, 점 또는 선이 될 수 있다.이러한 경우를 구분하고 교차점을 찾는 것은 를 들어 컴퓨터 그래픽, 동작 계획 및 충돌 감지에서 사용된다.

3차원 유클리드 기하학에서는 두 선이 같은 평면에 있지 않으면 스큐선이라고 하며 교차점이 없다.만약 그것들이 같은 평면에 있다면, 세 가지 가능성이 있다: 만약 그것들이 일치한다면, 그들은 공통점이 있다. (명칭 그들 중 하나의 점들은) 그들은 공통점이 있다; 그것들이 구별되지만 같은 경사를 가지고 있다면, 그들은 평행하고 공통점이 없다; 그렇지 않으면 그들은 단일 교차점을 가지고 있다.

비유클리드 기하학의 구별되는 특징은 두 선 사이의 가능한 교차점의 수와 위치, 주어진 선과의 교차점(병렬선)이 없는 가능한 선들의 수이다.

공식

두 선이 교차하는 데 필요한 조건은 두 선이 동일한 평면(즉, 기울어진 선이 아님)에 있다는 것이다.이 조건의 만족도는 한 선의 두 점에 정점이 있고 다른 선의 두 점에 정점이 있는 사면체(사면체)가 0의 체적을 갖는다는 의미에서 퇴보하는 것과 같다.이 조건의 대수적 형식은 Skew lines § 왜도 검정을 참조하십시오.

각 선에 2점 부여

First we consider the intersection of two lines and in 2-dimensional space, with line being defined by two distinct points and }:{2 두 개의 구별되는 점 3,y ){\ (( 4, 4) 에 의해 정의된다[1]

2{\}}의 P 은 결정 인자를 사용하여 정의할 수 있다.

결정 요인은 다음과 같이 기재할 수 있다.

분모가 다음과 같은 경우:

두 선이 평행하거나 일치할 때 분모는 0이다.선이 거의 평행하면 컴퓨터 솔루션은 위에서 설명한 솔루션을 구현하는 데 숫자적인 문제를 겪을 수 있다. 즉, 이 조건을 인식하려면 실제 적용에서 대략적인 시험이 필요할 수 있다.대안적인 접근방식은 선분할 중 하나가 수평이 되도록 선분할을 회전시켜 두 번째 선에서 회전된 파라메트릭 형태의 솔루션을 쉽게 구할 수 있다.특례(평행선/동일선, 겹침/과적 간격)에 대한 면밀한 논의가 필요하다.

각 선 세그먼트에서 두 점 지정

위의 교차점은 점 사이의 선 세그먼트가 아니라 점으로 정의되는 무한히 긴 선을 위한 것이며, 두 선 세그먼트 중 하나에 포함되지 않은 교차점을 생성할 수 있다는 점에 유의하십시오.선 세그먼트에 대한 교차점의 위치를 찾기 위해 L }}선은 1도 베지어 파라미터로 정의할 수 있다.

(tu는 실제 숫자임)선의 교차점은 t 또는 u의 다음 값 중 하나와 함께 발견된다.

그리고

다음 항목 포함:

0.0 ≤ t ≤ 1.0과 0.0 u u u 1.0이면 교차점이 생긴다.교차로 지점은 0.0 t t ≤ 1.0이면 첫 번째 선 세그먼트, 0.0 u u ≤ 1.0이면 두 번째 선 세그먼트 안에 들어간다.이러한 불평등은 분할할 필요 없이 시험할 수 있으며, 정확한 점을 계산하기 전에 어떤 선분할 교차점의 존재 여부를 신속하게 결정할 수 있다.[2]

두 개의 선 방정식 지정

두 비수직선의 교차점에 x y 좌표는 다음과 같은 대체와 재배열을 사용하여 쉽게 찾을 수 있다.

라인에 y= + = + d 이(가) 있다고 가정합시다. 및 b }은 선의 기울기(경사)이며 c{\ 선의 y-절이다.두 선이 교차하는 지점(있는 경우)에서 y 좌표가 모두 동일하므로 다음과 같은 동일성이 있다.

{\}을(를) 추출하기 위해 이 식을 다시 정렬할 수 있다

그래서,

y 좌표를 찾으려면 x의 값을 두 개의 선 방정식 중 하나로 대체하면 된다. 예를 들어, 첫 번째 방정식:

따라서 교차점은

a = b일 경우 두 이 평행하다는 점에 유의하십시오.cd도 선이 다르고 교차점이 없으면 두 선이 동일하다.

균일한 좌표 사용

균일한 좌표를 사용하면 암묵적으로 정의된 두 선의 교차점을 꽤 쉽게 결정할 수 있다.In 2D, every point can be defined as a projection of a 3D point, given as the ordered triple . The mapping from 3D to 2D coordinates is . We can convert 2D points to homogeneous coordinates by defining them as ) .

+ + = 로 정의된 2차원 공간에서 두 개의 무한 선의 교차점을 찾기를 원한다고 가정해 보십시오. + b + = }. We can represent these two lines in line coordinates as and ,

두 줄의 교차점 P은(는) 간단히 다음과 같이 주어진다.[3]

= 인 경우 선이 교차하지 않는다.

두 줄 이상

두 선의 교차점은 추가 선을 포함하도록 일반화할 수 있다.n라인 교차로 문제의 존재와 표현은 다음과 같다.

2차원으로

2차원에서, 두 개 이상의 선은 거의 확실히 단일 지점에서 교차하지 않는다.만약 그들이 하는 경우 그 교차점을 찾기 위해,[는 명확히 설명 1를 명확히 설명 2][)y]T=b나는,{\displaystyle{\begin{bmatrix}a_{i1}&, a_{i2}\end{bmatrix}}{\begin{bmatrix}x&, y\end{bmatrix}}^{\mathsf{T}로}=b_{나는},은i-th 방정식(나는 1, …,n원)를 쓰}과 matri에 그 공식을 쌓아 올리는지 판단하십시오.)형태로서

여기서 n × 2 행렬 A의 i번째 행은( 1, 2) w는 2 × 1 벡터(x, y)이고i,T 열 벡터 b의 i번째 요소는 b이다.A에 독립된 열이 있으면 그 등급은 2이다.그런 다음 증강 행렬[A b]의 순위도 2인 경우에만 행렬 방정식의 해법이 존재하며 따라서 n개의 선들의 교차점이 존재한다.교차로 점(있는 경우)은 다음과 같이 지정된다.

여기서 a 무어-펜로스가 A {\displaystyle 일반화된 역이다A가 전체 컬럼 순위를 가지기 때문에 표시되는 형식이 있음).또는 어떤 두 개의 독립 방정식을 공동으로 풀어서 해결책을 찾을 수 있다.그러나 A의 등급이 1에 불과할 경우, 증강 행렬의 등급이 2일 경우 해결책이 없지만, 등급이 1일 경우 모든 선이 일치한다.

3차원으로

위의 접근방식은 쉽게 3차원으로 확장할 수 있다.3개 이상의 차원에서는 두 개의 선이라도 거의 교차하지 않는다. 교차하지 않는 평행하지 않은 선 쌍을 꼬치선이라고 한다.그러나 교차로가 존재한다면 다음과 같이 찾을 수 있다.

3차원 선을 각각의 형태의 방정식[는 명확히 설명 1를 명확히 설명 2는 명확히 설명 3][)yz]T=b.{\displaystyle{\begin{bmatrix}a_{i1}& 2개의 비행기,의 교차점, a_{i2}&, a_{i3}\end{bmatrix}}{\begin{bmatrix}x&, y&, z\end{bmatrix}}^{\mathsf{T}}=b_로 표시됩니다.{나는}. 따라서 n개의 선 세트는 3차원 좌표 벡터 w = (x, y, z)에서 2n 방정식으로 나타낼 수 있다.T

여기서 현재 A는 2n × 3이고 b는 2n × 1이다. A가 전체 열 순위를 가지고 있고 증강 행렬[A b]이 없는 경우에만 전과 같이 고유한 교차점이 있으며, 존재하는 경우 고유 교차점이 주어진다.

선을 기울일 가장 가까운 점

둘 이상의 차원에서는 일반적으로 최소 제곱의 의미로 둘 이상의 선에 상호 가장 가까운 점을 찾을 수 있다.

2차원으로

2차원 사례에서 첫째, 선상에 선 를 점으로 , 선상에 pi i 그 선에 수직인 단위 정상 벡터.즉, x 2 }}개의 점이 라인의 이라면 1 = 1{\을(를) 두십시오.

선을 따라 90도 회전하는 단위 벡터 입니다.

x에서 선까지의 거리, ) 는 다음과 같이 지정된다.

그래서 점으로부터 x, 선까지의 제곱 거리는

여러 선에 대한 거리 제곱의 합은 비용함수:

다시 정렬할 수 있음:

최소값을 찾기 위해 x에 대해 분화하여 결과를 0 벡터와 동일하게 설정한다.

그렇게

그래서,

2차원 이상에서

While is not well-defined in more than two dimensions, this can be generalized to any number of dimensions by noting that is simply the (symmetric) matrix with all eigenvalues unity except for a zerp 사이의 거리에 세미놈을 제공하는 선을 따라가는 방향의 고유값과 선까지의 거리를 주는 또 다른 지점.임의의 치수에서 i (가) i번째 을 따라 있는 단위 벡터인 경우

^{\i}^{\top(는) - ^ }_{i

가 정체성 매트릭스인 곳, 등등[4]

일반 파생

선 집합의 교차점을 찾기 위해 선에 대한 최소 거리로 점을 계산한다.각 선은 단위 방향 벡터 i 에 의해 정의된다 에서 선 중 하나에 이르는 거리의 제곱은 피타고라스에서 다음과 같이 지정된다.

여기서 :(- a) i{\T}*i는 (- _모든 선에 대한 제곱까지의 거리의 합은 다음과 같다.

식을 최소화하기 위해 p 에 대해 구별한다

결과:

서 I (는) ID 행렬이다.∗ p = C 솔루션 p= + p 여기서 + 는 S 의 유사 반전이다

참고 항목

참조

  1. ^ "Weisstein, Eric W. "Line-Line Intersection." From MathWorld". A Wolfram Web Resource. Retrieved 2008-01-10.
  2. ^ Antonio, Franklin (1992). "Chapter IV.6: Faster Line Segment Intersection". In Kirk, David (ed.). Graphics Gems III. Academic Press, Inc. pp. 199–202. ISBN 0-12-059756-X.
  3. ^ "Homogeneous coordinates". robotics.stanford.edu. Retrieved 2015-08-18.
  4. ^ Traa, Johannes. "Least-Squares Intersection of Lines" (PDF). Retrieved 30 August 2018.

외부 링크