PHP演算法練習十:計算圓的半徑和中心座標

藏色散人
發布: 2023-04-10 15:16:01
原創
3982 人瀏覽過

在上一篇《PHP演算法練習九:將全部偶數轉到全部奇數之前》中給大家介紹怎麼透過PHP將全部偶數轉到全部奇數之前,那麼今天將繼續給大家帶來PHP演算法練習系列~

本文將介紹怎麼透過PHP計算圓的半徑與中心座標~

具體問題描述則是「如何寫一個PHP 程式來計算由平面上三個給定點構成的圓的半徑和中心座標(x, y)」?

該問題就相當於數學題了,已知三點,確定一個圓的半徑和中心座標。

看下圖:

PHP演算法練習十:計算圓的半徑和中心座標

給大家幾個公式:

設圓的公式如:PHP演算法練習十:計算圓的半徑和中心座標

#將圓方程式化為標準方程式:PHP演算法練習十:計算圓的半徑和中心座標

將上述係數代入即可解得圓心(x,y)與半徑R:

PHP演算法練習十:計算圓的半徑和中心座標

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演算法練習十:計算圓的半徑和中心座標的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板