Encontrar si un punto se encuentra dentro de un círculo

Dado un círculo (coordenadas de centro y radio) y un punto (coordenada), encuentre si el punto se encuentra dentro o sobre el círculo, o no. 

Ejemplos: 

Input: x = 4, y = 4 // Given Point
       circle_x = 1, circle_y = 1, rad = 6; // Circle
Output: Inside 

Input: x = 3, y = 3 // Given Point
       circle_x = 0, circle_y = 1, rad = 2; // Circle
Output: Outside

Le recomendamos encarecidamente que minimice su navegador y que pruebe esto usted mismo primero. 

La idea es calcular la distancia del punto desde el centro. Si la distancia es menor o igual que el radio. el punto está adentro, sino afuera.

A continuación se muestra la implementación de la idea anterior. 

C++

// C++ program to check if a point
// lies inside a circle or not
#include <bits/stdc++.h>
using namespace std;
 
bool isInside(int circle_x, int circle_y,
                   int rad, int x, int y)
{
    // Compare radius of circle with distance
    // of its center from given point
    if ((x - circle_x) * (x - circle_x) +
        (y - circle_y) * (y - circle_y) <= rad * rad)
        return true;
    else
        return false;
}
 
// Driver function
int main()
{
    int x = 1, y = 1;
    int circle_x = 0, circle_y = 1, rad = 2;
    isInside(circle_x, circle_y, rad, x, y) ?
    cout << "Inside" : cout << "Outside";
}

Java

// Java program to check if a point lies
// inside a circle or not
 
class GFG {
 
    static boolean isInside(int circle_x, int circle_y,
                                 int rad, int x, int y)
    {
        // Compare radius of circle with
        // distance of its center from
        // given point
        if ((x - circle_x) * (x - circle_x) +
            (y - circle_y) * (y - circle_y) <= rad * rad)
            return true;
        else
            return false;
    }
 
    // Driver Program to test above function
    public static void main(String arg[])
    {
        int x = 1, y = 1;
        int circle_x = 0, circle_y = 1, rad = 2;
 
        if (isInside(circle_x, circle_y, rad, x, y))
            System.out.print("Inside");
        else
            System.out.print("Outside");
    }
}
 
// This code is contributed by Anant Agarwal.

Python3

# Python3 program to check if
# a point lies inside a circle
# or not
 
def isInside(circle_x, circle_y, rad, x, y):
     
    # Compare radius of circle
    # with distance of its center
    # from given point
    if ((x - circle_x) * (x - circle_x) +
        (y - circle_y) * (y - circle_y) <= rad * rad):
        return True;
    else:
        return False;
 
# Driver Code
x = 1;
y = 1;
circle_x = 0;
circle_y = 1;
rad = 2;
if(isInside(circle_x, circle_y, rad, x, y)):
    print("Inside");
else:
    print("Outside");
 
# This code is contributed
# by mits.

C#

// C# program to check if a point lies
// inside a circle or not
using System;
 
class GFG {
 
    static bool isInside(int circle_x, int circle_y,
                              int rad, int x, int y)
    {
        // Compare radius of circle with
        // distance of its center from
        // given point
        if ((x - circle_x) * (x - circle_x) +
            (y - circle_y) * (y - circle_y)    <= rad * rad)
            return true;
        else
            return false;
    }
 
    // Driver Program to test above function
    public static void Main()
    {
        int x = 1, y = 1;
        int circle_x = 0, circle_y = 1, rad = 2;
 
        if (isInside(circle_x, circle_y, rad, x, y))
            Console.Write("Inside");
        else
            Console.Write("Outside");
    }
}
 
// This code is contributed by nitin mittal.

PHP

<?php
// PHP program to check if a point
// lies inside a circle or not
 
function isInside($circle_x, $circle_y,
                          $rad, $x, $y)
{
    // Compare radius of circle
    // with distance of its center
    // from given point
    if (($x - $circle_x) * ($x - $circle_x) +
        ($y - $circle_y) * ($y - $circle_y) <=
                               $rad * $rad)
        return true;
    else
        return false;
}
 
// Driver Code
$x = 1; $y = 1;
$circle_x = 0; $circle_y = 1; $rad = 2;
if(isInside($circle_x, $circle_y,
            $rad, $x, $y))
echo "Inside";
else
echo "Outside";
 
// This code is contributed
// by nitin mittal.
?>

Javascript

<script>
 
// Javascript program to check if a point
// lies inside a circle or not
function isInside(circle_x, circle_y, rad, x, y)
{
     
    // Compare radius of circle with
    // distance of its center from
    // given point
     
    if ((x - circle_x) * (x - circle_x) +
        (y - circle_y) * (y - circle_y) <= rad * rad)
        return true;
    else
        return false;
}
 
// Driver code
var x = 1;
var y = 1;
var circle_x = 0;
var circle_y = 1;
var rad = 2;
 
if (isInside(circle_x, circle_y, rad, x, y))
{
    document.write("Inside");
}
else
{
    document.write("Outside");
}
 
// This code is contributed by bunnyram19
 
</script>

Producción : 

Inside

Gracias a Utkarsh Trivedi por sugerir la solución anterior.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *