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

C++ में दो आयतों के ओवरलैप होने की जांच करना

हम जानते हैं कि एक आयत को दो निर्देशांकों का उपयोग करके दर्शाया जा सकता है: ऊपरी बायां कोना (top-left corner) और निचला दायां कोना (bottom-right corner)। मान लीजिए दो आयत हैं, हमें जांचना है कि ये दोनों ओवरलैप होते हैं या नहीं। चार निर्देशांक बिंदु (l1, r1) और (l2, r2) हैं।

  • l1 पहले आयत का ऊपरी-बायां कोना है
  • r1 पहले आयत का निचला-दायां कोना है
  • l2 दूसरे आयत का ऊपरी-बायां कोना है
  • r2 दूसरे आयत का निचला-दायां कोना है

हमने माना है कि आयत निर्देशांक अक्षों के समानांतर हैं। इसे हल करने के लिए, हमें कुछ शर्तों की जांच करनी होगी।

  • एक आयत दूसरे आयत के शीर्ष किनारे से ऊपर है
  • एक आयत दूसरे आयत के बाएं किनारे के बाईं ओर है

C++ उदाहरण

#include <iostream>
using namespace std;

class Point {
public:
    int x, y;
};

bool isOverlapping(Point l1, Point r1, Point l2, Point r2) {
    if (l1.x > r2.x || l2.x > r1.x) return false;
    if (l1.y < r2.y || l2.y < r1.y) return false;
    return true;
}

int main() {
    Point l1 = {0, 10}, r1 = {10, 0};
    Point l2 = {5, 5}, r2 = {15, 0};
    if (isOverlapping(l1, r1, l2, r2))
        cout << "Rectangles are Overlapping";
    else
        cout << "Rectangles are not Overlapping";
    return 0;
}

आउटपुट

Rectangles are Overlapping
  1. OpenCV में C++ का उपयोग करके आयत कैसे बनाएं? OpenCV में C++ का उपयोग करके आयत कैसे बनाएं?

    आयत बनाने के लिए, हमें चार बिंदुओं की आवश्यकता होती है। निम्नलिखित आकृति देखें। आकृति में, चार बिंदु x1, x2, y1 और y2 हैं। ये चार बिंदु चार निर्देशांक बनाते हैं। OpenCV का उपयोग करके आयत बनाने के लिए, हमें इन बिंदुओं को परिभाषित करना होगा और आयत दिखाने के लिए एक मैट्रिक्स की आवश्यकता होती है। हमें

  1. C++ में N फैक्टोरियल के योग के अंतिम दो अंक ढूंढना C++ में N फैक्टोरियल के योग के अंतिम दो अंक ढूंढना

    यहां हम देखेंगे कि अंतिम दो अंक कैसे प्राप्त करें। N फैक्टोरियल के योग का इकाई स्थान अंक और दहाई स्थान अंक। यदि N=4 है, तो यह 1! + 2! + 3! + 4! = 33 होगा। इसलिए इकाई स्थान 3 और दहाई स्थान 3 है। परिणाम 33 होगा। 10 के बाद, दहाई स्थान भी 0 रहेगा। N=10 और अधिक के लिए, यह 00 होगा। हम N=1 से 10 तक के फै

  1. C++ में मध्य बिंदुओं का उपयोग करके आयत के कोने ढूंढना C++ में मध्य बिंदुओं का उपयोग करके आयत के कोने ढूंढना

    मान लीजिए हमारे पास एक आयत ABCD है, लेकिन हमारे पास केवल मध्य बिंदुओं P और Q के निर्देशांक हैं, और आयत की लंबाई L है।हमारा कार्य P और Q के निर्देशांक, और भुजा की लंबाई L का उपयोग करके A, B, C और D के निर्देशांक ढूंढना है। उदाहरण के लिए, यदि P (1, 0) है, और Q (1, 2) है, और L 2 है, तो A, B, C, D क्रमश