Php 在圆上均匀分布的绘图点
我想得到直径为x的圆上n个点的坐标 我试过这个:Php 在圆上均匀分布的绘图点,php,math,geometry,gd,Php,Math,Geometry,Gd,我想得到直径为x的圆上n个点的坐标 我试过这个: <?php header("Content-Type: image/png"); $img = @imagecreate(900, 900) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($img, 255, 255, 255); $red = imagecolorallocate($img, 255, 0, 0
<?php
header("Content-Type: image/png");
$img = @imagecreate(900, 900)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);
for($i=0;$i<=360;$i+=10)
{
$x = round(cos($i)*400)+450;
$y = round(sin($i)*400)+450;
imagefilledellipse($img, $x, $y, 3, 3, $red);
}
imagepng($img);
imagedestroy($img);
?>
但似乎有一个错误:
学校、数学和罪恶与罪恶是很久以前的事了。。。如果有人能给我一个提示,我会很高兴的。PHP三角函数接受弧度值,所以你应该用π/180乘以$i。基本上只需要使用deg2rad函数 因此,将您的cos和sin呼叫更改为:
$x = round(cos(deg2rad($i))*400)+450;
$y = round(sin(deg2rad($i))*400)+450;
我不知道弧度值。。。很抱歉,请查看维基百科页面,以便更好地理解。但简而言之,角度的弧度值是其度值的Pi/180倍,这就是为什么简单的乘法可以解决转换问题。