হেক্সাহেড্রাল কোষগুলির একটি কাঠামোগত জালকে সম্মানের সাথে পয়েন্টের একটি মেঘ সাজান


11

প্রশ্ন

আপনি হেক্সাহেড্রাল কোষগুলির একটি কাঠামোগত জাল সম্পর্কিত পয়েন্টের মেঘকে কীভাবে সাজবেন?

প্রতিটি কক্ষের এটির প্রতিনিধিত্ব করার জন্য একটি কেন্দ্র এবং একটি অনন্য লেবেল রয়েছে। মূলত দুটি ক্লাউড পয়েন্ট রয়েছে (আসল পয়েন্ট ক্লাউড এবং সেল সেন্টারগুলির একটি পয়েন্ট ক্লাউড), তবে সেল জ্যামিতির তথ্য (বাউন্ডিং বক্স) ব্যবহার হতে পারে, আমি নিশ্চিত নই।

ফলাফল

আমি আশেপাশে কিছু জিজ্ঞাসা করেছি এবং সাহিত্যের মাধ্যমে অনুসন্ধান করেছি:

যদি জালটি হেক্সাহেড্রাল এবং কাঠামোগত হয় তবে সমস্যাটি একটি অर्थোগোনাল রেঞ্জ অনুসন্ধানে কমে যায়। এই উদ্দেশ্যে, কেডি গাছ প্রায়শই ব্যবহৃত হয়। যদি কোনও অষ্ট্রি ডেটা কাঠামোর উপর ভিত্তি করে জালটি পরিমার্জন করা হয় তবে এর চারপাশে পরিসীমা অনুসন্ধান অ্যালগরিদম তৈরি করা যেতে পারে। লক্ষ্যটি হ'ল সরাসরি জাল জ্যামিতি নিয়ে কাজ করা এবং বিন্দু মেঘ A - পয়েন্ট মেঘের সম্পর্কের দিকে মনোনিবেশ করা। পয়েন্ট মেঘ A: ক্যোয়ারী পয়েন্টস, পয়েন্ট মেঘ বি: জাল সেল কেন্দ্রগুলি।


"(কোনও ধরণের) জালকে সম্মানের সাথে বাছাই করুন" বলার সময় আপনি কী বোঝাতে চেয়েছিলেন তা কি আপনি পরিষ্কার করতে পারেন? আপনি কি বাইনিং অ্যালগরিদম খুঁজছেন, (প্রতিটি ঘরে কতগুলি পয়েন্ট রয়েছে)?
Szabolcs

আমি আপনার প্রশ্নটি পুরোপুরি বুঝতে পারছি না, পয়েন্টগুলি বাছাইয়ের লক্ষ্য কী? জালকে আরও নিয়মিত করার মতো?
শুহাও কাও

কাঠামোগত স্ট্রাকচারাল জাল জুড়ে একটি পৃথক পয়েন্ট মেঘ ছড়িয়ে আছে। আমার সেল কেন্দ্রগুলি থেকে পয়েন্ট ক্লাউড এবং তার বিপরীতে ডেটা যোগাযোগ করা দরকার।
tmaric

1
@ টমিস্লাভ-মেরিক: আপনি কি দয়া করে উত্তর হিসাবে সমাধান সমাধান লিখতে পারেন, এবং তারপরে আপনার নিজের উত্তরটি গ্রহণ করতে পারেন? এই পদ্ধতিটি আপনার নিজের প্রশ্নের কার্যকরভাবে উত্তর দেওয়ার জন্য গৃহীত অনুশীলন, প্রশ্নটিতে "[সলভড]" ট্যাগ যুক্ত করার চেয়ে; এছাড়াও, এটি আপনাকে আরও খ্যাতি অর্জন করবে, কারণ লোকেরা আপনার উত্তরকে উজ্জীবিত করতে পারে।
জিওফ অক্সবেরি

উত্তর:


8

গুরুত্বপূর্ণ দ্রষ্টব্য: এই উত্তরটি আসল প্রশ্নের উত্তর দেয় না , তবে এটি অনুরোধ অনুযায়ী মুছে ফেলা হয়েছিল। বিব্রতকরভাবে আমি হেক্সাহেড্রাল এবং ষড়ভুজকে বিভ্রান্ত করেছি। প্রশ্নটি 3 ডি-তে স্বেচ্ছাসেবক কোষগুলিতে বিন্দু বাছাইয়ের বিষয়ে রয়েছে যখন এই দ্রবণটি 2 ডি-তে নিয়মিত ষড়্ভুজাকৃতি কোষগুলিতে বিন্যাস করে বা অনিয়মিত যেগুলি কোনও মাত্রায় কিছুটা ভোরোনাই প্রসারণের সাথে মিলে যায়। এই পদ্ধতিটি কেবল তখনই প্রযোজ্য যদি জাল প্রথম স্থানে ভোরোনাই প্রসারণ হিসাবে উত্পন্ন হয়েছিল (যা মাঝে মধ্যে ব্যবহৃত পদ্ধতি হিসাবে মনে হয় )।


আপনি এখানে সাজানোর মাধ্যমে কী বোঝাতে চাইছেন তা আমি নিশ্চিত নই, তবে আমি ধরে নিই যে আপনি বিমানটিকে বিন্দুতে ষড়ভুজীয় বিন্যাসে সাজিয়ে রাখতে চান।

ম্যাথামেটিকা ​​আমি জানি, তাই আমি আপনাকে ম্যাথামেটিকায় এটি কীভাবে করব তা দেখাতে চলেছি, তবে পদ্ধতিটি অন্য সিস্টেমে পোর্ট করা যায়। ধারণাটি হ'ল একটি ষড়্ভুজীয় জালটি ত্রিভুজাকার দ্বৈত: এটি ত্রিভুজাকার বিন্যাসে পয়েন্টের ভোরোনাই চিত্র হিসাবে তৈরি করা যেতে পারে। মেঘের একটি বিন্দু প্রদত্ত ষড়্ভক্ষুর অন্তর্ভুক্ত যদি এটি অন্য ষড়্ভুজের কেন্দ্রের চেয়ে সেই ষড়্ভুজের কেন্দ্রের কাছাকাছি থাকে।

এই পদ্ধতিটি বিভিন্ন আকারের মেসের জন্যও কাজ করবে, যতক্ষণ না সেগুলি বিন্দু বিন্যাসের ভোরোনাই চিত্র হিসাবে তৈরি করা যায়। (যেমন হেক্সাগনগুলির নিয়মিত হওয়ার দরকার নেই))


জাল জেনারেট করা যাক। এটি একটি ত্রিভুজ জালিয়াতি:

pts = Join @@ Table[{x, Sqrt[3] y}, {x, 0, 4}, {y, 0, 2}];

points = Join[pts, TranslationTransform[{1/2, Sqrt[3]/2}] /@ pts];

Needs["ComputationalGeometry`"]
PlanarGraphPlot[points, LabelPoints -> False]

গণিত গ্রাফিক্স

এর দ্বৈত হিক্সাগোনাল যা আমরা আগ্রহী:

DiagramPlot[points, LabelPoints -> False]

গণিত গ্রাফিক্স

এটি কোনও ফাংশন তৈরি করে nfযা ষড়ভুজ কেন্দ্রের সূচকটি খুঁজে পায় যা কিছু ক্লাউড পয়েন্ট সবচেয়ে নিকটে থাকে। এটি পদ্ধতির মূল চাবিকাঠি:

nf = Nearest[N[points] -> Range@Length[points]];

এখন 1000 টি এলোমেলো পয়েন্টের একটি মেঘ জেনারেট করে এগুলি এর সাথে বাছাই করুন nf:

cloud = RandomReal[{-1/2, 5}, {1000, 2}];

indices = First /@ nf /@ cloud;

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

Histogram[indices]

গণিত গ্রাফিক্স

... বা তাদের প্রতিটি রঙ ...

Show[
 DiagramPlot[points, LabelPoints -> False],
 Graphics@MapThread[{ColorData[3][#1], Point[#2]} &, {indices, cloud}],
 PlotRange -> All, AspectRatio -> Automatic
 ]

গণিত গ্রাফিক্স

... বা আমরা চাই কোনও ধরণের অভিনব দৃশ্যায়ন করুন।

tally = Tally[indices];

ListDensityPlot[Join[points, List /@ Sort[tally][[All, 2]], 2], 
 InterpolationOrder -> 0, 
 Epilog -> (Text[#2, points[[#1]]] & @@@ tally), 
 PlotRange -> {{-.5, 5}, {-.5, 5}}, Mesh -> All, 
 ColorFunction -> (ColorData["BeachColors"][1 - #] &)]

গণিত গ্রাফিক্স


এখানে মূল পয়েন্টটি হ'ল ফাংশন যা কোনও কিছুর সবচেয়ে নিকটতম বিন্দু খুঁজে পায় ( Nearest)। ম্যাথমেটিকায় এটি অন্তর্নির্মিত রয়েছে, তবে এমন একটি সুযোগ আছে যা আপনার সিস্টেমের মধ্যে নেই। যদি এটি হয় তবে দয়া করে এই জাতীয় ফাংশন কীভাবে কার্যকরভাবে প্রয়োগ করতে হবে (বা যদি প্রক্রিয়া করার জন্য আপনার কাছে বিশাল পরিমাণের পয়েন্ট না থাকে তবে নিখুঁত লিনিয়ার সময় বাস্তবায়নের সাথে যান) দয়া করে এই প্রশ্নটি দেখুন ।


অনেক ধন্যবাদ! মূলত আমার যা দরকার তা হ'ল একটি সম্পর্ক যা প্রতিটি পয়েন্ট এবং একটি "বিন" এর মধ্যে একটি সংযোগ দেখায় যেহেতু আপনি এটি বলেছেন (3 মাত্রিক হেক্সাহেড্রাল বাক্স)। আপনার প্রস্তাবিতটি খুব আকর্ষণীয় বলে মনে হচ্ছে, তবে আমি লক্ষ লক্ষ বাক্স এবং কয়েক হাজার পয়েন্ট সম্ভাব্যতার সাথে জালিয়াতি করছি more প্রশ্নটি কী আরও বেশি ব্যয় করে: দ্বৈত জাল সৃষ্টি বা "বিন" বাউন্ডিং বাক্সগুলির সাথে কাজ করে এবং কেডি ব্যবহার করে অনুসন্ধানের জন্য গাছ। আমি এই বিষয়টিতে খুব নতুন, তাই আমি সত্যই ভুল পথে যেতে চাই না।
tmaric

@ টমিস্লাভ-মেরিক আমি দুঃখিত আপনার প্রশ্নটি ভুল বুঝেছি। দুর্ভাগ্যক্রমে আমি এই বিষয়েও নতুন এবং আমি এর সাথে পরিচিতও ছিলাম না-ড গাছগুলি কয়েক দিন আগে (আপনি যে SO প্রশ্নের সাথে লিঙ্ক করেছেন তা দেখতে পাবেন)। এছাড়াও, আমি নিশ্চিত নই যে আপনার জালটি কোনও ভোরোনাই পরীক্ষার সাথে সামঞ্জস্য করতে পারে (সম্ভবত না), তাই আমার পদ্ধতিটি এখানে অকেজো হতে পারে। আমি এই উত্তরটি বিভ্রান্তিকর বলে মুছে ফেললে সবচেয়ে ভাল বলে আমি মনে করি।
Szabolcs

এটি অবশ্যই মুছবেন না, কেউ এটি দরকারী মনে করতে পারেন! :) এটি সমস্যার সমাধান হতে পারে যা সমস্যা সমাধান করবে, আমি এটিকে পড়া না হওয়া পর্যন্ত আমি এখনও এটি গ্রহণ করতে পারি না।
tmaric

এবং এই ধরনের একটি উত্তরের জন্য ধন্যবাদ, আমি যদি আপনাকে আরও পয়েন্ট দিতে পারতাম! :)
tmaric

@ টমিস্লাভ-মেরিক ভোটের দিকে তাকিয়ে, আমি উদ্বিগ্ন যে আমার উত্তরটি আপনার কোনও কার্যকর পাওয়ার সম্ভাবনা হ্রাস পাবে বা ভুল বোঝাবুঝিতে অবদান রাখবে। আমি মনে করি এটি মুছে ফেললে এটি আরও উত্পাদনশীল।
Szabolcs
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.