मैं एक C ++ प्रोग्राम लिखने की कोशिश कर रहा हूं जो उपयोगकर्ता से आयतों (2 और 5 के बीच) के निर्माण के लिए निम्नलिखित इनपुट लेता है: ऊंचाई, चौड़ाई, एक्स-पॉज़, वाई-पॉज़। ये सभी आयतें x और y अक्ष के समानांतर मौजूद होंगी, उनके सभी किनारों में 0 या अनंत की ढलानें होंगी।
मैंने इस प्रश्न में जो उल्लेख किया है, उसे लागू करने की कोशिश की है, लेकिन मुझे बहुत ज्यादा भाग्य नहीं मिल रहा है।
मेरा वर्तमान कार्यान्वयन निम्न कार्य करता है:
// Gets all the vertices for Rectangle 1 and stores them in an array -> arrRect1
// point 1 x: arrRect1[0], point 1 y: arrRect1[1] and so on...
// Gets all the vertices for Rectangle 2 and stores them in an array -> arrRect2
// rotated edge of point a, rect 1
int rot_x, rot_y;
rot_x = -arrRect1[3];
rot_y = arrRect1[2];
// point on rotated edge
int pnt_x, pnt_y;
pnt_x = arrRect1[2];
pnt_y = arrRect1[3];
// test point, a from rect 2
int tst_x, tst_y;
tst_x = arrRect2[0];
tst_y = arrRect2[1];
int value;
value = (rot_x * (tst_x - pnt_x)) + (rot_y * (tst_y - pnt_y));
cout << "Value: " << value;
हालाँकि, मुझे यकीन नहीं है कि (ए) मैंने जिस एल्गोरिथ्म को सही ढंग से जोड़ा है, उस पर अमल किया है, या अगर मैंने इसकी व्याख्या कैसे की है?
कोई सुझाव?