Programa para calcular distancia entre dos puntos en 3D

Dadas dos coordenadas (x1, y1, z1) y (x2, y2, z2) en 3 dimensiones. La tarea es encontrar la distancia entre ellos.
Ejemplos: 
 

Input: x1, y1, z1 = (2, -5, 7)
       x2, y2, z1 = (3, 4, 5)
Output: 9.2736184955

Input: x1, y1, z1 = (0, 0, 0)
       x2, y2, z1 = (1, 1, 1)
Output: 1.73205080757

Enfoque: La fórmula para la distancia entre dos puntos en 3 dimensiones, es decir (x1, y1, z1) y (x2, y2, z2) se ha derivado del teorema de Pitágoras, que es:
Distancia =  $\sqrt{(x2-x1)^{2} + (y2-y1)^{2} + (z2-z1)^{2}}$
A continuación se muestra la implementación de las fórmulas anteriores: 
 

C++

// C++ program to find
// distance between
// two points in 3 D.
#include <bits/stdc++.h>
#include <iomanip>
#include <iostream>
#include <math.h>
using namespace std;
 
// function to print distance
void distance(float x1, float y1,
            float z1, float x2,
            float y2, float z2)
{
    float d = sqrt(pow(x2 - x1, 2) +
                pow(y2 - y1, 2) +
                pow(z2 - z1, 2) * 1.0);
    std::cout << std::fixed;
    std::cout << std::setprecision(2);
    cout << " Distance is " << d;
    return;
}
 
// Driver Code
int main()
{
    float x1 = 2;
    float y1 = -5;
    float z1 = 7;
    float x2 = 3;
    float y2 = 4;
    float z2 = 5;
     
    // function call for distance
    distance(x1, y1, z1,
            x2, y2, z2);
    return 0;
}
 
// This code is contributed
// by Amber_Saxena.

C

// C program to find
// distance between
// two points in 3 D.
#include <stdio.h>
#include<math.h>
 
// function to print distance
void distance(float x1, float y1,
              float z1, float x2,
              float y2, float z2)
{
    float d = sqrt(pow(x2 - x1, 2) +
                   pow(y2 - y1, 2) +
                   pow(z2 - z1, 2) * 1.0);
    printf("Distance is %f", d);
    return;
}
 
// Driver Code
int main()
{
    float x1 = 2;
    float y1 = -5;
    float z1 = 7;
    float x2 = 3;
    float y2 = 4;
    float z2 = 5;
     
    // function call for distance
    distance(x1, y1, z1,   
             x2, y2, z2);
    return 0;
}
 
// This code is contributed
// by Amber_Saxena.

Java

// Java program to find
// distance between
// two points in 3 D.
import java .io.*;
import java.lang.Math;
 
class GFG
{
     
// Function for
// distance
static void distance(float x1, float y1,
                     float z1, float x2,
                     float y2, float z2)
{
     
    double d = Math.pow((Math.pow(x2 - x1, 2) +
                         Math.pow(y2 - y1, 2) +
                         Math.pow(z2 - z1, 2) *
                                    1.0), 0.5);
    System.out.println("Distance is "+ d);
    return;
}
 
// Driver code
public static void main(String[] args)
{
    float x1 = 2;
    float y1 = -5;
    float z1 = 7;
    float x2 = 3;
    float y2 = 4;
    float z2 = 5;
     
    // function call
    // for distance
    distance(x1, y1, z1,
             x2, y2, z2);
}
}
 
// This code is contributed
// by Amber_Saxena.

Python

# Python program to find distance between
# two points in 3 D.
 
import math
 
# Function to find distance
def distance(x1, y1, z1, x2, y2, z2):
      
    d = math.sqrt(math.pow(x2 - x1, 2) +
                math.pow(y2 - y1, 2) +
                math.pow(z2 - z1, 2)* 1.0)
    print("Distance is ")
    print(d)
 
# Driver Code
x1 = 2
y1 = -5
z1 = 7
x2 = 3
y2 = 4
z2 = 5
 
# function call for distance
distance(x1, y1, z1, x2, y2, z2)   

C#

// C# program to find
// distance between
// two points in 3 D.
using System;
 
class GFG
{
     
// Function for
// distance
static void distance(float x1, float y1,
                     float z1, float x2,
                     float y2, float z2)
{
    double d = Math.Pow((Math.Pow(x2 - x1, 2) +
                         Math.Pow(y2 - y1, 2) +
                         Math.Pow(z2 - z1, 2) *
                                   1.0), 0.5);
    Console.WriteLine("Distance is \n" + d);
    return;
}
 
// Driver code
public static void Main()
{
    float x1 = 2;
    float y1 = -5;
    float z1 = 7;
    float x2 = 3;
    float y2 = 4;
    float z2 = 5;
     
    // function call
    // for distance
    distance(x1, y1, z1,
             x2, y2, z2);
}
}
 
// This code is contributed
// by chandan_jnu.

PHP

<?php
// PHP program to find
// distance between
// two points in 3 D.
 
// function to print distance
function distance($x1, $y1, $z1,
                  $x2, $y2, $z2)
{
    $d = sqrt(pow($x2 - $x1, 2) +
              pow($y2 - $y1, 2) +
              pow($z2 - $z1, 2) * 1.0);
    echo "Distance is ". $d;
}
 
// Driver Code
$x1 = 2;
$y1 = -5;
$z1 = 7;
$x2 = 3;
$y2 = 4;
$z2 = 5;
     
// function call for distance
distance($x1, $y1, $z1,
         $x2, $y2, $z2);
 
// This code is contributed
// by Mahadev.
?>

Javascript

<script>
 
// javascript program to find
// distance between
// two points in 3 D.   
 
// Function for distance
    function distance(x1 , y1 , z1 , x2 , y2 , z2) {
 
        var d = Math.pow((Math.pow(x2 - x1, 2) +
                Math.pow(y2 - y1, 2) +
                Math.pow(z2 - z1, 2) * 1.0), 0.5);
        document.write("Distance is " + d.toFixed(10));
        return;
    }
 
    // Driver code
     
        var x1 = 2;
        var y1 = -5;
        var z1 = 7;
        var x2 = 3;
        var y2 = 4;
        var z2 = 5;
 
        // function call
        // for distance
        distance(x1, y1, z1, x2, y2, z2);
 
// This code contributed by aashish1995
 
</script>
Producción: 

Distance is 
9.2736184955

 

Complejidad de tiempo: O (logn)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por anamika9988 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 *