ホームページ >バックエンド開発 >PHPチュートリアル >PHP アルゴリズム演習 10: 円の半径と中心座標を計算する

PHP アルゴリズム演習 10: 円の半径と中心座標を計算する

藏色散人
藏色散人オリジナル
2021-08-16 09:49:184017ブラウズ

前回の記事「PHPアルゴリズム演習9:すべての偶数をすべての奇数に変換する」では、PHPですべての偶数をすべての奇数に変換する方法を紹介しましたので、今日はその続きをしていきます。 Bringing the PHP アルゴリズム演習シリーズ ~

この記事では、PHP を通じて円の半径と中心座標を計算する方法を紹介します~

具体的な問題の説明 は、「平面上の与えられた 3 つの点で構成される円の半径と中心座標 (x, y) を計算する PHP プログラムの書き方」です。

この問題は数学の問題に相当します。3 つの点が与えられた場合、円の半径と中心の座標を決定します。

下の図を見てください:

PHP アルゴリズム演習 10: 円の半径と中心座標を計算する

いくつかの公式を紹介します:

円を設定するための公式は次のとおりです。 PHP アルゴリズム演習 10: 円の半径と中心座標を計算する

円方程式を標準方程式に変換します: PHP アルゴリズム演習 10: 円の半径と中心座標を計算する

上記の係数を代入して円の中心 (x, y) と半径 R を求めます:

PHP アルゴリズム演習 10: 円の半径と中心座標を計算する

PHP 実装コードは次のとおりです:

<?php
$x1 = 0; $y1 = 0; $x2 = 2; $y2 = 0; $x3 = 2; $y3 = 2;
$a1 = 2 * ($x2 - $x1);
$b1 = 2 * ($y2 - $y1);
$c1 = $x1 * $x1 - $x2 * $x2 + $y1 *$y1 - $y2 * $y2;
$a2 = 2 * ($x3 - $x1);
$b2 = 2 * ($y3 - $y1);
$c2 = $x1 * $x1 - $x3 * $x3 + $y1 *$y1 - $y3 * $y3;
$x = ($b1 * $c2 - $b2 * $c1) / ($a1 * $b2 - $a2 * $b1);
$y = ($c1 * $a2 - $c2 * $a1) / ($a1 * $b2 - $a2 * $b1);
$r = sqrt(($x - $x1) * ($x - $x1) + ($y - $y1) * ($y - $y1));
printf("圆的中心坐标(x,y)和半径:<br>");
printf("(%.3f %.3f) %.3f\n", $x, $y, $r);

計算結果は次のとおりです:

圆的中心坐标(x,y)和半径:
(1.000 1.000) 1.414

注:

sqrt() 関数 数値の平方根を返します。

構文は「sqrt(x)」で、x の平方根を返すことを意味します。

パラメータ x は数値を表します。パラメータ x が負の数値の場合、sqrt() 関数は -1.#IND を返します。 (添付: PHP 5.3.0 より前では、この関数は配列を文字列 Array として扱っていたため、長さ 5 の文字列が返され、E_NOTICE レベルのエラーが生成されました。)

最後に、最新のものをお勧めします。最も包括的な「PHP ビデオ チュートリアル 」 ~ ぜひ学んでください!

以上がPHP アルゴリズム演習 10: 円の半径と中心座標を計算するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。