Si los puntos se encuentran en cualquier lugar del sistema de coordenadas, la distancia queda determinada por la relación:
Para demostrar esta relación se deben ubicar los puntos A(x1,y1) y B(x2,y2) en el sistema de coordenadas, luego formar un triángulo rectángulo de hipotenusa AB y emplear el teorema de pitágoras.
El algoritmo que se debe seguir para calcular la distancia entre los puntos A(7,5) y B (4,1) es el siguiente:
Código en Java
package javaapplication1;
package javaapplication1;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
double x1,x2,y1,y2,d; //Declaración de la variables
//Lectura de datos
x1 = Double.parseDouble(JOptionPane.showInputDialog("Ingrese x del punto A:"));
y1 = Double.parseDouble(JOptionPane.showInputDialog("Ingrese y del punto A:"));
x2 = Double.parseDouble(JOptionPane.showInputDialog("Ingrese x del punto B:"));
y2 = Double.parseDouble(JOptionPane.showInputDialog("Ingrese y del punto B:"));
//procesamiento
d = Math.hypot(x2-x1, y2-y1);
//Muestra de los resultados
JOptionPane.showMessageDialog(null, "La distancia entre los puntos \nA("+x1+","+y1+") y B("+x2+","+y2+") es ="+d);
}//fin main
}//fin clase
}//fin clase
En este ejemplo hemos utilizado el método Math.hypot(x,y) => que devuelve el teorema de pitagoras
justo lo que necesitamos, tambien podríamos haber utilizado Math.sqrt(Math.Pow(x2-x1),2+Math.pow(y2-y1,2))

Excelente Aporte.....
ResponderEliminarTambien lo puedes hacer como objeto...
ResponderEliminaresta es la manera en como yo lo realize..
//creas un class llamado Coordenada
class Coordenada
{
//atributos privados
private double x;
private double y;
double leeDatos(String v)
{
double n;
try
{
n=Double.parseDouble(v);
}
catch(Exception e)
{
n=0;
}
return n;
}
public Coordenada(String m)
{
String n[]=m.split(",");
x=leeDatos(n[0]);
y=leeDatos(n[1]);
}
//constructor
public Coordenada(double v)
{
setX(v);
setY(v);
}
public Coordenada(Coordenada otro)
{
setX(otro.getX());
setY(otro.getY());
}
//sets y gets
void setX(double x_)
{
x=x_;
}
void setY(double y_)
{
y=y_;
}
double getX()
{
return x;
}
double getY()
{
return y;
}
//sobre carga
public String toString()
{
return x+"";
}
public Coordenada equals(Coordenada otro)
{
d=Math.sqrt((getX()-otro.getX())*(getX()-otro.getX())+(getY()-otro.getY())*(getY()-otro.getY()));
Coordenada tmp=new Coordenada(d);
return tmp;
}
}
//creas un nuevo class llamado TesCoordenada
import javax.swing.*;
class TesCoordenada
{
public static void main(String arg[])
{
String lee;
Coordenada a,b,c;
lee=JOptionPane.showInputDialog("PRIMERA COORDENADA");
a=new Coordenada(lee);
lee=JOptionPane.showInputDialog("SEGUNDA COORDENADA");
b=new Coordenada(lee);
c=a.equals(b);
JOptionPane.showMessageDialog(null,"La Distancia es: "+c);
System.exit(0);
}
}
hola tengo una duda digamos que tengo una matriz [m][3] filas y columnas en cada fila tengo almacenadas las coordenadas de x, y y z de un punto, deseo calcular las distancias de la matriz [m][3] con esta otra de 3 por n columnas digamos que esta matriz tiene coordenadas y deseo conocer la distancia.. para este caso como seria el codigo para que calcule la distancia de la matriz m por 3 con la matriz de 3 por n
ResponderEliminaryo calculo las distancias pero para un componente de la matriz por favor ayudenme necesito explicitamente el codigo para que la formula de la distancia se repita tantas veces como puntos coordenados hallan
muchas gracias
Buenísimo!!! Gran aporte
ResponderEliminarBuenas tengo una duda, ese resultado viene dado en que medida?, metro, kilometro...
ResponderEliminary si es para calcular la distancia entre dos putnos pero de coordenadas X, Y y Z?, es decir en 3 dimensiones
ResponderEliminarme aparece en consola emergente? que hace posible eso?
ResponderEliminar