Si los puntos se encuentran en cualquier lugar del sistema de coordenadas, la distancia queda
determinada por la relacin:
Para demostrar esta relacin se deben ubicar los puntos A(x1,y1) y B(x2,y2) en el sistema de
coordenadas, luego formar un tringulo rectngulo de hipotenusa AB y emplear el teorema de
pitgoras.
El algoritmo que se debe seguir para calcular la distancia entre los puntos A(7,5) y B (4,1) es el
siguiente:
El resultado es 5 unidades.
Cdigo en Java
package javaapplication1;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
double x1,x2,y1,y2,d; //Declaracin 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
En este ejemplo hemos utilizado el mtodo Math.hypot(x,y) => que devuelve el teorema de
pitagoras justo lo que necesitamos, tambien podramos haber
utilizado Math.sqrt(Math.Pow(x2-x1),2+Math.pow(y2-y1,2))
Publicado por wlopezmen 9:13
Etiquetas: distancia, ptagoras, puntos
6 comentarios:
1.
Darwin Martinez17 de julio de 2010, 13:19
Excelente Aporte.....
Responder
2.
Darwin Martinez17 de julio de 2010, 13:24
Tambien lo puedes hacer como objeto...
esta 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);
}
}