কম্পিউটার

একটি প্রদত্ত বিন্দু একটি ত্রিভুজের ভিতরে রয়েছে কিনা তা পরীক্ষা করুন


একটি ত্রিভুজের তিনটি বিন্দু দেওয়া হয়েছে; P বিন্দুটি ত্রিভুজের ভিতরে আছে কিনা তা পরীক্ষা করার জন্য আরেকটি বিন্দু P দেওয়া হয়েছে।

সমস্যা সমাধানের জন্য, ত্রিভুজের বিন্দুগুলি A, B, এবং C বিবেচনা করা যাক। যখন ত্রিভুজের ক্ষেত্রফল Δ𝐴𝐵𝐶 =Δ𝐴𝐵𝑃 + Δ𝑃𝐵𝐶 + Δ𝐴𝑃𝐶 তখন P বিন্দুটি ত্রিভুজের ভিতরে থাকে।

ইনপুট এবং আউটপুট

Input:
Points of the triangle {(0, 0), (20, 0), (10, 30)} and point p (10, 15) to check.
Output:
Point is inside the triangle.

অ্যালগরিদম

isInside(p1, p2, p3, p)

ইনপুট: একটি ত্রিভুজের তিনটি বিন্দু, পরীক্ষা করার জন্য বিন্দু p।

আউটপুট: সত্য, যখন p ত্রিভুজের ভিতরে থাকে।

Begin
   area := area of triangle(p1, p2, p3)
   area1 := area of triangle(p, p2, p3)
   area2 := area of triangle(p1, p, p3)
   area3 := area of triangle(p1, p2, p)
   if area = (area1 + area2 + area3), then
      return true
   else return false
End

উদাহরণ

#include <iostream>
#include<cmath>
using namespace std;

struct Point {
   int x, y;
};

float triangleArea(Point p1, Point p2, Point p3) {         //find area of triangle formed by p1, p2 and p3
   return abs((p1.x*(p2.y-p3.y) + p2.x*(p3.y-p1.y)+ p3.x*(p1.yp2.y))/2.0);
}

bool isInside(Point p1, Point p2, Point p3, Point p) {     //check whether p is inside or outside
   float area = triangleArea (p1, p2, p3);          //area of triangle ABC
   float area1 = triangleArea (p, p2, p3);         //area of PBC
   float area2 = triangleArea (p1, p, p3);         //area of APC
   float area3 = triangleArea (p1, p2, p);        //area of ABP

   return (area == area1 + area2 + area3);        //when three triangles are forming the whole triangle
}
 
int main() {
   Point p1={0, 0}, p2={20, 0}, p3={10, 30};
   Point p = {10, 15};
   if (isInside(p1, p2, p3, p))
      cout << "Point is inside the triangle.";
   else
      cout << "Point is not inside the triangle";
}

আউটপুট

Point is inside the triangle.

  1. একটি প্রদত্ত বৃত্ত C++ এ দুটি ঘনকেন্দ্রিক বৃত্ত দ্বারা গঠিত বলয়ের ভিতরে সম্পূর্ণরূপে অবস্থিত কিনা তা পরীক্ষা করুন

  2. পাইথনে একটি আয়তক্ষেত্রের উপর বা ভিতরে একটি বিন্দু আছে কিনা তা পরীক্ষা করুন

  3. প্রদত্ত বহুভুজের অভ্যন্তরে বা সীমানার মধ্যে প্রদত্ত পয়েন্ট চেক করার প্রোগ্রাম বা পাইথনে নয়

  4. প্রদত্ত গ্রাফটি পাইথনে দ্বিপক্ষীয় কি না তা পরীক্ষা করার জন্য প্রোগ্রাম