2 লাইন মুখোমুখি বা দূরে থাকলে আপনি কীভাবে গণনা করবেন?


10

2 টি রেখাংশকে বর্ণনা করে 4 পয়েন্ট দেওয়া, লাইন A লাইন B এর দিকে বা দূরে থাকলে আপনি কীভাবে গণনা করবেন?

২ টি লাইনের একটি নির্দিষ্ট দৈর্ঘ্য রয়েছে এবং এটি x1 / y1 থেকে x2 / y2 এর দূরত্ব হিসাবে পরিমাপ করা যেতে পারে।

এখানে চিত্র বর্ণনা লিখুন


বেজিয়ার বক্ররেখার ক্ষেত্রে কীভাবে সরলরেখার সাথে কেস আলাদা? আপনার কি এমন বক্ররেখা রয়েছে যা সম্পূর্ণরূপে অন্য রেখাকে ঘিরে রাখতে পারে (যাতে প্রতিটি দিক "দিকে" নির্দেশ করবে)?
বামমজ্যাক

1
আপনার সম্ভবত আপনার শর্তাদি পরিষ্কার করা দরকার। জ্যামিতিতে, একটি "লাইন" অর্ধ-রেখা বা বিভাগের বিপরীতে উভয় দিকেই সীমাহীনভাবে প্রসারিত হয়, সুতরাং 2 লাইনগুলি সমান্তরাল না হলে সর্বদা অতিক্রম করে। আপনি কোন একটি সম্পর্কে জিজ্ঞাসা করছেন? আপনি একটি তীর আঁকেন, যা দিক নির্দেশ করে, যা আমার কাছে কোনও বিভাগকে বোঝায় বা সর্বাধিক অর্ধ-রেখাকে বোঝায়। এবং আপনার "প্রতি" এবং "দূরে" সংজ্ঞা কী?
হ্যাকওয়ার্থ

রেজি-রেখা ছেদ করা পরীক্ষাটি সমাধান করার জন্য প্রয়োজনীয় সমতায় প্রতিনিধিত্ব করা বেজিয়ার বক্ররেখা আরও শক্ত হতে পারে। যাইহোক, আমি এমন শব্দটি পরিবর্তন করেছি যা আপনার তীরটিকে "রে" হিসাবে উপস্থাপন করে। আপনি একটি দ্রুত সাড়া পেতে পারে। দুপুরের খাবারের সময় সময় পেলে অন্য কেউ না করলে আমি এটার উত্তর দেব। যদি তা না হয় তবে এটি গেমগুলির মধ্যে একটি অত্যন্ত সাধারণ কাজ। গুগল "রে লাইন বিভাগটি ছেদ করে পরীক্ষা"। বেজিয়ার কার্ভ পরীক্ষাটি একইরকম বলে আমি সন্দেহ করি তবে আমি কখনও এটি ব্যবহার করে দেখিনি।
ব্র্যান্ডন

3
আপনার প্রশ্নটি দুটি ভাগে ভাগ করা উচিত। লাইন বিভাগগুলির সাথে অংশটি খুব সহজ। বেজিয়ার কার্ভগুলি সহ অংশটি অত্যন্ত জটিল এবং কেবলমাত্র আনুমানিক সংখ্যাসূচক সমাধান রয়েছে।
সাম হোচেভার

অনুরোধ অনুসারে আমি আমার প্রশ্নটি 2 এ বিভক্ত করেছি। ২ য় খণ্ডটি
প্রশ্নগুলি

উত্তর:


11

যাক Aএবং Bকালো লাইনে দুই পয়েন্ট হতে হবে। আসুন Cএবং Dআপনার নীল বিভাগ হতে। zক্রস প্রোডাক্টের স্থানাঙ্কের সাইন AB^ACআপনাকে জানায় Cযে কালো লাইনের "বাম" বা "ডান" আছে কিনা । একইভাবে, ক্রস প্রোডাক্ট AB^CDআপনাকে বলবে যে CDস্টিয়ারগুলি "কালো" রেখার "বাম" বা "ডান" কিনা ।

এটি সত্যই বাম বা ডান কিনা তা আমরা জানতে চাই না; আমরা যা চাই তা হ'ল তা নিশ্চিত করা যে তারা একই দিক বা বিপরীত দিক, সেজন্য আমরা দুটি মানকেই গুণ করি।

নিম্নলিখিত সিউডোকোডের কাজ করা উচিত:

z1 = (xB-xA)*(yC-yA) - (yB-yA)*(xC-xA);
z2 = (xB-xA)*(yD-yC) - (yB-yA)*(xD-xC);
z3 = z1 * z2;

if (z3 < 0)
    ; /* Pointing towards (BUT maybe even crossing) */
else if (z3 > 0 || z2 != 0)
    ; /* Pointing away */
else
    ; /* Parallel */

আমি ভীত, বেজিয়ার বক্ররেখা জন্য সঠিক সমাধান লিখতে আমার কিছুটা সময় প্রয়োজন। নিম্নলিখিত পরিস্থিতি দিকে বা দূরে?

সমস্যা?


বক্ররেখার জন্য, আমি বিশ্বাস করি আপনি আপনার রেখাংশের নিকটতম বিন্দুতে বক্ররেখার স্পর্শকটি খুঁজে পেতে এবং এটি আপনার অন্যান্য লাইন বিভাগগুলিকে পরীক্ষা করার পদ্ধতিতে ব্যবহার করতে পারেন। সম্ভবত একটু বেশি কঠিন শোনাচ্ছে :)
notlesh

@ স্টেফেল্টন: বেজিয়ার কার্ভগুলির জন্য দ্বিতীয় ছবিতে আবার তাকান, একটি বক্ররেখার দিকে ইঙ্গিত করে যা বাঁকগুলি দূরে থাকে। অথবা সম্ভাব্য ছেদকৃত অংশের সমান্তরাল একটি স্পর্শক সমেত একটি বক্ররেখা বিবেচনা করুন, তবে যা বিভাগটির দিকে বক্ররেখা এবং ছেদ করে।
ক্যাস্যাবেল

ট্রলফেসের জন্য +1, এবং ভাল গণিত :)। তবে আপনার 'দিকে' ডায়াগ্রামটি আসলে এখনও একটি 'দূরে' রয়েছে - কেবল রেখার উপরে প্রারম্ভিক বিন্দুটি সরান।
জোনাথন ডিকিনসন

@ জোনাথন ডিকিনসন ধন্যবাদ, আমি আমার জিজ্ঞাসাবাদ কী তা চিত্রটিকে কিছুটা পরিষ্কার করার জন্য ছবিটি আপডেট করেছি!
সাম হোচেভার

2

ধরে নেওয়া শুরুর পয়েন্টটি সবুজ বৃত্ত এবং শেষ পয়েন্টটি হল লাল তীর

প্রারম্ভের পয়েন্টের ডিএস এবং কালো বিভাগের মধ্যে দূরত্ব গণনা করুন এবং ডিই হিসাবে শেষ পয়েন্ট (লাল তীর) জন্য একই করুন। ডিএস> ডি যদি হয় তবে সেগমেন্টটি নির্দেশ করছে। যদি ডি> ডিএস, এটি দূরে নির্দেশ করছে। উভয় সমান হলে, দুটি সমান্তরাল হয়।

আপনি একটি সেগমেন্ট করার জন্য একটি বিন্দু থেকে দূরত্ব গনা কিভাবে জানতে পারেন এখানে এবং একটি দ্বিঘাত বেজিয়ে কার্ভ জন্য, এখানে । যাইহোক, বেজিয়ার বক্রের আকারের উপর নির্ভর করে এটি অদ্ভুত ফলাফল ফিরে আসতে পারে (বক্ররেখা নিজেই অতিক্রম করতে পারে)


ডিএস> ডিই কেবলমাত্র সোজা লাইনের জন্য কাজ করার গ্যারান্টিযুক্ত। এটি বেজিয়ার্সের জন্য ব্যর্থ হতে পারে। এছাড়াও, আপনি "দিকে" তার সংজ্ঞা জানেন না। তীরটির প্রসার যদি 2 পয়েন্ট দ্বারা সংজ্ঞায়িত রেখাটি অতিক্রম করে তবে একই পয়েন্ট দ্বারা বিভক্ত বিভাগটি না হয়, তবে কি এটি এখনও "দিকে"?
হ্যাকওয়ার্থ

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