এই সমস্যায়, আমাদের একটি ২-ডি প্লেনে একটি পয়েন্ট P এবং সমীকরণ ax + by + c = 0 এর a, b, c পয়েন্টগুলো দেওয়া আছে। আমাদের কাজ হল ২-ডি প্লেনে একটি পয়েন্টের মিরর ইমেজ খুঁজে বের করা।
উদাহরণ
ইনপুট
P = (2, 1), a = 1, b = -1, c = 0
আউটপুট
(1, 2)
ব্যাখ্যা
প্লেনটি দেখতে:

সমাধানের পদ্ধতি
সমস্যাটি সমাধানের জন্য, আমাদের পয়েন্ট P' এর কোঅর্ডিনেট (x', y') বের করতে হবে। এখানে R হল মিডপয়েন্ট যেখানে P-P' লাইনটি মিরর লাইনটি ছেদ করে।
P-R-P' লাইনটি মিররের লম্ব। সুতরাং লাইনের সমীকরণ হবে:
ay - bx + d = 0
পয়েন্টগুলো: P(x, y); P'(x', y'); R(xm, ym)।
P এবং R জানা আছে। সমীকরণগুলো ব্যবহার করে P' বের করব:
(x' - x)/a = (y' - y)/b = -2(ax + by + c)/(a² + b²)
প্রোগ্রাম উদাহরণ
#include <iostream>
using namespace std;
void findMirrorImage(double a, double b, double c, double x, double y) {
double factor = -2 * (a * x + b * y + c) / (a * a + b * b);
double xm = factor * a + x;
double ym = factor * 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)