登录  /  注册

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

藏色散人
发布: 2021-08-16 09:49:18
原创
3762人浏览过

在上一篇《php算法练习九:将全部偶数转到全部奇数之前》中给大家介绍怎么通过php将全部偶数转到全部奇数之前,那么今天将继续给大家带来php算法练习系列~

本文将给大家介绍怎么通过PHP计算圆的半径和中心坐标~

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

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

看下图:

f76a00d8c64d726ebd900fcd81294b5.png

给大家提供几个公式:

设圆的公式如:e749c6f0828a610c6592626a6ef21dc.png

将圆方程化为标准方程:5d3da5f7969210dd7e8dc0ccec346a0.png

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

025896b079506fc43f80e603f609ad7.png

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中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号