「どうやったら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 件のコメント:
コメントを投稿