作者forestluch (小强)
看板Flash
标题Re: [问题] 求距离
时间Thu Dec 20 00:54:13 2007
改好了
Math.abs(Math.pow(Math.abs(Math.pow(_xmouse-p1._x,
2))+Math.abs(Math.pow(_ymouse-p1._y, 2)), 0.5))
谢谢
※ 引述《forestluch (小强)》之铭言:
: 这个问题困扰我很久
: 我想求出p1点和滑鼠的直线距离
: 於是我写出一道算式
: ((_xmouse-p1._x)^2+(_ymouse-p1._y)^2)^0.5
: 就是三角形两边距平方相加再开根号
: 然後trace出来的值很不正常 忽大忽小忽正忽负
: 於是我将它改成绝对值的计算
: Math.abs(((Math.abs(_xmouse-p1._x)) ^ 2+Math.abs((_ymouse-p1._y)) ^ 2) ^ 0.5)
: 也就是两边相减值各先画成绝对值 再平方 再相加 再开根号 再划成绝对值
: 结果跑出来的值都是正数 但是 还是忽大忽小的
: 经过滑鼠努力的跑 努力的trace之後 发现.....
: 0xxx0
: x0x0x
: xxpxx
: x0x0x
: 0xxx0
: 结果是这样的
: 由p1点向四个角落放射出去的线上值都会是0 靠近线则值亦递减
: 这代表着 当x轴的差值 与y轴的差值 相等时 (直角等腰三角形)
: 斜边距离将是0?
: 怎麽会这样 我算式有列错吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.171.126.5
1F:推 cjcat2266:已经平方了,所以应该是不需要用到 Math.abs()了 12/20 00:55
2F:推 scars:里面所有的 abs 函数都是不必要的 12/20 01:19