0

私は、2つの3dポイント間の距離を見つけることになっている非常に単純な関数を書いています。ポイントの1つのセットはフロートとして直接与えられ、他のセットは水平配列として与えられます。

3つの入力はフロートであるx、y、zであり、["blue1"、441.2223、231.44、127.7466]であるparとして渡される行ピックアップ[0]です。これで、行はもちろんオブジェクトとして表示されます。距離を計算する関数を作成する際に問題が発生しました:現在の私のコードは次のとおりです:\

function distance(x,y,z,par)
{
var p:float;
p=Mathf.Sqrt( (x-parseFloat(par[1].ToString())) * (x-parseFloat(par[1].ToString())) +          (y-parseFloat(par[2].ToString())) * (y-parseFloat(par[2].ToString())) + (z-parseFloat(par[3].ToString())) * (z-parseFloat(par[3].ToString())));
return p;
} 

私を助けてみてください。

4

1 に答える 1

0

エラーはと関係がvar p:float;あります。javascriptは型がないため、変数pを事前に宣言する必要はありません。参照が参照してstatic function Sqrt (f : float) : floatいるのは、floatであり、floatを返す変数を期待しているということです。コードは次のように記述する必要があります。

function distance(x,y,z,par)
{
   var p = Mathf.Sqrt( (x-parseFloat(par[1])) * (x-parseFloat(par[1])) + (y-parseFloat(par[2])) * (y-parseFloat(par[2])) + (z-parseFloat(par[3])) * (z-parseFloat(par[3])));
   return p;
}

また、パラメーターはfloatに解析されるため、toString()する必要はありません。

于 2012-12-06T03:52:21.577 に答える