Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาพื้นที่ของสี่เหลี่ยมด้านขนานหากกำหนดเวกเตอร์ของด้านที่อยู่ติดกันสองด้านโดยใช้ C++


สมมติว่าเรามีเวกเตอร์สองตัวสำหรับด้านที่อยู่ติดกันสองด้านของสี่เหลี่ยมด้านขนานในรูปแบบ $x\hat{i}+y\hat{j}+z\hat{k}$ งานของเราคือการหาพื้นที่ของสี่เหลี่ยมด้านขนาน พื้นที่ของสี่เหลี่ยมด้านขนานคือขนาดของผลคูณของเวกเตอร์สองตัว (|A × B|)

$$\rvert \vec{A}\times\vec{B}\rvert=\sqrt{\lgroup y_{1}*z_{2}-y_{2}*z_{1}\rgroup^{2}+ \lgroup x_{1}*z_{2}-x_{2}*z_{1}\rgroup^{2}+\lgroup x_{1}*y_{2}-x_{2}*y_{1}\ rgroup^{2}}$$

ตัวอย่าง

#include<iostream>
#include<cmath>
using namespace std;
float area(float A[], float B[]) {
   float area = sqrt(pow((A[1] * B[2] - B[1] * A[2]),2) + pow((A[0] * B[2] - B[0] * A[2]),2) + pow((A[0] * B[1] - B[0] * A[1]),2));
   return area;
}
int main() {
   float A[] = {3, 1, -2};
   float B[] = {1, -3, 4};
   float a = area(A, B);
   cout << "Area = " << a;
}

ผลลัพธ์

Area = 17.3205