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

समाधान दृष्टिकोण
समस्या को हल करने के लिए, हमें बिंदु P' को निर्देशांक (x', y') के साथ ढूंढना होगा। तो, हमारे पास R है, वह मध्य बिंदु जहां P - P' से रेखा मिरर रेखा को प्रतिच्छेद करती है।
रेखा P-R-P' मिरर के लंबवत है। इसलिए, रेखा का समीकरण होगा,
ay - by + d = 0
बिंदु हैं P(x, y) ; P'(x', y') ; R(xm, ym)।
बिंदु P और R ज्ञात हैं। तो, समीकरणों का उपयोग करके हम P' को इस प्रकार ढूंढेंगे,
$$\left(\frac{x'-x}{a}\right)=\left(\frac{y'-y}{b}\right)=\left(\frac{-2(ax+by+c)}{a^2+b^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)