看板 Flash 關於我們 聯絡資訊
改好了 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
cjcat2266:已經平方了,所以應該是不需要用到 Math.abs()了 12/20 00:55
scars:裡面所有的 abs 函數都是不必要的 12/20 01:19