流連忘返
http://forums.wasabistudio.ca/

[觸發編輯]點距離
http://forums.wasabistudio.ca/viewtopic.php?f=197&t=37116
1 頁 (共 1 頁)
發表人:  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是隨便填的數字
上式不是正確的內碼優~請自行轉格式
1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時