正六角形に内接する円に内接する正方形の面積を求めるC++プログラム
本記事では、正六角形に内接する円、さらにその円に内接する正方形の面積を求める方法を解説します。各記号は以下のように定義します。
- 正方形の一辺:a
- 円の半径:r
- 正六角形の一辺:A
位置関係を図にすると、最も外側に正六角形があり、その内部に円、さらに円の内部に正方形が収まる構造になります。
面積の導出手順
ステップ1:六角形に内接する円の半径
一辺がAの正六角形に内接する円の半径は、次の式で表されます。
r = (√3 / 2) × A
ステップ2:円と正方形の関係
円に内接する正方形では、円の半径は正方形の対角線の半分に等しくなります。対角線の長さは a√2 なので、次の関係が成り立ちます。
r = a / √2 ⇔ a = r × √2
ステップ3:両者の関係を整理
上記2つの式から、正方形の一辺aを六角形の一辺Aで表すと、次のようになります。
a = (√3 / 2) × A × √2 = A × √(3/2)
ステップ4:正方形の面積
面積は一辺の2乗なので、最終的に次のシンプルな公式が得られます。
面積 = a² = (3/2) × A²
このように、六角形の一辺Aさえ分かれば、正方形の面積を直接計算できることが分かります。
C++での実装例
#include <iostream>
#include <cmath>
using namespace std;
float area(float A) { // Aは六角形の一辺
if (A < 0) // 負の値は無効として扱う
return -1;
float area = (A*A) * float(3.0/2.0);
return area;
}
int main() {
float side = 5;
cout << "Area is: " << area(side);
}
出力結果
Area is: 37.5
コードの解説
このプログラムでは、六角形の一辺を引数として受け取り、導出した公式 (3/2) × A² を用いて面積を計算しています。入力値が負の場合は幾何学的に無効であるため、-1を返してエラーを示す設計になっています。
実行例では一辺を5としており、(3/2) × 5² = 37.5 となるため、出力結果も一致します。
-
正方形に内接する円の面積を求めるC言語プログラム
正方形に内接する円とは、正方形の四つの辺すべてに接する円のことです。このとき、内接円の直径は正方形の一辺の長さと等しくなります。内接円の面積は、次の公式で計算できます。面積 = (π / 4) × a × aここで「a」は正方形の一辺の長さです。これは、内接円の半径が「a / 2」になるため、一般的な円の面積の公式「π × r2」に代入すると「π × (a/2)2 = (π/4) × a2」となることに基づいています。プログラムのロジック内接円の面積は、公式「((π / 4) × a × a)」を用いて計算します。そのために、数学的に 22/7 すなわち 3.14 とされる円周率(π)の値をあ
-
C++で正方形の外接円の面積を求める方法
本記事では、正方形の一辺の長さが与えられたときに、その正方形の外接円の面積を求める方法について解説します。まず、理解を深めるために基本的な定義をおさらいしましょう。 基本用語の定義 正方形:すべての辺の長さが等しい四角形のことです。 外接円:多角形のすべての頂点に接する円のことです。 面積:二次元図形の広がりの大きさを数量的に表したものです。 外接円の面積の求め方 正方形の外接円の面積を計算するには、円と正方形それぞれのパラメータの間にある関係を見つける必要があります。 下の図のように、正方形のすべての頂点が円に接しています。この図から読み取れる重要な性質は、正方形の対角線の長さが円の直径