1

我想获得直径为 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);
?>

但似乎有一个错误:

http://imgur.com/EYJe3hB

学校、数学和 sin&cos 是很久以前的事了......所以如果有人能给我一个提示,我会很高兴

4

2 回答 2

2

基本上只使用 deg2rad 函数。http://www.php.net/manual/en/function.deg2rad.php

因此,将您的 cos 和 sin 调用更改为:

$x = round(cos(deg2rad($i))*400)+450;
$y = round(sin(deg2rad($i))*400)+450;
于 2013-11-14T12:59:11.803 回答
0

PHP 三角函数接受弧度值,因此您应该将 $i 的值乘以 Pi/180。

于 2013-11-14T12:35:25.347 回答