কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: স্লিকার অ্যালগরিদম ব্যবহার করে পলিগনের এরিয়া বের করা


এখানে একটি C++ প্রোগ্রাম দেওয়া হলো যা স্লিকার অ্যালগরিদম ব্যবহার করে ট্রায়্যাঙ্গুলেশন ছাড়া পলিগনের এরিয়া বের করে।

এটি সাধারণ গাণিতিক কনভেনশন মনে করে যে পজিটিভ y উপরের দিকে পয়েন্ট করে। কম্পিউটার সিস্টেমে যেখানে পজিটিভ y নিচের দিকে, সেখানে সবচেয়ে সহজ জিনিস হচ্ছে ভার্টেক্সগুলো কাউন্টারক্লকওয়াইজ লিস্ট করা "পজিটিভ y ডাউন" কোঅর্ডিনেট ব্যবহার করে। দুটি ইফেক্ট তারপর ক্যান্সেল আউট হয়ে পজিটিভ এরিয়া প্রোডিউস করে।

ফাংশন এবং সিউডোকোড

অ্যালগরিদম

শুরু
    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)) ক্যালকুলেট করো
        return t/2
শেষ

উদাহরণ কোড

#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. সি++-এ সমান্তরাল চতুর্ভুজের (Parallelogram) ক্ষেত্রফল বের করার প্রোগ্রাম

  2. C++ ব্যবহার করে এলিপসের এরিয়া বের করা

  3. C++ প্রোগ্রাম: ইন্টারপোলেশন সার্চ অ্যালগরিদম বাস্তবায়ন

  4. পাইথনে পলিগনের ক্ষেত্রফল বের করার প্রোগ্রাম