Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में ट्रायंगुलेशन से बचने के लिए स्लिकर एल्गोरिदम को लागू करके पॉलीगन का क्षेत्रफल ज्ञात करना


यहां स्लिकर एल्गोरिदम का उपयोग करके पॉलीगन का क्षेत्रफल ज्ञात करने के लिए एक C++ प्रोग्राम है जो ट्रायंगुलेशन से बचकर पॉलीगन का क्षेत्रफल ज्ञात करता है।

यह सामान्य गणितीय कन्वेंशन मानता है कि पॉजिटिव y ऊपर की ओर इंगित करता है। कंप्यूटर सिस्टम में जहां पॉजिटिव y नीचे की ओर होता है, सबसे आसान काम यह है कि वर्टेक्सेस को "पॉजिटिव y डाउन" कोऑर्डिनेट्स का उपयोग करके काउंटर-क्लॉकवाइज़ सूचीबद्ध किया जाए। दो प्रभाव फिर कैंसल आउट होकर पॉजिटिव क्षेत्रफल उत्पन्न करते हैं।

फंक्शन्स और स्यूडोकोड

एल्गोरिदम

Begin    function Area() पॉलीगन p को आर्गुमेंट के रूप में लेकर पॉलीगन के क्षेत्रफल की गणना करता है।    for i = 0 to p.n-1       j = (i + 1) % p.n इनिशियलाइज़ करें;       t =t+((p.p[i].b * p.p[j].b) - (p.p[j].a * p.p[i].b.)) की गणना करें       t/2 लौटाएं End

उदाहरण कोड

#include <iostream> using namespace std; const int MAX = 200; class P// वेरिएबल्स डिक्लेयर करने के लिए {    private:       public:          double a, b; }; class Polygon {    private:       public:          P p[MAX];          int n;          Polygon()//पॉलीगन के प्रत्येक पॉइंट के कोऑर्डिनेट्स लें {             for (int i = 0; i < MAX; i++)                P p[i];          } }; double Area(Polygon p)//क्षेत्रफल की गणना {    double t = 0;    for (int i = 0; i < p.n; i++) {       int j = (i + 1) % p.n;       t += (p.p[i].b * p.p[j].b) - (p.p[j].a * p.p[i].b);    }    return t / 2; } int main(int argc, char **argv) {    Polygon p;    cout << "Enter the number of points in Polygon: ";    cin >>p.n;    cout << "Enter the coordinates of each point: ";    for (int i = 0; i < p.n; i++) {       cin >>p.p[i].a;       cin >>p.p[i].b;    }    double a = Area(p);    if (a >0)//यदि क्षेत्रफल>0       cout << "The Area of Polygon with " << p.n       << " points using Slicker Algorithm is : " << a;    else       cout << "The Area of Polygon with " << p.n       << " points using Slicker Algorithm is : " << (a * -1); }

आउटपुट

Enter the number of points in Polygon: 6 Enter the coordinates of each point: 1 1 2 2 3 3 4 4 5 5 6 7 The Area of Polygon with 6 points using Slicker Algorithm is : 2.5

  1. C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें दो मान दिए गए हैं जो समानांतर चतुर्भुज के आधार (base) और ऊंचाई (height) को दर्शाते हैं। हमारा कार्य C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम बनाना है।समानांतर चतुर्भुज (Parallelogram) चार भुजाओं वाली एक बंद आकृति है जिसकी विपरीत भुजाएं समान औ

  1. C++ का उपयोग करके एलिप्स का क्षेत्रफल ज्ञात करना C++ का उपयोग करके एलिप्स का क्षेत्रफल ज्ञात करना

    यहां हम देखेंगे कि C++ का उपयोग करके एलिप्स का क्षेत्रफल कैसे प्राप्त किया जाए। एलिप्स के विभिन्न भाग होते हैं। ये नीचे दिए गए हैं।मुख्य बिंदुविवरणसेंटरएलिप्स का केंद्र। यह उन लाइन सेगमेंट्स का भी केंद्र है जो दो फोकी को जोड़ते हैं।मेजर एक्सिसएलिप्स का सबसे लंबा व्यासnmembयह एलिमेंट्स की संख्या है,

  1. पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D तल पर एक साधारण बहुभुज के अंतिम बिंदुओं को दर्शाने वाले क्रमबद्ध बिंदुओं की सूची है। हमें इस बहुभुज का क्षेत्रफल ढूंढना है।उदाहरण के लिए, यदि इनपुट points = [(0, 0), (0,5), (3, 5), (3,0)] है, तो आउटपुट 15 होगा।समाधान दृष्टिकोणइसे हल करने के लिए हम निम्न चरणों का पालन करेंगे