-2
uvec1 = (vec3 - vec1).normalize3() 
uvec2 = (vec3 - vec2).normalize3()

   Vec normalize3()
   {
      double length = sqrt(x^2 + y^2 + z^2);
      return new Vec(x/length, y/length, z/length);      
   }

uvec2、vec1、および vec2 のみが与えられた場合、uvec1 を解くことは可能ですか?

サンプルデータ:

vec1 = (3994349.6104437034, -2525024.5798455356, 4270768.558174166, 1.0)    
vec2 = (3994350.7884981344, -2525023.416923353, 4270767.502702763, 1.0)    
vec3 = (3994403.673228261, -2525050.920923162, 4270738.823082169, 1.0) 
uvec1 = (0.8058476404228322, -0.3926341461126214, -0.44322455677835176, 1.0)
uvec2 = (0.7994702158645208, -0.415784076265458, -0.43355619689910574, 1.0)
4

1 に答える 1

0

数学的には、次のようになります

u1 = (v3 - v1)/||v3 - v1||
u2 = (v3 - v2)/||v3 - v2||

u1与えられたv1v2、およびu2を明らかに知らずに解きたいと考えていv3ます。最初の式を次のように書きましょう。

u1 = ((v3 - v2) + (v2 - v1))/||v3-v1||

下の式を次の式に代入します。

u1 = (u2*||v3 - v2|| + (v2 - v1))/||v3 - v1||

この最後の方程式は、 、、およびの値が同じであっても、異なるものを使用すると異なるv3と定義されることを示しているようです。したがって、指定した値だけで一意に決定することはできません。u1v1v2u2u1

于 2013-02-19T04:13:12.520 に答える