我希望有人能幫助我,我被要求爲一個遊戲編寫一些Lua腳本的代碼。首先,我不是Lua Scripter,我敢肯定沒有數學家。創建函數在平行四邊形中生成隨機點
我需要做的是在平行四邊形內生成隨機點,所以隨着時間的推移,整個平行四邊形變得充滿。我玩過腳本,並且在平行四邊形(矩形)上直線上下或90度時取得了一些成功。旋轉平行四邊形時出現問題。
正如您在圖像中看到的,事情會因地圖區域中心的座標而變得更糟,平行四邊形可以放置在地圖區域的任何位置。平行四邊形本身由3對座標定義,start_X和Start_Y,Height_X和Height_Y,最後是Width_X和Width_Y。無論位置或方向如何,生成的隨機點都必須在這些座標的範圍內。
Map coordinates and example parallelogram
座標的一個例子是...
Start_X = 122.226 Start_Y = -523.541
Height_X = 144.113 Height_Y = -536.169
Width_X = 128.089 Width_Y = -513.825
在我的腳本測試中,我已經將小數點減少到了.5,因爲任何較小的似乎對最終結果都沒有影響。另外,實際上,在最終使用時,起始寬度和高度可以處於任何方向。
有沒有人與病人解釋我需要做些什麼來得到這個工作,我的數學是非常基本的,所以請溫柔。
感謝您的閱讀和預期的答覆。 伊恩
嗨,彼得,謝謝你的回覆,但我沒有在出生時得到一個數學頭的幸運,我對前兩行感到困惑。 你是說a和b可以是0或1,或者我需要在座標值之間生成一個像start_x和height_x之間的隨機數。誠實地說,我沒有得到0 <= a <= 1位,請你解釋一下。 – Ian 2012-02-18 10:27:25
您需要爲一個可以是0.0到1.0範圍內的任意數字(例如0.0 0.23,0.7等)的隨機數產生一個隨機數。通常有一個標準函數爲您執行此操作,如math.random() – 2012-02-19 09:41:33