C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++を使って隣接する2辺のベクトルから平行四辺形の面積を求める方法

平行四辺形の面積の計算方法

平行四辺形の隣接する2辺に対応する2つのベクトルが、$x\hat{i}+y\hat{j}+z\hat{k}$ の形式で与えられているとします。このとき、平行四辺形の面積は、2つのベクトルの外積の大きさ(|A × B|)に等しくなります。

ベクトル A = (x₁, y₁, z₁) と B = (x₂, y₂, z₂) が与えられた場合、面積は次の式で求められます。

$$\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}}$$

この式は、外積 A × B の各成分の2乗和の平方根を取ることで、外積ベクトルの大きさ、すなわち平行四辺形の面積を計算するものです。

C++による実装例

以下のC++プログラムでは、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関数では、配列AとBの各成分を使って、外積の3つの成分をそれぞれ計算しています。

  • x成分:y₁·z₂ − y₂·z₁
  • y成分:x₁·z₂ − x₂·z₁
  • z成分:x₁·y₂ − x₂·y₁

これらの成分の2乗和の平方根をsqrt関数で求めることで、外積の大きさ、つまり平行四辺形の面積が得られます。

実行結果

Area = 17.3205

この例では、ベクトル A = (3, 1, -2) と B = (1, -3, 4) が与えられた場合の平行四辺形の面積は、約17.32と計算されました。

  1. C++で3辺の長さが与えられた三角形の外接円の面積を求める方法

    C++で三角形の外接円の面積を計算する 本記事では、3辺の長さが分かっている三角形について、その外接円(3つの頂点すべてを通る円)の面積をC++で求める方法を解説します。 下図のように、辺ABの長さをa、辺BCの長さをb、辺CAの長さをc、外接円の半径をrとします。 外接円の半径を求める公式 外接円の半径rは、3辺の長さと三角形の面積Sを用いて、次の式で表されます。 具体的な手順は以下の通りです。 まず、半周長 s = (a + b + c) / 2 を求めます。 ヘロンの公式より、三角形の面積は S = √(s(s − a)(s − b)(s − c)) で計算できます。 半径 r =

  2. C++で楕円の面積を求めるプログラムの作成方法

    この記事では、C++を使って楕円(だえん)の面積を求める方法を解説します。楕円にはいくつかの重要な構成要素があり、それぞれの意味を理解しておくと計算の仕組みがより明確になります。楕円の主な構成要素要素説明中心楕円の中心点。2つの焦点を結ぶ線分の中点でもあります。長軸楕円における最も長い直径です。短軸楕円における最も短い直径です。弦楕円上の2点を結ぶ線分のことです。焦点楕円を定義する2つの特別な点。図中に示された2点が該当します。通径焦点を通り、長軸に対して垂直な直線(線分)のことです。楕円の面積の公式楕円の面積は、長半径 a と短半径 b を使って次の式で表されます。面積 = π × a ×