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

C++ में 2-डी तल में एक बिंदु की दर्पण छवि खोजें


इस समस्या में, हमें एक 2-डी तल में एक बिंदु P दिया जाता है और समीकरण ax + by + c =0 के बिंदु a, b, cof दिए जाते हैं। हमारा काम है 2-डी समतल में बिंदु की दर्पण छवि।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

P = (2, 1), a = 1, b = -1, c = 0

आउटपुट

(1, 2)

स्पष्टीकरण

विमान ऐसा दिखता है,

C++ में 2-डी तल में एक बिंदु की दर्पण छवि खोजें

समाधान दृष्टिकोण

समस्या को हल करने के लिए, हमें निर्देशांक (x', y') के साथ समीकरण बिंदु P' को खोजना होगा। तो, हमारे पास R, मध्यबिंदु है जहाँ रेखा P - P' दर्पण रेखा को प्रतिच्छेद करती है।

रेखा P-R-P' दर्पण के लंबवत है। अत:रेखा का समीकरण होगा,

ay - by + d = 0

बिंदु P(x, y) हैं; पी'(एक्स', वाई'); आर (एक्सएम, वाईएम)।

बिंदु P और R ज्ञात हैं। इसलिए, समीकरणों का उपयोग करके हम P' को,

. के रूप में पाएंगे

$$\बाएं(\frac{??'-??}{??}\right)=\left(\frac{??'-??}{??}\right)=\left(\frac{ ????-????+??}{??^2+x^2}\right)$$

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
void findMirrorImage( double a, double b, double c, double x, double y){
   double points = -2 * (a * x + b * y + c) / (a * a + b * b);
   double xm = points * a + x;
   double ym = points * b + y;
   cout<<"("<<xm<<","<<ym<<")";
}
int main(){
   double a = -1.0;
   double b = 1.0;
   double c = 0.0;
   double x = 1.0;
   double y = 0.0;
   cout<<"Image of point ("<<x<<", "<<y<<") using mirror ("<<a<<")x + ("<<b<<")y + ("<<c<< ") = 0, is :";
   findMirrorImage(a, b, c, x, y);
   return 0;
}

आउटपुट

Image of point (1, 0) using mirror (-1)x + (1)y + (0) = 0, is :(0,1)

  1. C++ में 2-डी तल में एक बिंदु की दर्पण छवि खोजें

    इस समस्या में, हमें एक 2-डी तल में एक बिंदु P दिया जाता है और समीकरण ax + by + c =0 के बिंदु a, b, cof दिए जाते हैं। हमारा काम है 2-डी समतल में बिंदु की दर्पण छवि। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट P = (2, 1), a = 1, b = -1, c = 0 आउटपुट (1, 2) स्पष्टीकरण विमान ऐसा दिखता है, समाध

  1. C++ . में मिरर रिफ्लेक्शन

    मान लीजिए कि चार दीवारों में से प्रत्येक पर दर्पणों के साथ एक विशेष वर्गाकार कमरा है। दक्षिण-पश्चिम कोने को छोड़कर प्रत्येक कोने में रिसेप्टर्स होते हैं। इन्हें 0, 1, और 2 के रूप में गिना जाता है। अब वर्गाकार कमरे में लंबाई p की दीवारें हैं, और दक्षिण-पश्चिम कोने से एक लेज़र किरण पहले 0 वें रिसेप्टर

  1. C++ का उपयोग करके कोष्ठकों की एक स्ट्रिंग में एक समान बिंदु खोजें।

    यहां हम देखेंगे कि कोष्ठक की एक स्ट्रिंग में समान अंक कैसे प्राप्त करें। समान बिंदु सूचकांक I है, जैसे कि इसके पहले खुलने वाले कोष्ठकों की संख्या इसके बाद के समापन कोष्ठक की संख्या के बराबर है। मान लीजिए कि एक ब्रैकेट स्ट्रिंग (())) (() () ())) की तरह है, अगर हम करीब से देखते हैं, तो हम प्राप्त कर स