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