কম্পিউটার

C++ এ 3D তে দুটি প্লেনের মধ্যে কোণ?


3D তে দুটি প্লেনের মধ্যে কোণ সম্পর্কে জানার জন্য, আমাদের সমতল এবং কোণ সম্পর্কে শিখতে হবে৷

বিমান একটি দ্বি-মাত্রিক পৃষ্ঠ যা অসীম পর্যন্ত প্রসারিত৷

কোণ একটি বিন্দুতে ছেদ করা দুটি রেখা এবং পৃষ্ঠতলের মধ্যে ডিগ্রীতে স্থান।

সুতরাং, এই সমস্যায় আমাদের দুটি 3D প্লেনের মধ্যে কোণ খুঁজে বের করতে হবে . এর জন্য আমাদের দুটি সমতল রয়েছে যা একে অপরকে ছেদ করে এবং আমাদেরকে সেই কোণটি খুঁজে বের করতে হবে যেগুলি একে অপরকে ছেদ করছে৷

দুটি 3D এর মধ্যে কোণ গণনা করতে প্লেন, আমাদের এই প্লেনের স্বাভাবিকের মধ্যে কোণ গণনা করতে হবে।

এখানে, আমাদের দুটি প্লেন আছে,

p1 : ax + by + cz + d = 0
p2 : hx + iy + j z + k = 0

প্লেন p1 এবং p2 এর নরমালের দিকনির্দেশ হল (a,b,c) এবং (h,i,j)।

এটি ব্যবহার করে একটি গাণিতিক সূত্র যা এই দুটি প্লেনের স্বাভাবিকের মধ্যে কোণ খুঁজে বের করার জন্য তৈরি করা হয়েছে,

Cos Ø = {(a*h) + (b*i) + (c*j)} / [(a2 + b2 + c2)*(h2 + i2 + j2)]1/2
Ø = Cos-1 { {(a*h) + (b*i) + (c*j)} / [(a2 + b2 + c2)*(h2 + i2 + j2)]1/2 }

উদাহরণ

#include <iostream>
#include <math.h>
using namespace std;
int main() {
   float a = 2;
   float b = 2;
   float c = -1;
   float d = -5;
   float h = 3;
   float i = -3;
   float j = 5;
   float k = -3;
   float s = (a*h + b*i + c*j);
   float t = sqrt(a*a + b*b + c*c);
   float u = sqrt(h*h + i*i + j*j);
   s = s / (t * u);
   float pi = 3.14159;
   float A = (180 / pi) * (acos(s));
   cout<<"Angle is "<<A<<" degree";
   return 0;
}

আউটপুট

Angle is 104.724 degree

  1. সি প্রোগ্রামে 3D তে দুটি প্লেনের মধ্যে কোণ?

  2. C++-এ BST-এর দুটি নোডের মধ্যে সর্বাধিক উপাদান

  3. C++ এ দুটি অ্যারের মধ্যে সামঞ্জস্যের পার্থক্য খুঁজুন

  4. C++ এ একটি বাইনারি ট্রির দুটি নোডের মধ্যে দূরত্ব খুঁজুন