PHP, 186 184 196 byte
imagecolorallocate($i=imagecreate(601,601),~0,~0,~0);for(;$a<$p=2*M_PI;)for($b=$a+=$p/=$argv[1];$b>0;)imageline($i,(1+cos($a))*$r=300,$r+$r*sin($a),$r+$r*cos($b-=$p),$r+$r*sin($b),1);imagepng($i);
ghi hình ảnh vào STDOUT
phá vỡ
// create image with white background
imagecolorallocate($i=imagecreate(601,601),~0,~0,~0);
// loop angle A from 0 to 2*PI
for(;$a<$p=2*M_PI;)
// loop angle B from A down to 0
for($b=$a+=$p/=$argv[1];$b;) // ($a pre-increment)
// draw black line from A to B
imageline($i, // draw line
(1+cos($a))*$r=300,$r+$r*sin($a), // from A
$r+$r*cos($b-=$p),$r+$r*sin($b), // to B ($b pre-decrement)
1 // undefined color=black
);
// output
imagepng($i);
-12 byte cho cố định n=20
Thay thế $p=2*M_PIbằng 6(-8), /=$argv[1]bằng =M_PI/10(-2) và $b>0bằng $b(-2)
Sử dụng chính xác PI / 10 không làm tổn thương. Với .3142, các lỗi làm tròn từ phiên bản tham số vẫn còn, nhưng với M_PI/10chúng đã biến mất và tôi có thể kiểm tra $b(<> 0) thay vì $b>0. Tôi có thể đã lưu hai byte với .314, nhưng điều đó sẽ đặt ra các điểm.
Giới hạn $a<6này đủ chính xác cho 20 điểm.

Đã sửa lỗi 174 byte n=314
imagecolorallocate($i=imagecreate(601,601),~0,~0,~0);for(;$a<314;)for($b=$a++;$b--;)imageline($i,(1+cos($a))*$r=300,$r+$r*sin($a),$r+$r*cos($b),$r+$r*sin($b),1);imagepng($i);
Sử dụng 314 điểm dẫn đến một vòng tròn được lấp đầy trong độ phân giải đó (cũng như 136.140, mọi số chẵn trên đó và mọi thứ trên 317).
nvà vẽ các đường chonđiểm.