2013-04-21 4 views
0

두 개의 시선이 있습니다.파라 메트릭 라인과 직교 라인의 교차점은 무엇입니까?

파라 메트릭 형태의 하나 :

L2 = { 
    (px1, py1, pz1), 
    (px2, py2, pz2) 
} 

두 줄의 교차점을 찾을 수있는 효율적인 방법은 무엇입니까 :

L1 = { 
    (x = x1 + t.a1), 
    (y = y1 + t.b1), 
    (z = z1 + t.c1) 
} 

그리고 다른 하나는 직교 선분입니까?

내가 생각할 수있는 방법은 다음과 같습니다

  • 변환 L2 파라 메트릭 형태에

그러나입니다 P는 L2에있는 경우는

  • 가 알아 점 P에 대한 해결이 더 효율적인 방법? 이 질문은 https://math.stackexchange.com/questions/28503/how-to-find-intersection-of-two-lines-in-3d과 유사합니다. 그러나 나는 솔루션보다는 효율성에 관심이있다.

  • 답변

    0

    하자 D1가 제 1 라인의 방향 벡터이다 D2 번째 라인은 BB베이스 포인트의 벡터 (BB = B2-B1)이다 갔지 방향 벡터이다.

    p = (d1xd2) (벡터 산물). p이 0 벡터 인 경우 선이 평행합니다.

    그런 다음 선이 교차하는지 확인해야합니다 (bb * p)는 0이어야합니다 (스칼라 제품). 그렇지 않으면이 선이 비뚤어집니다. I이 고려했지만, 작업 수 현명이 않는 동등 비효율적 -

    교차점 I = B1 + D1 * (BB X D2) * P/(P는 * P는)]

    +0

    덕분이다 매트릭스 곱셈을 위해 병렬 계산을 사용하고 있습니다. 사실 두 솔루션의 어셈블리 덤프가 있습니다. 방향 벡터 솔루션은 좀 더 부피가 크다. (그러나 나는 SSE BLAS를 사용하여 두 번째 오버 헤드를 추가한다.) – tinkerbeast

    관련 문제