পিএইচপি, 186 184 196 বাইট
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);
ছবিটি STDOUT এ লিখেছেন
ভাঙ্গন
// 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 বাইট n=20
প্রতিস্থাপন $p=2*M_PI
সঙ্গে 6
(-8), /=$argv[1]
সঙ্গে =M_PI/10
(-2), এবং $b>0
সঙ্গে $b
(-2)
সঠিক পিআই / 10 ব্যবহার করা ক্ষতিগ্রস্থ হয় না। সাথে .3142
, প্যারামিট্রাইজড সংস্করণ থেকে রাউন্ডিং ত্রুটিগুলি রয়ে গেল, তবে M_PI/10
সেগুলি অদৃশ্য হয়ে গেল এবং আমি এর $b
পরিবর্তে (<> 0) পরীক্ষা করতে পারি $b>0
। আমি এর সাথে দুটি বাইট সংরক্ষণ করতে পারতাম .314
, তবে এটি পয়েন্টগুলি অফ-সেট করে দিতে পারে।
সীমাটি $a<6
20 পয়েন্টের জন্য যথেষ্ট সঠিক।
174 বাইট স্থির জন্য 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);
এই রেজোলিউশনে একটি পূর্ণ ভরাট বৃত্তে 314 পয়েন্টের ফলাফল ব্যবহার করা হয়েছে (যেমন 136,140 করুন, এরপরেও প্রতিটি সংখ্যা এবং 317 এর উপরে সমস্ত কিছু)।
n
এবংn
পয়েন্টগুলির জন্য লাইন আঁকতে হয় তবে এটি দুর্দান্ত হবে ।