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

ひし形に内接する円の面積の求め方|対角線から導く公式とC言語サンプルコード

ひし形に内接する円は、ひし形の4つの辺にそれぞれ1点ずつ接します。つまり、ひし形の各辺はすべて円の接線となっています。

ひし形に内接する円の面積の求め方|対角線から導く公式とC言語サンプルコード

ここで、r は求めるべき半径です。値が与えられた2つの対角線 a と b を使って計算していきます。

半径 r の導出方法

図中の三角形 AOB の面積を、2通りの方法で表してみましょう。

三角形 AOB の面積 = ½ × OA × OB = ½ × AB × r(どちらも「面積 = ½ × 底辺 × 高さ」の公式を使用)

この等式を式に整理すると、次のようになります。

½ × (a/2) × (b/2) = ½ × √(a2/4 + b2/4) × r

a×b / 8 = √(a2 + b2) × r / 4

これを r について解くと、

r = a×b / (2√(a2 + b2))

円の面積の公式

半径 r が求まったので、円の面積は次の公式で表せます。

円の面積 = πr2 = πa2b2 / [4(a2 + b2)]

計算例

ひし形の対角線が 5 と 10 の場合を考えてみます。

このとき、内接円の面積は 15.700000 となります。

サンプルコード

#include <stdio.h>
int main(void) {
    int a = 5; int b= 10;
    float pie = 3.14;
    float area = (float)((pie*a*a*b*b)/(4*((a*a)+(b*b))));
    printf("The area of circle inscribed in the rhombus of diagonal %d and %d is %f",a,b,area);
    return 0;
}

実行結果

The area of circle inscribed in the rhombus of diagonal 5 and 10 is 15.700000
  1. 半円に内接する長方形に内接する円の面積の求め方

    半径 R の半円が与えられているとします。この半円の中に、長さ l、幅 b の長方形が内接しており、さらにその長方形の中に半径 r の円が内接しています。本記事では、この内側の円の面積を求める手順を、数式の導出からC++による実装例までわかりやすく解説します。 半円に内接する最大の長方形 半円に内接する長方形は、底辺が半円の直径上にあり、上側の2つの頂点が半円周上にあります。このとき、三平方の定理(ピタゴラスの定理)より、l と b の間には次の関係が成り立ちます。 (l / 2)2 + b2 = R2 長方形の面積 A = l × b を最大化する条件を求めると、微分計算により次の値が

  2. 正方形に内接する円の面積を求めるC言語プログラム

    正方形に内接する円とは、正方形の四つの辺すべてに接する円のことです。このとき、内接円の直径は正方形の一辺の長さと等しくなります。内接円の面積は、次の公式で計算できます。面積 = (π / 4) × a × aここで「a」は正方形の一辺の長さです。これは、内接円の半径が「a / 2」になるため、一般的な円の面積の公式「π × r2」に代入すると「π × (a/2)2 = (π/4) × a2」となることに基づいています。プログラムのロジック内接円の面積は、公式「((π / 4) × a × a)」を用いて計算します。そのために、数学的に 22/7 すなわち 3.14 とされる円周率(π)の値をあ