• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

PHP算法练习十计算圆的半径和心坐标

武飞扬头像
PHP中文网
帮助11

具体问题描述则是“如何编写一个 PHP 程序来计算由平面上三个给定点构成的圆的半径和中心坐标 (x, y)”?

该问题就相当于一个数学题了,已知三点,确定一个圆的半径和中心坐标。

看下图:

学新通技术网

给大家提供几个公式:

设圆的公式如:学新通技术网

将圆方程化为标准方程:学新通技术网

将上述系数代入即可解得圆心(x,y)和半径R:

学新通技术网

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视频教程》~快来学习吧!

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tangbicjc
系列文章
更多 icon
同类精品
更多 icon
继续加载