চাঁদের আকার গণনা করুন


19

চাঁদের রহস্যের আকার

আমি নিশ্চিত আপনি শুনেছেন যে চাঁদ তার আকার পরিবর্তন করে। যখন আপনি প্রেমে থাকেন এবং আপনি ভাগ্যবান হন, চাঁদ স্বাভাবিক পরিস্থিতির তুলনায় আকারে প্রায় দ্বিগুণ হয়। কিছু লোক বলে কারণ বায়ুমণ্ডল যা লেন্স হিসাবে কাজ করে। অন্যরা মনে করেন যে এটি নিকটস্থ গাছের মতো অন্যান্য বস্তুর সাথে তুলনা করার বিষয়। আপনি যে ব্যাখ্যাটি পড়ুন না কেন, এটি যথেষ্ট বিষয়গত।

চাঁদ বিজ্ঞানের আকার

ঠিক আছে, আমরা প্রোগ্রামার, আমরা না? আমরা সত্যের উপর নির্ভর করি, তাই না? সুতরাং এখানে পরীক্ষা:

  1. একটি দুর্দান্ত ক্যামেরা নিন যা ম্যানুয়ালি সময় এবং অ্যাপারচার সেট করার জন্য সমর্থন করে।
  2. আপনার ক্যামেরাটি সর্বাধিক জুম স্তরে সেট করুন।
  3. বাইরে যান, সর্বোত্তম সেটিংস সনাক্ত করতে চাঁদের কয়েকটি ছবি তুলুন যাতে চাঁদটি তীক্ষ্ণ হয় এবং আলো ঠিক থাকে।
  4. সেটিংস মনে রাখবেন
  5. আপনি যখন মনে করেন চাঁদটি বড় বা ছোট, তখনি সেই সেটিংসের সাথে চাঁদের ছবি তুলুন।
  6. পিক্সেলগুলিতে চাঁদের আকার গণনা করুন

ক্যামেরা মিথ্যা বলবে না, তাই না? উজ্জ্বল পিক্সেল গণনা করে আমরা কার্যকরভাবে চাঁদের আকার পরিমাপ করতে পারি - কমপক্ষে পিক্সেলে।

আকারটি যদি সমস্ত ফটো জুড়ে একই হয় তবে তা আমাদের মস্তিষ্কে একটি বাগ g যদি আকারটি পৃথক হয়, তবে জল্পনা করার সুযোগ রয়েছে

  • চাঁদ সত্যই বৃদ্ধি পায় (তবে এটি কী খায়?)
  • একটি বায়ুমণ্ডলীয় লেন্স প্রভাব আছে
  • চাঁদের একটি উপবৃত্তাকার বক্ররেখা থাকে এবং কখনও কখনও পৃথিবী থেকে আরও দূরে থাকে
  • ...

তবে আপনার কাজটি শেষ না হওয়া পর্যন্ত আমি তা খোলা রেখে দেব। আপনার সফ্টওয়্যারটি চাঁদের আকারটি নির্ভুলভাবে গণনা করতে পারে তবে অবশ্যই আপনি আগেই জানতে চান know

কাজটি

চাঁদের কয়েকটি অনুকূলিত ছবি দেওয়া হয়েছে, দয়া করে চাঁদের আকার গণনা করুন। অপ্টিমাইজেশনটি হ'ল: পিক্সেলগুলি কালো বা সাদা। এর মাঝে কিছুই নেই। কোন antialiasing। এটি সহজ করে তোলে, তাই না?

সতর্কতা: চাঁদ সর্বদা পূর্ণ হয় না, আপনি জানেন ... এটি একটি কাস্তি হতে পারে! এমনকি একটি কাস্তির আকারেও চাঁদের আকার বৃহত্তর। সুতরাং, আপনি পুরো আকার গণনা করুন, দয়া করে।

  • আপনার প্রোগ্রামটি পিএনজি নেয় ইনপুট হিসাবে, যেমন ফাইলের নাম কমান্ড লাইন আর্গুমেন্ট stdinহিসাবে, কোনও প্রোগ্রামের পরিবর্তে কোনও ফাংশন লিখলে বিটম্যাপ অবজেক্টে (একটি স্ট্যান্ডার্ড ফ্রেমওয়ার্ক লাইব্রেরির) পাইপযুক্ত বা হিসাবে।
  • আপনার প্রোগ্রামটি কোনও বর্ধিত বর্গাকার অগত্যা যুক্তিসঙ্গত ইনপুট বিটম্যাপ আকারের সাথে কাজ করে। সর্বনিম্ন প্রস্থ এবং উচ্চতা 150 পিক্সেল গ্যারান্টিযুক্ত।
  • পূর্ণ চাঁদ ছবিটির কমপক্ষে 25% coversেকে রাখে।
  • আপনার প্রোগ্রাম চাঁদের গণনা করা আকারটিকে পিক্সেলগুলিতে আউটপুট করে দেয় যেন এটি একটি পূর্ণিমা।
  • আমরা ধরে নিই যে চাঁদ একটি নিখুঁত গোলক।
  • সঠিক আকারটি সর্বদা একটি পূর্ণসংখ্যার সংখ্যা, তবে আপনার গণনা যদি এটি ফেরত দেয় তবে আপনি দশমিক সংখ্যা আউটপুট করতে পারেন।
  • যথার্থতা 98% এবং 102% এর মধ্যে হওয়া উচিত। (এটি অর্জনযোগ্য হওয়ার গ্যারান্টি দিতে পারে এমন কিছুর চেয়ে এটি অনুমান। আপনি যদি মনে করেন এটি পৌঁছানো খুব কঠিন, তবে দয়া করে একটি মন্তব্য দিন))

আপডেট :

  • চাঁদের কেন্দ্র অগত্যা ছবির মাঝখানে নয়।
  • সর্বনিম্ন দৃশ্যমান অঞ্চলটি চাঁদের 5% বা পিক্সেলের মোট সংখ্যার 1.25%।
  • ছবিটি এমনভাবে তোলা হয়েছে যাতে পুরো চাঁদ চিত্রটির সাথে খাপ খায়, অর্থাৎ পিক্সেলের মোট সংখ্যা চাঁদের আকারের জন্য একটি উচ্চতর সীমানা।
  • চাঁদ ক্রপ / ক্লিপ হবে না।

নমুনাগুলি

আপনি চাইলে মিশ্রণ ফাইলটি ব্যবহার করে আপনার নিজস্ব নমুনা তৈরি করতে পারেন। আমি আপনার জন্য নিম্নলিখিত ছবি তৈরি করেছি। এই ছবিতে কেবল কালো এবং সাদা পিক্সেল রয়েছে এবং সেগুলির মধ্যে কতগুলি আছে তা পরীক্ষা করতে আপনি হোয়াইটপিক্সেলকাউন্টার.এক্সে (প্রয়োজন। নেট) ব্যবহার করে কোনও পিএনজি ফাইলে পিক্সেল গণনা করতে পারেন ।

নিম্নলিখিত 256x256 পিক্সেল চিত্রগুলি সাদা পিক্সেলের পরিমাণে পৃথক, তবে সবগুলিই 16416 পিক্সেলের গণনা করা মুনের আকারে ফলাফল হওয়া উচিত।

পূর্ণিমা চন্দ্র চন্দ্র চন্দ্র চন্দ্র চন্দ্র

এবং এই 177x177 পিক্সেল চিত্রগুলি 10241 পিক্সেল ফিরে আসা উচিত। চিত্রগুলি মূলত একই, তবে এবার আলাদা ফোকাল দৈর্ঘ্যের একটি ক্যামেরা ব্যবহৃত হয়েছিল।

চন্দ্র চন্দ্র চন্দ্র চন্দ্র চন্দ্র চন্দ্র

9988 এর ফলাফল সহ অ-স্কোয়ার এবং কেন্দ্র-কেন্দ্রিক নমুনা:

একটি বর্গাকার ফ্রেমে চাঁদ Moon একটি বর্গাকার ফ্রেমে চাঁদ Moon একটি বর্গাকার ফ্রেমে চাঁদ Moon একটি বর্গাকার ফ্রেমে চাঁদ Moon একটি বর্গাকার ফ্রেমে চাঁদ Moon

ওহ, আমার আপাতত একটি রেফারেন্স বাস্তবায়ন নেই এবং আমি কিছুটা বাস্তবায়ন করতে সক্ষম কিনা তাও জানি না। তবে আমার মস্তিষ্কে একটি দৃ belief় বিশ্বাস রয়েছে যা আমাকে বলে যে এটি অবশ্যই গাণিতিকভাবে সমাধানযোগ্য হবে।

নিয়ম

এটি কোড গল্ফ। 2015-03-30-এ সংক্ষিপ্ততম কোডটি গৃহীত হবে।


9
সমস্ত উদাহরণে, চাঁদকে কেন্দ্র করে চিত্রের মধ্যেই প্রদর্শিত হয়। আমরা কি ধরে নিতে পারি যে চাঁদ সর্বদা কেন্দ্রীভূত থাকবে?
ডিজিটাল ট্রমা

1
আপনার অঞ্চলে আপনার +/- 2% এর যথার্থতা ব্যাসের সাথে +/- 1% এর সাথে সম্পর্কিত: উদাহরণস্বরূপ r = 100 পিক্সেল, আয়তন = 10000 * পাই; r = 101 পিক্সেল, আয়তন = 10201 * পাই। আপনার ছোট চিত্রটিতে r = 72 রয়েছে তাই ডি = 144 তাই এটি কেবল সম্ভব হওয়া উচিত । D = 100 এর নীচের চিত্রগুলির জন্য আমি মনে করি সঠিকতাটি অবশ্য পূরণ করা যায়নি।
স্তরের নদী সেন্ট

@ ডিজিটালট্রামা: কেন্দ্রটি মাঝখানে হওয়ার দরকার নেই।
টমাস ওয়েলার

@ মার্টিনব্যাটনার: নূন্যতম দৃশ্যমান শতাংশ হ'ল চাঁদের 5% বা ছবিটির 1,25%।
থমাস ওয়েলারের

@ মার্টিনবাটনার: ঠিক আছে, আমি প্রশ্নটি আপডেট করেছি, ডিফল্টরূপে স্কোয়ারবিহীন, কেন্দ্রিকবিহীন চিত্র তৈরি করতে মিশ্রিত ফাইলটি আপডেট করেছি। আপনি এখানে সমস্ত চিত্র ডাউনলোড করতে পারেন (* .png.zip) । আপডেট করা পিক্সেল কাউন্টার পাশাপাশি: আরও কিছু তথ্য আউটপুট দেয় এবং 1.25% নিয়ম পরীক্ষা করে।
টমাস ওয়েলার

উত্তর:


10

গণিত 126 119 109 বাইট

গাণিতিক কোনও চিত্রের একটি উপাদানটির দৈর্ঘ্য পরিমাপ করতে পারে। একটি পূর্ণ চাঁদ, পুরোপুরি প্রতিসাম্যযুক্ত হয়ে 0 থেকে 1 এর স্কেলে 0 এর দৈর্ঘ্য হয়।

একটি ক্রমহ্রাসমান চাঁদ সর্বাধিক মোটামুটি ০.৮ হয়ে যায় increasingly

0.998 -0.788 x-0.578 x^2 চাঁদের পূর্ণতা (অঞ্চল অনুযায়ী) এর পূর্বাভাস দেওয়া, যা এর প্রসারিত হওয়ার কারণে emp

আমি মডেলটি 1- 0.788 x -0.578 x^2এমনভাবে সমন্বিত করেছি যাতে ঠিক শূন্য প্রসারের (পূর্ণ চাঁদ) দিয়ে পিক্সেল স্কেল ফ্যাক্টরের জন্য মডেলটি 1 ফিরে আসবে। এটি 4 বাইট সংরক্ষণ করে এবং এখনও নির্ভুলতার সীমাতে থাকে।

এই মডেলটি কোনও আকারের চিত্রের জন্য ব্যবহৃত হয়। চাঁদের চিত্রটি কেন্দ্রীভূত করার দরকার নেই। এটি ছবির একটি নির্দিষ্ট অনুপাত আবরণ প্রয়োজন হয় না।

বৃহত চিত্র এবং ডেটা মাপসই করার জন্য উত্পন্ন প্যারাবলিক মডেলের জন্য এখানে ডেটা পয়েন্ট (দীর্ঘায়িত, প্রদর্শিত মুনপিক্সেলস / ফুলমুনপিক্সেলস) রয়েছে। লিনিয়ার মডেলগুলি ঠিক আছে, তবে চতুর্ভুজীয় মডেল সীমাবদ্ধতার মধ্যেই মারা গেছে (নীচে দেখুন)।

এখানে ডেটা বড় ছবি থেকে। মডেলটিও তাই

বড় ক্রিসেন্ট


নীচে, ডেটা (লাল পয়েন্টগুলি) ছোট ছবি থেকে প্রাপ্ত। মডেল (নীল বক্ররেখা) বড় চিত্রগুলির দ্বারা উত্পন্ন একটি, যা উপরে প্রদর্শিত হিসাবে একই।

সবচেয়ে ছোট ক্রিসেন্টের একটি পূর্ণিমার ক্ষেত্রফল .5.৫% রয়েছে। (বড় ফটোগুলির মধ্যে সবচেয়ে ছোট ক্রিসেন্টটি একটি পূর্ণ চাঁদের 19%)) চতুষ্কোণ মডেলটি যদি ছোট ফটোগুলির উপর ভিত্তি করে থাকে তবে নীচের ফিটটি আরও ভাল হত, কেবল এটি ছোট ক্রিসেন্টের জন্য উপযুক্ত ছিল। একটি শক্তিশালী মডেল, যা খুব ছোট ক্রিসেন্ট সহ বিভিন্ন অবস্থার অধীনে দাঁড়াবে, আরও বিভিন্ন ধরণের ছবি থেকে আরও ভালভাবে তৈরি করা যেতে পারে।

ফিটের ঘনিষ্ঠতা দেখায় যে প্রদত্ত ছবিগুলির জন্য মডেলটি হার্ড-কোডড ছিল না। আমরা মোটামুটি নিশ্চিত করতে পারি যে কোনও চাঁদের দৈর্ঘ্য ছবির আকারের তুলনায় স্বতন্ত্র, যেমনটি কেউ আশা করতে পারেন।

ছোট ক্রিসেন্ট

fচিত্রটিকে iইনপুট হিসাবে গ্রহণ করে এবং পূর্ণিমার পূর্বাভাসের আকারটিকে পিক্সেলে আউটপুট করে। এটি অফ-সেন্টার শটগুলির জন্য কাজ করে।

নীচের ডেটাগুলি যেমন দেখায়, এটি টেস্ট কেস বাদে সবগুলি। চাঁদগুলি পুরো থেকে কমিয়ে দেওয়ার জন্য সাজানো হয়েছিল।

i_~c~t_ := Max@ComponentMeasurements[i, t][[All, 2]];
f@i_ := i~c~"Count"/(1 - 0.788 x - 0.578 x^2 /. x -> i~c~"Elongation")

একাধিক চিত্রের উপাদান কোনও ফটোতে দেখা দিতে পারে। এমনকি অন্যগুলির থেকে পৃথক হওয়া একটি একক পিক্সেলও একটি স্বতন্ত্র উপাদান হিসাবে বিবেচিত হবে। এই কারণে, পিক্সেলের বেশি সংখ্যক রয়েছে এমন একটি সন্ধান করতে "সমস্ত" উপাদান অনুসন্ধান করা প্রয়োজন। (ছোট ফটোগুলির একটিতে একাধিক চিত্রের উপাদান রয়েছে))

বড় ছবি pictures

বড় ফটোগুলি থেকে তৈরি চাঁদের আকারের পূর্বাভাসগুলি সমানভাবে নির্ভুল ছিল।

{"predicted size of full moon", f[#] & /@ large}
{"accuracy", %[[2]]/16416}

full "পূর্বাভাসের আকারের পূর্বাভাস", {16422., 16270.9, 16420.6, 16585.5, 16126.5, 16151.6}}

acc "নির্ভুলতা", {1.00037, 0.991161, 1.00028, 1.01033, 0.982367, 0.983891}


ছোট ছবি

ছোট ফটোগুলি থেকে তৈরি চাঁদের আকারের পূর্বাভাসগুলি চূড়ান্ত চিত্রের এক দুর্দান্ত ব্যতিক্রম সহ অভিন্ন ছিল। আমি সন্দেহ করি যে বিষয়টি ক্রিসেন্টটি খুব সংকীর্ণ থেকে উদ্ভূত হয়েছে।

{"predicted sizes of full moon", f[#] & /@ small}
{"accuracy", %[[2]]/10241}

full "পূর্বাভাসের আকারের পূর্ণ চাঁদ", {10247.3, 10161., 10265.6, 10391., 10058.9, 7045.91} acc
"নির্ভুলতা", 000 1.00061, 0.992192, 1.0024, 1.01465, 0.982221, 0.68801}


মনে হচ্ছে ম্যাথমেটিকাকে একদিন শেখা উচিত। গল্ফ না করে সমাধান করতে আপনাকে কতক্ষণ সময় লাগল?
থমাস ওয়েলার

1
@ থমাস ডাব্লু আপনি পোস্ট দেখছেন এমন গ্রাফ না পাওয়া পর্যন্ত বিভিন্ন ধরণের চিত্র প্রক্রিয়াকরণ বৈশিষ্ট্য এবং অন্যান্য (রৈখিক) মডেলগুলির সাথে পরীক্ষার জন্য ২-৩ ঘন্টা সময় নিয়েছিল। কোডিং খুব কঠিন ছিল না। এবং একক ফাংশনে পৃথক ফাংশন একত্রিত করা ছাড়া অন্য কোনও গল্ফিং নেই।
ডেভিডসি

104:i_~c~t_:=Max[#2&@@@i~ComponentMeasurements~t];f@i_:=i~c~"Count"/(1-0.788x-0.578x^2/.x->i~c~"Elongation")
মার্টিন এন্ডার

অজানা কারণে, #2&@@@পরামর্শটি কাজ করে না
ডেভিডসি

হু, আমি পরে এটি দেখতে হবে। সংক্ষিপ্ত করার আরেকটি উপায় cহ'লc=Max@ComponentMeasurements[##][[All,2]]&
মার্টিন ইন্ডার

5

জে, 227 207 বাইট (সর্বাধিক ত্রুটি 1.9%)

আমার মূল ধারণাটি হ'ল আমরা যদি পূর্ণ চাঁদের কনট্যুরগুলিতে থাকা চাঁদের কনট্যুরের 3 টি পয়েন্টও খুঁজে পেতে পারি তবে আমরা এই পয়েন্টগুলির খৎনার গণনা করতে পারি । সেই সুন্নতটি পুরো চাঁদ হবে।

যদি আমরা সর্বাধিক দূরত্বে দুটি সাদা পয়েন্ট পাই তবে সেগুলি সর্বদা এ জাতীয় পয়েন্ট হবে কারণ তারা হয় পূর্ণিমাতে একটি প্রকৃত তির্যক বা ক্রিসেন্টের শেষ পয়েন্ট হবে। যে কোনও সূচনা পয়েন্ট থেকে আরও দূরে পয়েন্টটি নির্বাচন করে এবং তারপরে নির্বাচিত একটি থেকে পয়েন্ট দূরে নির্বাচন করে আমরা কোনও গ্রাফের সর্বাধিক দূরত্বের সাথে পয়েন্টের জুড়িটি খুঁজে পেতে পারি।

আমরা পূর্ববর্তী পয়েন্টগুলি থেকে দূরত্বের পণ্যগুলির সর্বাধিক মান সহ একটি তৃতীয় পয়েন্ট পাই find এটি সর্বদা কনট্যুর এবং ক্রিসেন্টের বাইরের দিকে বা গিব্বসের বড় দিকে থাকবে।

বিপরীত কোণটির সাইনাস দ্বারা বিভক্ত এক পক্ষের দৈর্ঘ্য হিসাবে খতনার বৃত্তটি গণনা করা হয়।

এই পদ্ধতির সময়-জটিলতা ইনপুট চিত্রের আকারে রৈখিক।

কোড

f=.3 :0
load'graphics/png'
i=.readpng y
p=.(,i=_1)#|:,"%.0 1|:,"0/&>/<@i."*$i
s=.%:+/|:*:(-1|.]) (([,],:m@(*&d))(m@d))(m=.p{~(i.>./)@])(d=.+/@:*:@((|:p)-])) 0{p
o.*:-:({.s)%0 o.((+/-2*{.)*:s)%2**/}.s
)

ফাংশনটি স্ট্রিং হিসাবে ইনপুট ফাইলের নাম আশা করে।

(একটি আরও অল্প পাঠযোগ্য সংস্করণ চেক পুনর্বিবেচনার ইতিহাসের জন্য))

কোড ব্যাখ্যা

  • p সাদা পিক্সেল স্থানাঙ্কের একটি তালিকা (ভবিষ্যতে পয়েন্টগুলি বলা হয়)
  • ফাংশন ডি পি এর উপাদান এবং একটি নির্দিষ্ট বিন্দুর মধ্যে দূরত্ব গণনা করে
  • s এর সংজ্ঞাটির দ্বিতীয় অংশটি 3-পয়েন্টের তালিকা তৈরি করে:

    • তালিকার প্রথম পয়েন্ট থেকে দূরতম পয়েন্ট এ
    • বি এ এর ​​সবচেয়ে দূরের বিন্দু B
    • সি একটি বিন্দু যা দূরত্বের সর্বাধিক মানের সাথে খ থেকে একগুণ দূরত্ব হয়
  • s হ'ল ত্রিভুজ এবিসির পাশের দৈর্ঘ্য

  • শেষ লাইনটি এবিসির খতরের ক্ষেত্রটি গণনা করে যা পূর্ণিমা

ফলাফল

বৃহত্তম ত্রুটিটি 1.9%।

চিত্রগুলি প্রশ্নের মতো একই ক্রমে রয়েছে।

Output  Accuracy
----------------
  16407 0.999453 NB. Large images
16375.3 0.997523
16223.9 0.988301
16241.5 0.989369
16262.6 0.990654
16322.1 0.994279
10235.3 0.999445 NB. Small images
10235.3 0.999444
10221.2 0.998067
10220.3 0.997978
  10212 0.997169
10229.6  0.99889
9960.42 0.997239 NB. Offset images
9872.22 0.988408
10161.8   1.0174
9874.95 0.988681
 9805.9 0.981768

অংশগ্রহণের এবং পদ্ধতির উল্লেখ করার জন্য +1। আমি দুঃখিত আমি কেন্দ্রটি মাঝখানে হওয়ার দরকার নেই তা নির্দিষ্ট করেছিলাম না। দুর্ভাগ্যক্রমে নমুনা চিত্রগুলি সমস্ত কেন্দ্রিক। সেটা আমার ভুল.
টমাস ওয়েলার

@ThomasW। আমি আমার উত্তরটি সংশোধন না করা পর্যন্ত সাময়িকভাবে আমার উত্তর মুছে ফেলেছি।
এলোমেলো

2

মতলব 162 156 (বর্তমান ত্রুটির মার্জিনে বেশ নয়)

প্রথমত: যথার্থতা 2% এর নীচে থাকে তবে দুটি সিরিজের প্রতিটিতে একটি চিত্র, যেখানে এটি আরও বেশি (প্রায় 5% এবং 14%)। আমার দৃষ্টিভঙ্গি চাঁদের দুটি পিক্সেল সন্ধান করেছিল যা একে অপরের থেকে অনেক দূরে এবং এরপরে ব্যাসের অনুমান হিসাবে এটি ব্যবহার করে।

a=imread(input(''));                 %read input image
b=a(:,:,1)>0;                        %binarize red channel
s=size(b);                           %get size of the image
[x,y]=meshgrid(1:s(1),1:s(2));       
z=(x+i*y).*b;z=z(z~=0);              %find the coordinates of all white pixels (as a list)
o=ones(size(z(:)))*z(:)';            
disp(max(max(abs(o-o.').^2))*pi/4);  %calculate the maximum of the distance between each possible pair and evaluate area formula

এগুলি নির্ভুলতার ফলাফল (স্বচ্ছল বিচ্যুতি 1 - (predicted size / real size))

0.0006 0.0025 0.0169 0.0500 0.0521 0.0113 0.0006 0.0006 0.0026 0.0472 0.1383 0.0131

1

সি # - 617

এই সমাধানটি সমস্ত চিত্রের জন্য কাজ করে না, কারণ চিত্রগুলির একটিতে slাল (এম) অনন্ত হয়ে যায়।

নীতিটি আগে উল্লেখ করা হয়েছিল:

  1. সর্বাধিক দূরত্ব (লাল) সহ দুটি পয়েন্ট সন্ধান করুন
  2. তাদের মধ্যে একটি রেখা কল্পনা করুন (লাল)
  3. মাঝখানে আয়তাকার কোণ সহ একটি রেখা কল্পনা করুন (সবুজ)
  4. সবুজ লাইনে সাদা পয়েন্টগুলি সন্ধান করুন
  5. অন্যান্য পয়েন্ট (সবুজ) থেকে সর্বাধিক দূরত্ব সহ একটি ব্যবহার করুন
  6. তিনটি পয়েন্ট থেকে একটি বৃত্তের ক্ষেত্রফল গণনা করুন

ব্যাখ্যা

সমস্যাযুক্ত কেসটি এটির এক, যেখানে opeাল অনন্ত। চিত্রটি 90 rot ঘোরানো বা কোডে yঅক্ষের পরিবর্তে অক্ষের উপর লুপ করে কাজ করা সম্ভব x

সমস্যাযুক্ত চাঁদ

double A(Bitmap b){var a=new List<P>();for(var y=0;y<b.Height;y++)for(var x=0;x<b.Width;x++)if(b.GetPixel(x,y).R>0)a.Add(new P{x=x,y=y});double c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,n=double.MaxValue;foreach(var h in a)foreach(var i in a){var t=Math.Sqrt(Math.Pow(h.x-i.x,2)+Math.Pow(h.y-i.y,2));if(t>c){d=h.x;f=i.x;e=h.y;g=i.y;c=t;}}c=(f-d)/(e-g);for(int x=0;x<b.Width;x++){int y=(int)(c*x+((e+g)/2-c*(d+f)/2));if(y>=0&&y<b.Height&&b.GetPixel(x,y).R>0){var s=(g-e)/(f-d);var q=(y-g)/(x-f);var j=(s*q*(e-y)+q*(d+f)-s*(f+x))/(2*(q-s));var k=-(j-(d+f)/2)/s+(e+g)/2;var l=(j-d)*(j-d)+(k-e)*(k-e);if(l<n)n=l;}}return Math.PI*n;}

সর্বনিম্ন নির্ভুলতা হয়

  • 256 পিক্সেল চিত্রের জন্য + 1,89%
  • 177 পিক্সেল চিত্রের জন্য -0.55%
  • অ-বর্গক্ষেত্র চিত্রগুলির জন্য -1.66%
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.