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

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


मान लीजिए हमारे पास एक आयत ABCD है, लेकिन हमारे पास केवल मध्य बिंदुओं P और Q के निर्देशांक हैं, और आयत की लंबाई L है।

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

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

तीन मामले हो सकते हैं।

  • आयत क्षैतिज है, इसलिए AD और BC X अक्ष के समानांतर हैं
  • आयत लंबवत है, इसलिए AD और BC Y अक्ष के समानांतर हैं
  • आयत अक्षों के साथ एक निश्चित कोण पर झुका हुआ है।

तीसरे मामले के लिए, हमें P और Q के निर्देशांकों का उपयोग करके ढलान ढूंढना होगा। यदि हमें AD की ढलान मिल जाती है, तो हम AD से गुजरने वाली सरल रेखा का समीकरण उत्पन्न कर सकते हैं, फिर दूरी सूत्र का उपयोग करके हम परिणाम प्राप्त करेंगे।

$$AD की ढलान, m = \frac{px - qx}{py - qy}$$ $$X अक्ष के साथ विस्थापन, dx = \frac{L}{2\sqrt{1+m^{2}}}$$ $$Y अक्ष के साथ विस्थापन, dy = \frac{mL}{2\sqrt{1+m^{2}}}$$

उदाहरण

#include <iostream> #include <cmath> using namespace std; class Point {    public:       float x, y;       Point(float a = 0.0f, float b = 0.0f) {       x = a, y = b;    } }; void printCorners(Point p, Point q, float l) {    Point a, b, c, d;    if (p.x == q.x) {       a.x = p.x - (l/2.0);       d.x = p.x + (l/2.0);       a.y = d.y = p.y;       b.x = q.x - (l/2.0);       c.x = q.x + (l/2.0);       b.y = c.y = q.y;    }else if (p.y == q.y) {       a.y = p.y - (l/2.0);       d.y = p.y + (l/2.0);       a.x = d.x = p.x;       b.y = q.y - (l/2.0);       c.y = q.y + (l/2.0);       b.x = c.x = q.x;    }else{       float m = (p.x-q.x)/float(q.y-p.y);       float dx = (l /sqrt(1+(m*m))) *0.5 ;       float dy = m*dx;       a.x = p.x - dx;       a.y = p.y - dy;       d.x = p.x + dx;       d.y = p.y + dy;       b.x = q.x - dx;       b.y = q.y - dy;       c.x = q.x + dx;       c.y = q.y + dy;    }    cout << "A (" << a.x << ", " << a.y << ")\n"    << "B (" << b.x << ", " << b.y << ")\n"    << "C (" << c.x << ", " << c.y << ")\n"    << "D (" << d.x << ", " << d.y << ")\n"; } int main() {    Point p(1, 1), q(-1, -1);    printCorners(p, q, 2*sqrt(2)); }

आउटपुट

A (0, 2) B (-2, 0) C (0, -2) D (2, 0)

  1. C++ का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात करें C++ का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात करें

    बिंदु X और Y के बीच n संख्या में इंटरमीडिएट ट्रेन स्टेशन हैं। उन विभिन्न तरीकों की गणना करें जिनसे ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई दो स्टेशन एक-दूसरे के बगल में न हों। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या ज्ञात करने के लिए हर संभव दृष्टिकोण की व्य

  1. C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें

    यूक्लिडियन प्लेन ज्यामिति में एक चतुर्भुज चार शीर्षों और चार किनारों के साथ एक बहुभुज बनाता है। नाम 4-gon आदि। चतुर्भुजों के अन्य नामों में शामिल हैं और कभी-कभी उन्हें वर्ग, डिस्प्ले स्टाइल आदि के रूप में भी जाना जाता है।इस लेख में, हम दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करने के दृष

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

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