ত্রিভুজের তিনটি বাহুর মিডপয়েন্ট (midpoint) কোঅর্ডিনেট দেওয়া আছে। আমাদের ত্রিভুজের কোঅর্ডিনেট বের করতে হবে। যদি ইনপুট (5, 3), (4, 4), (5, 5) হয়, তবে আউটপুট হবে (4, 2), (4, 6), (6, 4)।
এটি সমাধানের জন্য X-কোঅর্ডিনেট এবং Y-কোঅর্ডিনেট আলাদা আলাদা সমাধান করতে হবে। X-কোঅর্ডিনেটের জন্য ভার্টেক্স (vertices) x1, x2, x3 ধরি। মিডপয়েন্টের X-কোঅর্ডিনেট হবে (x1+x2)/2, (x2+x3)/2, (x3+x1)/2। যদি লক্ষ্য করা হয় এই তিনটি এক্সপ্রেশনের যোগফল X-কোঅর্ডিনেটগুলোর যোগফলের সমান। এখন আমাদের তিনটি ভেরিয়েবলের যোগফল এবং প্রতিটি পেয়ারের যোগফলের এক্সপ্রেশন আছে। সমীকরণ সমাধান করে কোঅর্ডিনেট বের করতে হবে। একইভাবে Y-কোঅর্ডিনেটের জন্যও সমাধান করব।
উদাহরণ
#include<iostream> #include<vector> #define N 3 using namespace std; vector<int> getResult(int v[]) { vector<int> res; int sum = v[0] + v[1] + v[2]; res.push_back(sum - v[1]*2); res.push_back(sum - v[2]*2); res.push_back(sum - v[0]*2); return res; } void searchPoints(int mid_x_coord[], int mid_y_coord[]) { vector<int> x_vals = getResult(mid_x_coord); vector<int> y_vals = getResult(mid_y_coord); for (int i = 0; i < 3; i++) cout << x_vals[i] << " " << y_vals[i] <<endl; } int main() { int mid_x_coord[N] = { 5, 4, 5 }; int mid_y_coord[N] = { 3, 4, 5 }; searchPoints(mid_x_coord, mid_y_coord); }আউটপুট
6 4 4 2 4 6