1
我正在研究一個基於PHP GD的web應用程序,我需要一些多邊形繪圖的幫助。在同一位置繪製幾個八角形的PHP函數
我有一個函數可以繪製一個n邊多邊形。在這種情況下,我只是對繪製八角形感興趣。
簡化的功能如下:
function drawoctagon($ourimage,$xpoint,$ypoint,$radius,$color){
$sides= 8;
$points = array();
for ($i = 1; $i <= $sides; $i++) {
$points[] = round($radius * cos($i*2 * pi()/$sides) + $radius +$xpoint); // x
$points[] = round($radius * sin($i*2 * pi()/$sides) + $radius + $ypoint); // y
}
imagefilledpolygon($ourimage, $points, $sides, $color);
}
//////////////////////////
我打電話在這個函數這樣上面:
drawoctagon($png1,$xpoint,$ypoint,$radius,$linecolor44);
不過,假設我執行上面的3倍此行,用各種不同的半徑,在八角形的arent同心......他們並排等
當創建$ points數組時,我分別添加了+ $ xpoint和$ ypoint,以便將繪製的八邊形從創建它的左上角移開。
我希望我已經正確地解釋了這一點......但基本上,我的問題是: 如何重寫此函數以繪製CONCENTRIC八邊形,以便如果使用相同的xpoint和ypoint調用多次(作爲多邊形的中心),儘管改變了半徑,它會在同一個點上創建八角形。
如果您仍然可以對任何n邊多邊形進行調整,則可以獲得額外的點數。
非常感謝!