Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

जांचें कि कोई दिया गया बिंदु त्रिभुज के अंदर है या नहीं


परिचय

एक त्रिभुज के तीन बिंदु दिए गए हैं; एक अन्य बिंदु P भी दिया गया है यह जांचने के लिए कि बिंदु P त्रिभुज के अंदर है या नहीं।

समस्या को हल करने के लिए, मान लें कि त्रिभुज के बिंदु A, B, और C हैं। जब त्रिभुज ΔABC का क्षेत्रफल = ΔABP + ΔPBC + ΔAPC का क्षेत्रफल हो, तो बिंदु P त्रिभुज के अंदर है।

इनपुट और आउटपुट

इनपुट: त्रिभुज के बिंदु {(0, 0), (20, 0), (10, 30)} और जांचने के लिए बिंदु p (10, 15)
आउटपुट: बिंदु त्रिभुज के अंदर है।

एल्गोरिदम

isInside(p1, p2, p3, p)
इनपुट: एक त्रिभुज के तीन बिंदु, जांचने के लिए बिंदु p
आउटपुट: सत्य, जब p त्रिभुज के अंदर हो

Begin
    area := त्रिभुज(p1, p2, p3) का क्षेत्रफल
    area1 := त्रिभुज(p, p2, p3) का क्षेत्रफल
    area2 := त्रिभुज(p1, p, p3) का क्षेत्रफल
    area3 := त्रिभुज(p1, p2, p) का क्षेत्रफल
    यदि area = (area1 + area2 + area3), तो
        सत्य लौटाएं
    अन्यथा असत्य लौटाएं
End

उदाहरण (C++ कोड)

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

struct Point {
    int x, y;
};

float triangleArea(Point p1, Point p2, Point p3) {
    // p1, p2 और p3 द्वारा बने त्रिभुज का क्षेत्रफल ज्ञात करें
    return abs((p1.x*(p2.y-p3.y) + p2.x*(p3.y-p1.y) + p3.x*(p1.y-p2.y))/2.0);
}

bool isInside(Point p1, Point p2, Point p3, Point p) {
    // जांचें कि p अंदर है या बाहर
    float area = triangleArea(p1, p2, p3); // त्रिभुज ABC का क्षेत्रफल
    float area1 = triangleArea(p, p2, p3); // PBC का क्षेत्रफल
    float area2 = triangleArea(p1, p, p3); // APC का क्षेत्रफल
    float area3 = triangleArea(p1, p2, p); // ABP का क्षेत्रफल
    return (area == area1 + area2 + area3); // जब तीन त्रिभुज पूरा त्रिभुज बनाते हैं
}

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. पायथन में जांचें कि कोई बिंदु आयत के अंदर या पर स्थित है या नहीं पायथन में जांचें कि कोई बिंदु आयत के अंदर या पर स्थित है या नहीं

    मान लीजिए हमारे पास एक आयत है जिसे दो बिंदुओं द्वारा दर्शाया गया है: निचला-बायां (bottom-left) और ऊपरी-दायां (top-right) कोना। हमें यह जांचना है कि क्या दिया गया बिंदु (x, y) इस आयत के अंदर मौजूद है या नहीं। उदाहरण के लिए, यदि इनपुट bottom_left = (1, 1), top_right = (8, 5), point = (5, 4) है, तो आउ

  1. Python में दिए गए पॉइंट को पॉलीगोन के अंदर या बाउंड्री पर है या नहीं, इसकी जांच करने का प्रोग्राम Python में दिए गए पॉइंट को पॉलीगोन के अंदर या बाउंड्री पर है या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास कार्टेशियन पॉइंट्स की एक सूची [(x1, y1), (x2, y2), ..., (xn, yn)] है, जो एक पॉलीगोन को दर्शाती है, और हमारे पास दो मान x और y भी हैं, हमें जांचना है कि (x, y) इस पॉलीगोन के अंदर है या बाउंड्री पर।इसलिए, यदि इनपुट इस तरह है points = [(0, 0), (1, 3), (4, 4), (6, 2), (4, 0)] pt = (3

  1. पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं पायथन में जांचें कि दिया गया ग्राफ द्विभाजित है या नहीं

    मान लीजिए हमारे पास एक अविकल्पित ग्राफ है, हमें जांचना है कि ग्राफ द्विभाजित है या नहीं। जैसा कि हम जानते हैं, एक ग्राफ द्विभाजित होता है जब हम ग्राफ के नोड्स को दो सेट A और B में विभाजित कर सकते हैं ताकि ग्राफ में प्रत्येक किनारा {u,v} का एक नोड u A में और दूसरा नोड v B में हो। उदाहरण के लिए, यदि