Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在圆上均匀分布的绘图点_Php_Math_Geometry_Gd - Fatal编程技术网

Php 在圆上均匀分布的绘图点

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

我想得到直径为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);
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倍,这就是为什么简单的乘法可以解决转换问题。