কোনও ফাংশনের শিকড় আনুমানিক করতে আপনি নিউটন পদ্ধতিটি জানেন, তাই না? এই কার্যে আমার লক্ষ্য হ'ল আপনাকে এই অ্যালগরিদমের একটি আকর্ষণীয় দিকের সাথে পরিচয় করিয়ে দেওয়া।
নিউটনের অ্যালগরিদম কেবলমাত্র নির্দিষ্ট ক্ষেত্রে রূপান্তর করে তবে বেশিরভাগ জটিল ইনপুট মান। আপনি যদি জটিল প্লেনের মধ্যে সমস্ত ইনপুট মানগুলির জন্য পদ্ধতির রূপান্তরটি চিত্রিত করেন তবে আপনি সাধারণত এটির মতো একটি সুন্দর ফ্র্যাক্টাল পান:
বিশেষ উল্লেখ
এই কাজের লক্ষ্য হ'ল এ জাতীয় ফ্র্যাক্টাল তৈরি করা। এর অর্থ, আপনি ইনপুট হিসাবে বহুপদী প্রাপ্ত হন এবং আউটপুট হিসাবে আপনার পছন্দের বিন্যাসে চিত্র হিসাবে সম্পর্কিত ফ্র্যাক্টাল প্রিন্ট করতে হবে।
ইনপুট
ইনপুটটি জটিল সংখ্যার একটি সাদা স্থান-বিভাজিত তালিকা। তারা শৈলী নিচে লেখা হয় <Real part><iImaginary part>
, এই নম্বরের মতো: 5.32i3.05
। আপনি ধরে নিতে পারেন, ইনপুট সংখ্যার 4 দশমিক বেশি জায়গা নেই এবং এটি 1000 এর চেয়ে ছোট। এর মধ্যে প্রথমটি অবশ্যই শূন্য নয়। উদাহরণস্বরূপ, এটি আপনার প্রোগ্রামের একটি ইনপুট হতে পারে:
1 -2i7.5 23.0004i-3.8 আই 12 0 5.1233i0.1
সংখ্যাগুলি বহুবর্ষের গুণফল হিসাবে ব্যাখ্যা করা হয়, সর্বোচ্চ শক্তি দিয়ে শুরু হয়। এই স্পেসিফিকেশন বাকি সর্বত্র, ইনপুট বহুপদী বলা হয় পি । উপরের ইনপুটটি এই বহুপদী সমান:
f (x) = x 5 + (-2 + 7.5 i ) x 4 + (23.0004 - 3.8 i ) x 3 + 12 i x 2 + 5.1233 + 0.1 i
ইনপুটটি আপনার কাছে স্ট্যান্ডিন থেকে, প্রোগ্রামে পাস হওয়া আর্গুমেন্ট থেকে বা আপনার প্রোগ্রামে প্রদর্শিত কোনও প্রম্পট থেকে আসতে পারে। আপনি ধরে নিতে পারেন, ইনপুটটিতে কোনও শীর্ষস্থানীয় বা চলমান সাদা বর্ণের অক্ষর নেই।
অনুবাদ
আপনাকে নিম্নলিখিত উপায়ে ফ্র্যাক্টাল রেন্ডার করতে হবে:
- পি এর শিকড় হিসাবে যতগুলি রং বেছে নেওয়া যায় বিচরণের জন্য একটি অতিরিক্ত রঙ
- দৃশ্যমান সমতলটিতে প্রতিটি সংখ্যার জন্য, পদ্ধতিটি রূপান্তর করে কিনা এবং হ্যাঁ কোন মূলকে তা নির্ধারণ করুন। ফলাফল অনুযায়ী পয়েন্টটি রঙ করুন।
- শাসক বা অন্যান্য অভিনব জিনিস মুদ্রণ করবেন না
- বিন্দুতে একটি কালো বিন্দু মুদ্রণ করুন, এটি অভিমুখীকরণের জন্য বহুভুজ মূলগুলি। আপনি প্রতিটি মূলের চারপাশে চার পিক্সেল পর্যন্ত মুদ্রণ করতে পারেন।
- দৃশ্যমান প্লেনটি কোনও উপায়ে বেছে নেওয়ার জন্য কোনও উপায় সন্ধান করুন, যে সমস্ত শিকড় পার্থক্যযুক্ত এবং যদি সম্ভব হয় তবে এটির বিস্তারে ছড়িয়ে পড়ে। যদিও আউটপুট ফ্রেমের একটি নিখুঁত প্লেসমেন্টের প্রয়োজন হয় না, আমি কোনও উত্তর গ্রহণ করতে অস্বীকার করার অধিকার সংরক্ষণ করি যা ফ্রেমটিকে অগ্রহণযোগ্য উপায়ে বেছে নেয়, যেমন। সর্বদা একই স্থানাঙ্কে, সমস্ত শিকড় এক বিন্দুতে থাকে ইত্যাদি always
- আউটপুট চিত্রের আকার 1024 * 1024 পিক্সেল হওয়া উচিত।
- রেন্ডারিং সময়টি সর্বোচ্চ 10 মিনিট
- একক নির্ভুলতা ভাসমান-পয়েন্ট মান ব্যবহার করা যথেষ্ট
আউটপুট
আউটপুটটি আপনার পছন্দের ফাইল ফর্ম্যাটে একটি রাস্টার গ্রাফিক্স চিত্র হওয়া উচিত, যা কোনও ব্র্যান্ড এক্স অপারেটিং সিস্টেমের জন্য স্ট্যান্ডার্ড সফ্টওয়্যার দ্বারা পঠনযোগ্য। আপনি যদি বিরল ফর্ম্যাট ব্যবহার করতে চান তবে এমন কোনও ওয়েবসাইটের লিঙ্ক যুক্ত করার কথা বিবেচনা করুন যেখানে কেউ এর জন্য একজন দর্শক ডাউনলোড করতে পারে।
Stdout ফাইল আউটপুট। যদি আপনার ভাষা স্টাডাউটে কিছু রাখার পক্ষে সমর্থন না করে বা আপনি যদি এই বিকল্পটি কম সুবিধাজনক মনে করেন তবে অন্য কোনও উপায় খুঁজে নিন। যে কোনও উপায়ে, উত্পন্ন চিত্রটি সংরক্ষণ করা অবশ্যই সম্ভব।
বিধিনিষেধ
- কোনও চিত্র প্রক্রিয়াকরণ গ্রন্থাগার নেই
- কোন ফ্র্যাক্টাল উত্পন্ন গ্রন্থাগার নেই
- সংক্ষিপ্ততম কোডটি জয়ী
এক্সটেনশানগুলি
আপনি যদি এই কাজটি পছন্দ করেন তবে আপনি রূপান্তর গতি বা অন্য কোনও মানদণ্ড অনুযায়ী পয়েন্টগুলি রঙ করার চেষ্টা করতে পারেন। আমি কিছু আকর্ষণীয় ফলাফল দেখতে চাই।