C++で正三角形に内接する円に内接する正方形の面積を求める方法
本記事では、正三角形に内接する円、さらにその円に内接する正方形の面積を求める方法を解説します。
使用する記号の定義は以下の通りです。
- 正方形の一辺の長さ:a
- 円の半径:r
- 正三角形の一辺の長さ:A
面積の導出手順
1. 円の半径を求める
正三角形に内接する円の半径は、その三角形の内接円の半径(内半径)と一致します。正三角形の内半径は次の式で表されます。
r = A / (2√3)
2. 正方形の対角線を求める
正方形が円に内接している場合、正方形の対角線は円の直径と一致します。したがって、対角線 d は次のように求められます。
d = 2r = 2 × A / (2√3) = A / √3
3. 正方形の面積を求める
対角線の長さが分かれば、正方形の面積は次の式で計算できます。
面積 = d² / 2 = (A / √3)² / 2 = A² / 6
つまり、求める面積は正三角形の一辺の長さの2乗を6で割った値になります。
C++による実装例
#include <iostream>
#include <cmath>
using namespace std;
float area(float A) { // A は正三角形の一辺の長さ
if (A < 0) // 負の値は無効
return -1;
float d = A / sqrt(3); // 対角線の長さ
float area = 0.5 * d * d; // 面積 = d² / 2
return area;
}
int main() {
float side = 10;
cout << "Area is: " << area(side);
}実行結果
Area is: 16.6667
計算結果の検証
一辺 A = 10 の正三角形の場合、理論値は A²/6 = 100/6 ≒ 16.6667 となり、プログラムの出力と一致します。負の値が入力された場合は無効な入力として -1 を返すため、堅牢性も確保されています。
-
C++で正方形の面積を求めるプログラムの書き方
本記事では、正方形の一辺が与えられたときに、その一辺をもとに正方形の面積を計算して出力するC++プログラムを紹介します。 正方形とは 正方形とは、4つの辺と4つの角(すべて90度)を持つ2次元の平面図形であり、すべての辺の長さが等しいという特徴があります。言い換えれば、正方形とは「すべての辺の長さが等しい長方形」の一種であるとも言えます。 正方形のイメージは以下の通りです。 正方形の面積 = 一辺 × 一辺 入力例と出力例 入力:6 出力:36 一辺が6なので、出力は 6×6=36 となります。 入力:12 出力:144 アルゴリズム 処理の流れは以下のようになります。 関数 int m
-
C++で正三角形の面積と周囲の長さを計算するプログラム
正三角形とは? その名の通り、正三角形とは3つの辺の長さがすべて等しく、内角もすべて60°で等しい三角形のことです。正多角形の一種であるため、「正多角形としての三角形(regular polygon)」とも呼ばれます。 正三角形には以下のような性質があります。 3つの辺の長さがすべて等しい すべての内角が同じ60°である 下記は正三角形の図です。 問題の概要 正三角形の1辺の長さが与えられたとき、その面積と周囲の長さを求めることが課題です。ここでいう面積とは図形が占める領域の広さを指し、周囲の長さ(外周)とは三角形の境界線の全長を指します。 正三角形の面積と周囲の長さは、それぞれ次の公