「どうやったらx座標,y座標を割り当てていけるだろう?」としばし悩み、高校時代に挫折したsin,cosをふと思い出しました。
さっそく調べると、PHPにはsin(),cos()という便利な関数があり、ネットで少々勉強したら、かなり便利なものと判明。
高校時代の挫折は、sin,cosの使い道が分からないことに大きな原因があったんだな、としみじみ。。。
今回、sin,cosでY座標、X座標を取得したい、という理由がはっきりしていたので、
やっとsin,cosの使い道が分かりました(笑)。
色々試して、以下のようなコードで、実験作第一号は無事表示。
ありがたや。。
そういえば、deg2rad()関数が必須でした。数値の角度からラジアン値に変換してくれるすぐれもの。この関数でやっと、30度ずつ描画、といった均等配置が実現しました。ありがたや。。
<?php
$r=100;
$img = imagecreate(500, 500);
$bg=imagecolorallocate($img,0,0,0);
for($i=0;$i<12;$i++){
$rad=deg2rad($i*30-90);
$c=$i*20+15;
$c2=255-$c;
$y=$r*sin($rad);
$x=$r*cos($rad);
$y2=$y+200;
$x2=$x+200;
$col=imagecolorallocate($img, $c2,$c, 0);
imagefilledellipse($img, $x2, $y2, 20, 20, $col);
}
header("Content-Type: image/png");
imagepng($img);
?>

0 件のコメント:
コメントを投稿