使用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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP