elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Problema con el par mas cercano. en: 9 Julio 2013, 08:55 am
Hola.
Tengo un cuadrado y distintos puntos en un plano. De cada punto sabemos su ejex y ejey.  Pretendo calcular que punto es más cercano a cada vértice del cuadrado.

Cada punto se refiere a un peaton y tiene la siguiente estructura
Código
  1. struct Vpeaton
  2. {
  3.       int ad_peaton;     //numero del punto
  4.       double adg_x;      //eje x del punto
  5.       double adg_y;      //eje y del punto
  6. };
  7. typedef std::vector<Vpeaton> V_peaton;

Mientras que el cuadrado viene definido por los vertices (xsup,ysup), (xsup, yinf), (xinf,ysup) y (xinf,ysup).

Este es el código que he escrito para averiguar el punto más cercano a cada esquina del cuadrado. Pero no me funciona y no se en que falla.

Código
  1. V_peaton Areas;
  2. //buscar peston cercano a cada esquina.
  3.              distminXsYs = sqrt((xsup-Areas[0].adg_x)*(xsup-Areas[0].adg_x)+(ysup-Areas[0].adg_y)*(ysup-Areas[0].adg_y));
  4.              distminXiYs = sqrt((xinf-Areas[0].adg_x)*(xinf-Areas[0].adg_x)+(ysup-Areas[0].adg_y)*(ysup-Areas[0].adg_y));
  5.              distminXsYi = sqrt((xsup-Areas[0].adg_x)*(xsup-Areas[0].adg_x)+(yinf-Areas[0].adg_y)*(yinf-Areas[0].adg_y));
  6.              distminXiYi = sqrt((xinf-Areas[0].adg_x)*(xinf-Areas[0].adg_x)+(yinf-Areas[0].adg_y)*(yinf-Areas[0].adg_y));
  7.  
  8.              for(int i=1; i<Areas.size(); i++)  
  9.              {                  
  10.                    dist1 = sqrt((xsup-Areas[i].adg_x)*(xsup-Areas[i].adg_x)+(ysup-Areas[i].adg_y)*(ysup-Areas[i].adg_y));
  11.                    dist2 = sqrt((xinf-Areas[i].adg_x)*(xinf-Areas[i].adg_x)+(ysup-Areas[i].adg_y)*(ysup-Areas[i].adg_y));
  12.                    dist3 = sqrt((xsup-Areas[i].adg_x)*(xsup-Areas[i].adg_x)+(yinf-Areas[i].adg_y)*(yinf-Areas[i].adg_y));
  13.                    dist4 = sqrt((xinf-Areas[i].adg_x)*(xinf-Areas[i].adg_x)+(yinf-Areas[i].adg_y)*(yinf-Areas[i].adg_y));
  14.  
  15.                    if(dist1<distminXsYs)
  16.                    {
  17.                               distminXsYs=dist1;
  18.                               peaton_1=Areas[i].ad_peaton;
  19.                    }
  20.                    if (dist2<distminXiYs)
  21.                    {
  22.                               distminXiYs=dist2;
  23.                               peaton_2=Areas[i].ad_peaton;
  24.                    }                              
  25.                    if(dist3<distminXsYi);
  26.                    {
  27.                               distminXsYi=dist3;
  28.                               peaton_3=Areas[i].ad_peaton;
  29.                    }
  30.                    if(dist4<distminXiYi);
  31.                    {
  32.                               distminXiYi=dist4;
  33.                               peaton_4=Areas[i].ad_peaton;
  34.                    }
  35.            }
2  Programación / Programación C/C++ / Ayuda ordenar ejes en: 3 Julio 2013, 21:19 pm
Hola.
Necesito ayuda para ordenar los vértices de un polígono convexo.
Tengo los siguientes vértices (x,y).
-9.75, 1.12.
-5.5, -0.5
-9.75, -1.12
-8, 1
-7.75, -1.4

Pues bien, lo que quiero es organizar dichos vértices para formar un polígono convexo.

Muchas gracias de antemano.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines