এখানে এমন একটি পোস্ট রয়েছে যার অনুরূপ প্রকারের সিমুলেশনগুলি সম্পর্কিত (কাগজগুলির লিঙ্কগুলি রয়েছে গেমসের চেয়ে প্রকৌশল / একাডেমিক প্রসঙ্গে): https://gamedev.stackexchange.com/a/10350/6398
আমি এই ধরণের "ওয়্যার" সিমুলেশন (সংঘটিত উমিহার কাওয়াসে) এর জন্য সংঘর্ষ সনাক্তকরণ + প্রতিক্রিয়া সম্পর্কে কমপক্ষে দুটি ভিন্ন পদ্ধতির চেষ্টা করেছি; কমপক্ষে, আমি মনে করি এটি আপনি যা পরে রয়েছেন - এই ধরণের সিমুলেশনটির জন্য নির্দিষ্ট শব্দ বলে মনে হয় না, আমি কেবল "দড়ি" না দিয়ে "তারের" বলি কারণ এটি বেশিরভাগ লোকের মতোই মনে হয় "দড়ি" কে "কণার একটি শৃঙ্খলা" এর সমার্থক হিসাবে বিবেচনা করুন। এবং, আপনি যদি নিনজা রশিটির স্টিক-ইশ আচরণ চান (যেমন এটি ধাক্কা দিতে পারে এবং টানতে পারে), এটি দড়ির চেয়ে দৃ sort়তর তারের মতো আরও বেশি। যাই হোক ..
পেকুজার উত্তর ভাল, আপনি তিনটি পয়েন্টের স্বাক্ষরিত ক্ষেত্রটি 0 হলে সময়ের জন্য সমাধান করে অবিচ্ছিন্ন সংঘর্ষ সনাক্তকরণ কার্যকর করতে পারেন।
(আমি ওটিওএইচকে পুরোপুরি স্মরণ করতে পারি না তবে আপনি এটি নিম্নলিখিত হিসাবে পৌঁছাতে পারেন: খ, সি এর মধ্য দিয়ে যাওয়ার সময় বিন্দু এ থাকা সত্ত্বেও সময়টি সন্ধান করুন (আমি মনে করি যে আমি কখন বিন্দু (আব, সিবি) সমাধান করে এটি করেছি) টি এর মানগুলি সন্ধান করতে), এবং তারপরে একটি কার্যকর সময় 0 <= t <1 দিয়ে দেওয়া হবে, বিভাগের বিসিতে a এর প্যারাম্যাট্রিক অবস্থানের সন্ধান করুন, যেমন a = (1-s) বি + এস সি এবং যদি এর মধ্যে থাকে বি এবং সি (যেমন 0 <= s <= 1) এটি একটি বৈধ সংঘর্ষ।
এএএফআইসিআর আপনি অন্যান্য উপায়েও এটির কাছে যেতে পারেন (অর্থাত্ সমাধান করুন এবং এরপরে এটি অনুসন্ধান করতে টি খুঁজে বের করুন) তবে এটি অনেক কম স্বজ্ঞাত। (আমি এটির কোনও অর্থ না বুঝে দুঃখিত, আমার নোটগুলি খননের জন্য আমার কাছে সময় নেই এবং এটি কয়েক বছর কেটে গেছে!))
সুতরাং, আপনি এখন ঘটনাগুলি যে সময়ে ঘটে তা গণনা করতে পারেন (অর্থাত দড়ি নোডগুলি sertedোকানো বা অপসারণ করা উচিত); প্রারম্ভিক ইভেন্টটি প্রক্রিয়া করুন (একটি নোড সন্নিবেশ করুন বা সরান) এবং তারপরে পুনরাবৃত্তি করুন / পুনরাবৃত্তি করুন যতক্ষণ না টি = 0 এবং টি = 1 এর মধ্যে কোনও ইভেন্ট না ঘটে।
এই পদ্ধতির সম্পর্কে একটি সতর্কতা: যদি দড়িটি চারপাশে গুটিয়ে রাখতে পারে যে বস্তুগুলি গতিশীল হয় (বিশেষত যদি আপনি তাদের এবং দড়ির উপরের প্রভাবগুলি সিমুলেট করে থাকেন এবং এর বিপরীতে) তবে সমস্যাগুলি হতে পারে যদি সেই বস্তুগুলি প্রতিটি ক্লিপ করে / পাস করে তবে অন্যান্য - তারে জটলা হতে পারে। এবং বাক্স 2 ডি-স্টাইলের পদার্থবিজ্ঞানের সিমুলেশনে এই ধরণের মিথস্ক্রিয়া / চলন (বস্তুর কোণগুলি একে অপরের মধ্য দিয়ে পিছলে যায়) প্রতিরোধ করা অবশ্যই চ্যালেঞ্জ হবে .. বস্তুর মধ্যে স্বল্প পরিমাণে অনুপ্রবেশ সেই প্রসঙ্গে স্বাভাবিক আচরণ।
(কমপক্ষে .. এটি আমার "তারের" প্রয়োগের একটিতে সমস্যা ছিল))
একটি ভিন্ন সমাধান, যা অনেক বেশি স্থিতিশীল তবে কিছু শর্তের মধ্যে কিছু সংঘর্ষের হাতছাড়া হয় তা হ'ল স্থির পরীক্ষাগুলি ব্যবহার করা (যেমন সময় অনুসারে ক্রম নিয়ে চিন্তিত হবেন না, প্রতিটি বিভাগকে সংঘর্ষে পুনরাবৃত্তভাবে সাবডিভিড করে যখন আপনি এটি পেয়েছেন) যা হতে পারে আরও অনেক দৃust় - তারে কোণে জটায় না এবং অল্প পরিমাণে অনুপ্রবেশ ভাল হবে।
আমি মনে করি পেকুজা এর দৃষ্টিভঙ্গি এটির জন্যও কার্যকর, তবে বিকল্প পদ্ধতি রয়েছে। আমি যে পদ্ধতির ব্যবহার করেছি তা হ'ল সহায়ক সংঘর্ষের ডেটা যুক্ত করা: বিশ্বের প্রতিটি উত্তল ভার্টেক্স ভিতে (যেমন আকারের কোণগুলি যা দড়িটি প্রায় আবৃত করতে পারে), একটি বিন্দু যুক্ত করে নির্দেশিত রেখাংশটি ইউভি গঠন করে যেখানে আপনি কিছু "কোণার অভ্যন্তরে" বিন্দু করুন (অর্থাত্ বিশ্বের অভ্যন্তরে, "পিছনে" ভি; আপনি গণনা করতে আপনি একটি বিরক্তিকর স্বাভাবিক বরাবর ভি থেকে একটি রশ্মি অভ্যন্তরের দিকে নিক্ষেপ করতে পারেন এবং ভি এর পরে বা রশ্মিটি বিশ্বের প্রান্তের সাথে ছেদ করার আগে কিছু দূরত্ব থামিয়ে দিতে পারেন) শক্ত অঞ্চলটি থেকে বেরিয়ে আসে Or অথবা, আপনি কেবলমাত্র একটি ভিজ্যুয়াল সরঞ্জাম / স্তরের সম্পাদক ব্যবহার করে বিশ্বে অংশগুলিকে রঙ করতে পারেন)।
যাইহোক, আপনার কাছে এখন "কর্নার লিনিজস" ইউভির একটি সেট রয়েছে; প্রতিটি ইউভি এবং তারে প্রতিটি সেগমেন্টের জন্য, আব এবং ইউভি ছেদ করে কিনা তা পরীক্ষা করুন (অর্থাত্ স্থির, বুলিয়ান লিনিগ-লিনিগ ছেদ কোয়েরি); যদি তা হয় তবে পুনরাবৃত্তি করুন (লিনিগ অ্যাবকে এভ এবং ভিবিতে বিভক্ত করুন, অর্থাৎ ভি সন্নিবেশ করান), যা দড়িটি বাম দিকে বাঁকানো রেকর্ডিং করে। তারপরে প্রতিবেশী লিনিগস আব্বার প্রতিটি জোড়ের জন্য, বিসি তার বর্তমান বক্র দিকের পরীক্ষা করুন কিনা বি উত্পন্ন হওয়ার সময় একই ছিল (এই সমস্ত "বাঁক দিকনির্দেশ" পরীক্ষাগুলি সাইন-এরিয়া টেস্টগুলি কেবল) যদি তা না হয় তবে দুটি বিভাগকে এসিতে বিভক্ত করুন (অর্থাত্ বি সরান)।
অথবা হতে পারে আমি একীভূত হয়ে আলাদা হয়ে গেলাম, আমি ভুলে গিয়েছি - তবে এটি সম্ভবত দুটি সম্ভাব্য অর্ডারের মধ্যে কমপক্ষে একটিতে কাজ করে! :)
বর্তমান ফ্রেমের জন্য গণনা করা সমস্ত তারের বিভাগগুলি দেওয়া, আপনি তারপরে দুটি তারের শেষের পয়েন্টগুলির মধ্যে একটি দূরত্বের সীমাবদ্ধকরণটি অনুকরণ করতে পারেন (এবং আপনি এমনকি অভ্যন্তরীণ পয়েন্টগুলিও জড়িত করতে পারেন, যেমন তারের এবং বিশ্বের মধ্যে যোগাযোগের পয়েন্টগুলি, তবে এটি খানিকটা বেশি জড়িত )।
যাইহোক, আশা করি এটি কিছুটা কাজে আসবে ... আমি যে লিখিত পোস্টগুলিতে লিঙ্ক করেছি সেগুলিও আপনাকে কিছু ধারণা দেয়।