[觸發編輯]點距離

Galaxy Map Editor

版主: crassorz, zilch

[觸發編輯]點距離

文章crassorz » 2012年05月07日 8:21 pm

大家都知道距離公式是(x^2+y^2)^0.5
大家也知道SC2實數上限是524288.0
然後也很清楚他的溢位運算不太OK
所以當x^2+y^2>524288.0時
悲劇就自然而然的發生了

要避免這個悲劇的話
i = 1
p0=p1+p2
x,y=PointGetX(p0),PointGetY(p0)
While x>512 or y>512
x,y/=32
i*=32
EndWhile
run DistanceBetweenPoints(Point(0,0) , Point(x,y) ) * i

512 = (524288.0/2)^0.5
32是隨便填的數字
上式不是正確的內碼優~請自行轉格式
圖檔
我決定不再對伸手牌起反應
除非很有趣
頭像
crassorz
死亡騎士
死亡騎士
 
文章: 2338
註冊時間: 2008年04月06日 5:40 pm
來自: 什麼都有的雜物間

回到 地圖製作主題討論版

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron