इस खंड में, हम देखेंगे कि सी ++ में एसटीएल से जटिल वर्ग का उपयोग करके बिंदु वर्ग कैसे बनाया जाता है। और उन्हें ज्यामिति से संबंधित कुछ समस्याओं पर लागू करें। कॉम्प्लेक्स नंबर एसटीएल (#include
बिंदु वर्ग को परिभाषित करना
कॉम्प्लेक्स टू पॉइंट बनाने के लिए, हम कॉम्प्लेक्स का नाम <डबल> पॉइंट के रूप में बदल देंगे, फिर कॉम्प्लेक्स क्लास के x को रियल () और कॉम्प्लेक्स क्लास के y से इमेज () में बदल देंगे। इस प्रकार, हम बिंदु वर्ग का अनुकरण कर सकते हैं।
# include <complex> typedef complex<double> point; # define x real() # define y imag()
हमें यह ध्यान रखना होगा कि x और y को मैक्रो के रूप में लागू किया गया है, इन्हें चर के रूप में लागू नहीं किया जा सकता है।
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <iostream> #include <complex> using namespace std; typedef complex<double> point; #define x real() #define y imag() int main() { point my_pt(4.0, 5.0); cout << "The point is :" << "(" << my_pt.x << ", " << my_pt.y << ")"; }
आउटपुट
The point is :(4, 5)
ज्यामिति को लागू करने के लिए, हम पा सकते हैं कि मूल बिंदु से P की दूरी (0, 0), इसे -abs(P) के रूप में दर्शाया जाता है। ओपी द्वारा एक्स अक्ष से बनाया गया कोण जहां ओ मूल है:arg(z)। मूल के परितः P का घूर्णन P * polar(r, ) है।
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <iostream> #include <complex> #define PI 3.1415 using namespace std; typedef complex<double> point; #define x real() #define y imag() void print_point(point my_pt){ cout << "(" << my_pt.x << ", " << my_pt.y << ")"; } int main() { point my_pt(6.0, 7.0); cout << "The point is:" ; print_point(my_pt); cout << endl; cout << "Distance of the point from origin:" << abs(my_pt) << endl; cout << "Tangent angle made by OP with X-axis: (" << arg(my_pt) << ") rad = (" << arg(my_pt)*(180/PI) << ")" << endl; point rot_point = my_pt * polar(1.0, PI/2); cout << "Point after rotating 90 degrees counter-clockwise, will be: "; print_point(rot_point); }
आउटपुट
The point is:(6, 7) Distance of the point from origin:9.21954 Tangent angle made by OP with X-axis: (0.86217) rad = (49.4002) Point after rotating 90 degrees counter-clockwise, will be: (-6.99972, 6.00032)