চলমান গোলকের মধ্যে সংঘর্ষ সনাক্ত করার জন্য একটি ভাল অ্যালগরিদম কী?


27

যদি (সংঘর্ষ সনাক্তকরণের উদ্দেশ্যে) 3 ডি অবজেক্টগুলি গোলকের দ্বারা কোনও গেমটিতে প্রতিনিধিত্ব করা হয় তবে গোলকের মধ্যে সংঘর্ষ সনাক্তকরণে ভাল অ্যালগরিদম কী?

যদি প্রতিটি বস্তুর সর্বশেষ ফ্রেমের অবস্থান এবং একটি নতুন (পছন্দসই) অবস্থান থাকে তবে একটি ভাল অ্যালগরিদম কী এমন সংঘর্ষগুলি সনাক্ত করবে যেখানে গোলকগুলি পূর্ববর্তী ফ্রেমে ছেদ না করে এবং তারা দ্বিতীয় ফ্রেমে ছেদ না করতে পারে, তবে তারা কি কোথাও ছেদ করে?

উত্তর:


18

মূলত আপনি একটি সন্ধান খুঁজছেন।

এই পৃষ্ঠাটি সম্ভবত আপনাকে সহায়তা করবে: http://www.realtimerendering.com/intersections.html

চলন্ত গোলক / গোলক: (অবস্থান) স্থির গোলকের সাথে চলমান গোলকের ব্যাসার্ধ যুক্ত করুন এবং চলন্ত গোলকটিকে একটি রশ্মি হিসাবে বিবেচনা করুন। রে / গোলক ছেদটি সম্পাদন করতে এই রশ্মিটি ব্যবহার করুন। গোমেজ দেখুন; কোডের জন্য শ্রোয়েডার (নিবন্ধটি ডেরিভিয়েশনে বাগ রয়েছে, কোডটি ভাল); এবং আরটিআর 2, পি। 622।


1
উভয় ক্ষেত্র সরে গেলে এটি কাজ করে না, (আপনি এটি দুটিবার করলেও নয়)। আমার কাছে মনে হয় যে আপনাকে প্রথমে বিস্তৃত আন্দোলন a এবং একটি বিস্তৃত আন্দোলন বি এর রেখাগুলির মধ্যে একটি দূরত্ব পরীক্ষা করতে হবে এবং যদি এটি ব্যাসার্ধের A + ব্যাসার্ধের চেয়ে কম হয় তবে আপনার একটি সম্ভাব্য সংঘর্ষ হবে। এর পরে আমি একটি চেক করব যাতে গোলক a এর জন্য সেই বিন্দুটি ঠিক কোথায় এবং সময়টি নিকটে রয়েছে কিনা তা দেখার জন্য গোলক খের জন্য। যদি তাই হয় তবে আমি সেই সময়ের জন্য দূরত্বের বিপরীতে গতি পরীক্ষা করতে পারতাম, যদি এটি এখনও একটি সম্ভাব্য সংঘর্ষ হয় তবে আমি পদক্ষেপ সংশোধন করব do
কাজ

15
আসলে এটি করে, আপনাকে কেবল আন্দোলনটিকে আপেক্ষিক করে তুলতে হবে। সুতরাং যদি উভয় গোলক আপনাকে সরিয়ে নিয়ে যায় তবে আপনি কেবল উভয়টি থেকে একটি গোলকের গতি বিয়োগ করতে পারেন যাতে আপনার একটি "চলমান" গোলক এবং একটি "স্থির" ক্ষেত্র থাকে। তারপরে আপনি উপরেরটি ব্যবহার করতে পারেন।
টেট্রাড


4

আমার মাথার উপরে:

  1. প্রতিটি বৃত্তের মাঝামাঝি থেকে দুটি লাইন বিভাগ তৈরি করুন যেখানে সেখান থেকে শুরু হয়েছিল যেখানে time সময়ের পদক্ষেপে সরানো হয়েছিল।
  2. এই দুটি লাইন বিভাগের মধ্যে ন্যূনতম দূরত্বটি সন্ধান করুন; যেমন এখানে ব্যাখ্যা করা হয়েছে
  3. যদি সেই দূরত্বটি প্রথম বৃত্তের ব্যাসার্ধের ব্যাসার্ধের চেয়ে কম বা সমান হয় তবে তারা সংঘর্ষ করে; অন্যথায় তারা না।

এবং এটি এখানে যা আছে, আমি আশা করি এটি খুব দ্রুত হবে।


1

এখানে আরও একটি চমৎকার গামাসাতুর নিবন্ধ।


1
আমি বুঝতে পারি এটি 7 বছর পরে, তবে এই উত্তরটি কেবল লিঙ্ক। ভাগ্যক্রমে লিঙ্কটি এখনও জীবিত, তবে এটি না থাকলে আপনার উত্তরটি ... উত্তর হবে না।
ড্রাকো 18

0

এই কাজটি করেছেন এমন কেউ হিসাবে কথা বলছেন: ঝামেলা করার মতো নয় । আপনার গেম ডিজাইনটি একেবারেই প্রয়োজন না হলে এবং এটি প্রায় নিশ্চিতভাবেই না ঘটে, আপনি সত্যিকারের প্রত্যাশার চেয়ে আরও বেশি পরিশ্রম ব্যয় করতে ব্যয় করবেন। এবং এটি আপনি যা চেয়েছিলেন তার চেয়ে ধীর হবে।


আপনারা জানেন এমন সকলের জন্য তিনি একটি পুল গেম তৈরি করতে পারেন।
কাজ

যদি সে একটি পুল গেম তৈরি করছিল তবে তার "গেমের নকশাটি একেবারে এটির প্রয়োজন"
deft_code

আপনি ঠিক বলেছেন, চাকাটি পুনরায় উদ্ভাবন করবেন না । তবে কেবল মাত্রা ছাড়ানোর জন্য এটি মূল্যবান হতে পারে।
ব্যবহারকারী 712092

4
আমি উত্তর হিসাবে প্রত্যক্ষ হতাশার সাথে একমত নই ।
বোবোবো

আমি @ ববোবোবো এর সাথে একমত, প্রশ্নটি যদি ঝামেলা বা মূল্যহীন না হয় তবে তা নয়, কোনও ভবিষ্যতের ব্যবহারকারী যে এই থ্রেডটি দেখেন তার ব্যয় নির্বিশেষে একেবারে উত্তর প্রয়োজন হতে পারে। এটি মন্তব্য হিসাবে ভাল হবে।
টমটস্যাগ্ক

0

নেই Flipcode উপর গণিত সঙ্গে সংঘর্ষের সনাক্তকরণ আহরিত সম্পর্কে নিবন্ধ । এটি বৃত্ত-cirle আছে। ঠিক কীভাবে সংঘর্ষের পয়েন্টটি সনাক্ত করতে হবে এবং আদৌ কোনও সংঘর্ষ রয়েছে কিনা তা পরীক্ষা করে দেখুন।


আমি বুঝতে পারি এটি 7 বছর পরে, তবে এই উত্তরটি কেবল লিঙ্ক। ভাগ্যক্রমে লিঙ্কটি এখনও জীবিত, তবে এটি না থাকলে আপনার উত্তরটি ... উত্তর হবে না।
ড্রাকো 18

0

চলন্ত অবজেক্টের জন্য সংঘাত সনাক্তকরণকে সাধারণত "সোয়েপ্ট ভলিউম গণনা" বলা হয়, এখানে এই বিষয় সম্পর্কে কিছু কোড / নিবন্ধ রয়েছে।

http://www.gpu-voxels.org/demos/ (ডেমো)

উত্স কোড লাইব্রেরি:

https://github.com/fzi-forschungszentrum-informatik/gpu-voxels

https://libigl.github.io/tutorial/#swept-volume

https://github.com/gradientspace/geometry3Sharp

প্রবন্ধ:

http://gamma.cs.unc.edu/SV/sm03.pdf

https://www.cs.columbia.edu/~allen/PAPERS/abram.swept.pdf (দুর্ভাগ্যক্রমে কোনও উত্স কোড নেই)

http://www.realtimerendering.com/intersections.html (লিঙ্কগুলির পরিবর্তে ভারী সংগ্রহ)


1
যে উত্তরগুলিতে কেবল একটি লিঙ্ক থাকে (বা এই ক্ষেত্রে বেশ কয়েকটি) প্রকৃত উত্তর থাকে না। আপনার পোস্টে প্রাসঙ্গিক তথ্য অন্তর্ভুক্ত করা উচিত যাতে সেই লিঙ্কগুলি মরে গেলে আপনার পোস্টটি এখনও বোধগম্য।
ড্রাকো 18

লিঙ্কগুলির পিছনে তথ্য এই মুহূর্তে আমার চেয়ে কিছুটা ভাল ব্যাখ্যা করে। লিঙ্কগুলির পিছনে ডেমো ভিডিও রয়েছে, যা বাস্তব সময়ে কী ঘটছে সে সম্পর্কে কিছু ধারণা দেয়।
টারমোপিকারো

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