w3resource

PHP Exercises: Compute the radius and the central coordinate of a circle

PHP: Exercise-53 with Solution

Write a PHP program to compute the radius and the central coordinate (x, y) of a circle which is constructed by three given points on the plane surface.

Sample Solution:

PHP Code:

<?php
// Define the coordinates of three points
$x1 = 0; $y1 = 0; $x2 = 2; $y2 = 0; $x3 = 2; $y3 = 2;

// Calculate coefficients for the equations of two perpendicular bisectors
$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;

// Calculate the coordinates of the center (x, y) and the radius (r) of the circle
$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));

// Print the central coordinate (x, y) and the radius of the circle
printf("Central coordinate(x, y) and radius of the circle:\n");
printf("(%.3f %.3f) %.3f\n", $x, $y, $r);

?>

Explanation:

  • Point Definition:
    • Three points are defined in a 2D space:
      • Point 1: (x1,y1) = (0,0)
      • Point 2: (x2,y2) = (2,0)
      • Point 3: (x3,y3) = (2,2)
  • Calculate Coefficients for Perpendicular Bisectors:
    • Coefficients for the equations of two perpendicular bisectors are calculated using the coordinates of the points:
  • Calculate Center Coordinates and Radius:
    • The coordinates of the center of the circle (x,y) and the radius r are calculated using the coefficients:
  • Output the Result:
    • The central coordinates (x,y) and the radius r of the circle are printed:
      • printf("Central coordinate(x, y) and radius of the circle:\n");
      • printf("(%.3f %.3f) %.3f\n", $x, $y, $r); displays the values rounded to three decimal places.

Output:

Central coordinate(x,y) and radius of the circle:
(1.000 1.000) 1.414

Flowchart:

Flowchart: Compute the radius and the central coordinate of a circle.

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP program to print the number of prime numbers which are less than or equal to a given integer.
Next: Write a PHP program to compute the sum of the digits of a number.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/php-exercises/php-basic-exercise-53.php