w3resource

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


53. Circle Through 3 Points

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.

For more Practice: Solve these Related Problems:

  • Write a PHP script to calculate the center and radius of a circle passing through three non-collinear points.
  • Write a PHP function to compute circle parameters from three coordinate points using circumcenter formulas.
  • Write a PHP script to validate three input points and derive the central coordinate and radius of the circle.
  • Write a PHP script to solve circle geometry using matrix operations from three given points.

Go to:


PREV : Count Primes Up to n.
NEXT : Sum of Two Integers With Overflow Check.

PHP Code Editor:



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

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.