0
Como sacar el perĂmetro de un poligono irregular mediante coordenadas
Como sacar el perĂmetro de un poligono irregular mediante coordenadas
4 Answers
0
Sumas la distancia entre cada punto, en secuencia;
es decir podrĂas usar un array para guardar cada coordenada (se infiere que las introducen en orden) y despuĂ©s con un foreach (para cada elemento del array) sacas la distancia con el siguiente elemento (existe fĂłrmula matematica para sacar la distancia entre dos puntos ) , obvio el Ășltimo con el primero, y para terminar sumas todo
Apartir de aquà lo resolveré con c# pero puedes usar lo que escribà antes para guiarte.
Entonces:
Primero hay que saber cuantos puntos tiene el polĂgono :
Console.WriteLine ("ingrese el nĂșmero de puntos que tiene el polĂgono " ) ;
int nPuntos = Convert.ToInt32(Console.ReadLine()) ;
Declaramos el array(por el tipo de datos hay que usar uno de dos dimensiones que serĂĄn x y) :
int [ nPuntos, 2] coordenadas;
Ya que tenemos eso, ahora hay que preguntar cada coordenada :
for(int i=0;i<coordenadas.Lenght;i++) {
Console.WriteLine("Ingrese x del punto " +i) ;
coordenadas[i,0]=Convert.ToInt32(Console.ReadLine()) ;
0
Console.WriteLine("Ingrese y del punto " +i) ;
coordenadas[i,1]=Convert.ToInt32(Console.ReadLine()) ;
}
Ahora que tenemos todas las coordenadas hay que proceder sacar la distancia entre cada punto usando la fĂłrmula:
d=raiz( (x2-x1)^2 + (y2-y1) ^2 )
"la distancia es igual a la raĂz de la suma de las diferencias de (x2 - x1) al cuadrado y (y2 - y1) al cuadrado" por si aĂșn tienes duda x1 y1 son las coordenadas del primer punto y x2 y2 son coordenadas del segundo punto
0
SerĂa de la siguiente forma:
int d =0;
for(int i=0;i<nPuntos-1;i++){
d+=Math.Sqrt(Math.Pow(coordenadas[i+1,0] - coordenadas[i,0] , 2) + Math.Pow(coordenadas[i+1,1] - coordenadas[i,1] , 2)) ;
}
Solo faltara sacar la distancia del Ășltimo punto con el primero por lo que :
d+=Math.Sqrt(Math.Pow(coordenadas[coordenadas.Length-1,0] - coordenadas[0,0] , 2) + Math.Pow(coordenadas[coordenadas.Length-1,1] - coordenadas[0,1] , 2)) ;
0
Console.WriteLine("El perĂmetro es: " +d) ;
Y ya serĂa todo.