0

我正在编写一个非常简单的函数,我应该在其中找到两个 3 d 点之间的距离。一组点直接作为浮点数给出,而其他点作为水平数组给出。

三个输入是 x,y,z,它们是浮点数,并且作为 par 传递的行 Picks[0] 是 ["blue1",441.2223, 231.44, 127.7466] 现在,该行当然是作为对象出现的。我在制作一个计算距离的函数时遇到问题:我的代码现在是:\

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;,您无需尝试将变量 p 预先声明为任何内容,因为 javascript 是无类型的。引用所指的是static function Sqrt (f : 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;
}

您也不需要 toString() 您的参数,因为它们将被解析为浮点数。

于 2012-12-06T03:52:21.577 回答