ধরুন আমাদের একটি বৃত্ত এবং আরেকটি সরলরেখা আছে। আমাদের কাজ হল রেখাটি বৃত্তটিকে স্পর্শ করে বা ছেদ করে কিনা তা খুঁজে বের করা, অন্যথায়, এটি বাইরের মধ্য দিয়ে যায়। তাই নিচের মত তিনটি ভিন্ন কেস আছে −
এখানে আমরা ধাপগুলি অনুসরণ করে এটি সমাধান করব। এগুলো নিচের মত -
- কেন্দ্রের মধ্যে লম্ব P খুঁজে বের করুন এবং একটি রেখা দেওয়া হল
- P এর সাথে r −
- ব্যাসার্ধের তুলনা করুন
- যদি P> r হয়, তাহলে বাইরে
- যদি P =r হয়, তাহলে স্পর্শ করে
- অন্যথায় ভিতরে
লম্ব দূরত্ব পেতে, আমাদের এই সূত্রটি ব্যবহার করতে হবে (একটি কেন্দ্র বিন্দু হল (h, k))
$$\frac{ah+bk+c}{\sqrt{a^2+b^2}}$$
উদাহরণ
#include <iostream> #include <cmath> using namespace std; void isTouchOrIntersect(int a, int b, int c, int h, int k, int radius) { int dist = (abs(a * h + b * k + c)) / sqrt(a * a + b * b); if (radius == dist) cout << "Touching the circle" << endl; else if (radius > dist) cout << "Intersecting the circle" << endl; else cout << "Outside the circle" << endl; } int main() { int radius = 5; int h = 0, k = 0; int a = 3, b = 4, c = 25; isTouchOrIntersect(a, b, c, h, k, radius); }
আউটপুট
Touching the circle