2014-01-14 4 views
1

좌표계와 P1 = [0 0 h] 에 의해 주어진 Z 축을 따라 점으로 시작하고 XY 그런 다음 P2에서 P1을 가리키는 벡터에 수직 인 평면의 방정식을 풀면 벡터 = P1 - P2가됩니다. I 얻을 평면 방정식은 다음 :하나의 3D 데카르트 좌표계의 좌표를 다른 데카르트 데카르트 좌표계로 변환하는 방법

X의 *를 H * 황갈색 (A) -Y의 *를 H * 황갈색 (B) + Z의 * H = 0

이제 특정하고 네 점의 상대에 이 평면의 원점은 원본 평면의 P2와 동일합니다.

네 점

은 직사각형을 만들고 있습니다

[L*tan(C), L*tan(D), 0] 
[L*tan(C), -L*tan(D), 0] 
[-L*tan(C), -L*tan(D), 0] 
[-L*tan(C), L*tan(D), 0] 
정확히 어떻게 내가 원래 좌표 시스템에 이러한 점을 변환하는 방법에 대한 갈 것이라고

? 저는 번역과 회전이 관련되어 있다는 것을 알고 있습니다. 그리고 제가 문제를 고개를 모를 때 나는 단지 번역과 회전의 경우를 구분할 수 있었고 둘의 조합은 찾을 수 없었습니다.

회전 변환은 정확히 어떻게 작동합니까? 만약 내가 X 축을 중심으로 A도 회전하고 Y 축을 B도 회전 시킨다는 것을 이미 알고 있다면? 그런 다음 값을 추적하기 위해 간단한 trig를 할 수 있습니까? 아니면 그렇게 간단하지 않고 다시 원래의 좌표계와 일치시키기 위해 회전해야하는 축을 중심으로 회전해야합니까?

MATLAB에는 삽입 할 수있는 함수가 있는데, 하나의 좌표계를 정의하는 3 개의 점과 변환 행렬을 제공하는 두 번째 좌표계를 나타내는 3 개의 점을 삽입 할 수 있습니까?

내 문구가 불분명한지 알려주세요.이 3-D 문제는 시각화하기 매우 어렵습니다. 모든 삼각 함수를 쓰는 방법을 알아낼 수 없어서 수학적으로 시도해보고 싶었습니다 ... 그러나 우연히 더 간단한 해결책을 알기를 바랍니다.

X1, Y1Z1 안으로 P=(x1, y1, z1) 좌표를 갖는 축 벡터와, 원점 O1 의해 지정된 좌표계에서 표현되는 포인트가 좌표 질문의 다운 깎았 버전 (주석 참조) 응답

+1

질문을 간단하게 할 수 있습니까? 아마도 : "원점 O1과 3 개의 직교 단위 벡터 X1, Y1 및 Z1 (따라서 Z1 = X1 x Y1)에 의해 정의 된 좌표계에서 한 점이 주어지면 O2, X2에 의해 주어진 다른 좌표계에서이 점을 어떻게 나타낼 수 있습니까? , Y2 및 Z2 (여기서 X2, Y2 및 Z2는 오른 손잡이 정규직 기준을 정의합니다)? " 이와 비슷한 질문을하면 유스 케이스의 세부 사항을 확인할 필요가 없으며 다른 독자에게 도움이 될 수 있습니다. 이게 당신이 필요로하는 것과 가깝습니까? –

+0

네, 그 정도면 충분하다고 생각합니다. – Niseonna

답변

2

체계. 마찬가지로 원점이 O2이고 축 벡터가 X2Y2Z2 인 두 번째 좌표에서 동일한 점이 P=(x2, y2, z2)으로 표시됩니다. (좌표는 소문자, 점과 벡터는 대문자). 이 실제로 의미

은 다음과 같습니다

P = O1 + x1 X1 + y1 Y1 + z1 Z1 and 
P = O2 + x2 X2 + y2 Y2 + z2 Z2 

는 서로이 동일하게 설정하고, 매트릭스 형태로 그들을 작성 :

[ O11 ] [ X11 X12 X13 ][ x1 ] [ O21 ] [ X21 X22 X23 ][ x2 ] 
[ O12 ] + [ Y11 Y12 Y13 ][ y1 ] = [ O22 ] + [ Y21 Y22 Y23 ][ y2 ] 
[ O13 ] [ Z11 Z12 Z13 ][ z1 ] [ O23 ] [ Z21 Z22 Z23 ][ z2 ] 

은의 각각 양쪽 M1M2에 행렬을 부르 자, 원점을 열 벡터로 사용하고 열 포인트 벡터 p1p2을 호출하십시오.각 시스템에 대한 좌표축 후, 선형 독립적 인 M1과 M2는 역변환 인 경우

O1 + M1 p1 = O2 + M2 p2 

: 다음 우리는 이전의 수학 식을 작성할 수있다. 또한 그들은 orthogonal 인 경우, 각각의 역함수는 단지 조바꿈입니다!

p1 = Transpose[M1] (O2 - O1 + M2 p2) and similarly going the other way 
p2 = Transpose[M2] (O1 - O2 + M1 p1) 

당신은 기초 here의 변화의 일반적인 치료를 읽을 수 있지만 내 스트립 다운 처리가 빠른 코드를 작성하는 당신을 얻을 것이라고 생각 : 그래서 우리가 얻을.