W = T1 * cos (theta) + T2 * sin (theta)의 관계를 만족하는 3 개의 3D 벡터, W, T1 및 T2가 있습니다.각도를 찾기위한 코드
나는이 세 가지 벡터가 주어진 쎄타를 찾을 수있는 알고리즘을 생각해 내야합니다. 그러나 나는 붙어있어 어디에서 시작해야할지 모른다.
W = T1 * cos (theta) + T2 * sin (theta)의 관계를 만족하는 3 개의 3D 벡터, W, T1 및 T2가 있습니다.각도를 찾기위한 코드
나는이 세 가지 벡터가 주어진 쎄타를 찾을 수있는 알고리즘을 생각해 내야합니다. 그러나 나는 붙어있어 어디에서 시작해야할지 모른다.
선형 대수학의 기법을 사용하여 cos (theta) 및 sin (theta)의 가능성을 해결합니다.
[ T1_1 | T2_1 | W_1 ]
[ T1_2 | T2_2 | W_2 ]
[ 1 | T2_1/T1_1 | W_1/T1_1 ]
[ T1_2 | T2_2 | W2 ]
[ 1 | T2_1/T1_1 | W_1/T1_1 ]
[ 0 | T2_2 - T1_2 * T2_1/T1_1 | W2 - T1_2 * W_1/T1_1 ]
[ 1 | T2_1/T1_1 | W_1/T1_1 ]
[ 0 | 1 | (W2 - T1_2 * W_1/T1_1)/(T2_2 - T1_2 * T2_1/T1_1) ]
[ 1 | 0 | W_1/T1_1 - T2_1/T1_1 * (W2 - T1_2 * W_1/T1_1)/(T2_2 - T1_2 * T2_1/T1_1) ]
[ 0 | 1 | (W2 - T1_2 * W_1/T1_1)/(T2_2 - T1_2 * T2_1/T1_1) ]
그래서,
cos(theta) = alpha * W_1/T1_1 - T2_1/T1_1 * (W2 - T1_2 * W_1/T1_1)/(T2_2 - T1_2 * T2_1/T1_1)
sin(theta) = alpha * (W2 - T1_2 * W_1/T1_1)/(T2_2 - T1_2 * T2_1/T1_1)
우리는
cos(theta)^2 + sin(theta)^2 = 1
가 마지막 식으로 cos(theta)
및 sin(theta)
에 대한 이전의 방정식을 연결해 것을 알고, 우리는 alpha
에 대해 해결할 수 있습니다. 알다시피 우리는 arccosine 또는 arcsine을 사용하여 theta
의 실제 값을 계산할 수 있습니다. 나는 다음 단계 중 하나에 내 작품을 선택하지 않은, 그래서 방정식의 정확성에 대한 보장을하지 않는 것이
참고. 나는 그것을 당신을위한 운동으로 남겨 둡니다.
T1 및 T2는 동일 선상에없는 경우, 외적 사용할 수
들이 동일 선상에있는 경우, 단지 행에서 투영 및 스칼라 방정식의 W A=B*cos(theta)+C*sin(theta)
ck : T1과 T2 사이의 각도에 대한 사전 정보가 없습니까? (예 : "항상 직각"과 같은) – maxim1000