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

C++-এ ৩টি বিন্দু দিয়ে যাওয়া প্লেনের সমীকরণ বের করার প্রোগ্রাম


সমস্যা বিবরণ

৩টি ৩D বিন্দু (x1,y1,z1), (x2,y2,z2), (x3,y3,z3) দেওয়া থাকলে, তাদের মধ্য দিয়ে যাওয়া প্লেনের সমীকরণ ax + by + cz + d = 0 বের করুন।

সমাধানের পদ্ধতি

  1. দুটি ভেক্টর বানান:
    • v1 = (x2-x1, y2-y1, z2-z1)
    • v2 = (x3-x1, y3-y1, z3-z1)
  2. ক্রস প্রোডাক্ট v1 × v2 = নরমাল ভেক্টর (a, b, c):
    • a = b1*c2 - b2*c1
    • b = a2*c1 - a1*c2
    • c = a1*b2 - b1*a2
  3. d = -(a*x1 + b*y1 + c*z1)

C++ কোড উদাহরণ

#include <bits/stdc++.h>
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;

void equation_plane(float x1, float y1, float z1, 
                    float x2, float y2, float z2, 
                    float x3, float y3, float z3) {
    float a1 = x2 - x1;
    float b1 = y2 - y1;
    float c1 = z2 - z1;
    float a2 = x3 - x1;
    float b2 = y3 - y1;
    float c2 = z3 - z1;
    
    float a = b1 * c2 - b2 * c1;
    float b = a2 * c1 - a1 * c2;
    float c = a1 * b2 - b1 * a2;
    float d = (-a * x1 - b * y1 - c * z1);
    
    cout << fixed << setprecision(2);
    cout << "Equation of plane is " << a << " x + " << b << " y + " << c << " z + " << d << " = 0";
}

int main() {
    float x1 = -1, y1 = 2, z1 = 1;
    float x2 = 0, y2 = -3, z2 = 2;
    float x3 = 1, y3 = 1, z3 = -4;
    equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3);
    return 0;
}

আউটপুট

Equation of plane is 26.00 x + 7.00 y + 9.00 z + 3.00 = 0

জটিলতা

  • সময়: O(1)
  • স্থান: O(1)
  1. সি++ প্রোগ্রাম: ৩-মাত্রিক সমতলে বিন্দুগুলো সমতলাকার কিনা যাচাই

  2. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়

  3. C++ প্রোগ্রাম: ফ্যাক্টোরিয়াল (Factorial) নির্ণয়

  4. C++ প্রোগ্রাম: দ্বিঘাত সমীকরণের মূল (Roots) নির্ণয়