2 টি রেখাংশকে বর্ণনা করে 4 পয়েন্ট দেওয়া, লাইন A লাইন B এর দিকে বা দূরে থাকলে আপনি কীভাবে গণনা করবেন?
২ টি লাইনের একটি নির্দিষ্ট দৈর্ঘ্য রয়েছে এবং এটি x1 / y1 থেকে x2 / y2 এর দূরত্ব হিসাবে পরিমাপ করা যেতে পারে।
2 টি রেখাংশকে বর্ণনা করে 4 পয়েন্ট দেওয়া, লাইন A লাইন B এর দিকে বা দূরে থাকলে আপনি কীভাবে গণনা করবেন?
২ টি লাইনের একটি নির্দিষ্ট দৈর্ঘ্য রয়েছে এবং এটি x1 / y1 থেকে x2 / y2 এর দূরত্ব হিসাবে পরিমাপ করা যেতে পারে।
উত্তর:
যাক 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 */
আমি ভীত, বেজিয়ার বক্ররেখা জন্য সঠিক সমাধান লিখতে আমার কিছুটা সময় প্রয়োজন। নিম্নলিখিত পরিস্থিতি দিকে বা দূরে?
ধরে নেওয়া শুরুর পয়েন্টটি সবুজ বৃত্ত এবং শেষ পয়েন্টটি হল লাল তীর
প্রারম্ভের পয়েন্টের ডিএস এবং কালো বিভাগের মধ্যে দূরত্ব গণনা করুন এবং ডিই হিসাবে শেষ পয়েন্ট (লাল তীর) জন্য একই করুন। ডিএস> ডি যদি হয় তবে সেগমেন্টটি নির্দেশ করছে। যদি ডি> ডিএস, এটি দূরে নির্দেশ করছে। উভয় সমান হলে, দুটি সমান্তরাল হয়।
আপনি একটি সেগমেন্ট করার জন্য একটি বিন্দু থেকে দূরত্ব গনা কিভাবে জানতে পারেন এখানে এবং একটি দ্বিঘাত বেজিয়ে কার্ভ জন্য, এখানে । যাইহোক, বেজিয়ার বক্রের আকারের উপর নির্ভর করে এটি অদ্ভুত ফলাফল ফিরে আসতে পারে (বক্ররেখা নিজেই অতিক্রম করতে পারে)