<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hola,<br>
      <br>
      ¿hay alguna razón para que exista tanta cantidad de clases?,
      tenemos vector2d, vector2h, vector3d, vector3h, matriz3x3,
      matrix3x4, etc. Todas esas clases en realidad no aportan nada, ya
      que simplemente le dan otro nombre a algo que ya existe en Eigen,
      y el propia Eigen te da para ellos todo lo que quieras:<br>
      <br>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <a href="http://eigen.tuxfamily.org/1/classEigen_1_1Vector.html">http://eigen.tuxfamily.org/1/classEigen_1_1Vector.html</a><br>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <a href="http://eigen.tuxfamily.org/1/classEigen_1_1Matrix.html">http://eigen.tuxfamily.org/1/classEigen_1_1Matrix.html</a><br>
      <br>
      operaciones, normalizado, y un montón de historias más.<br>
      <br>
      Luego, si lo que se quiere es una librería para geometría, con
      tener clases de este tipo valdría: Plane, Line2D, Line3D,
      Segment2D, Segment3D, Point2D, Point3D, y que todas ellas tiren
      directamente de Eigen o de las clases inferiores, es decir, los
      constructores del Line2D podrían ser:<br>
      <br>
      Line2D(double p1x, double p1y, double p2x, double p2y);<br>
      Line2D(Eigen::Vector2d p1, Eigen::Vector2d p2);<br>
      Line2D(Point2D p1, Point2D p2);<br>
      Line2D(double vx, double vy, double vz);<br>
      Line2D(Eigen::Vector3d v);<br>
      <br>
      Y el Point2D sería:<br>
      <br>
      Point2D(double x, double y, double h=1.0);<br>
      Point2D(Eigen::Vector2d p, double h=1.0);<br>
      Point2D(Eigen::Vector3d p);<br>
      <br>
      Con eso das la opción para que acepte cualquier cosa, con H o sin
      H. Por cierto, a la hora de utilizar Eigen utilizad siempre que
      podáis double, ya que hay problemas con los float entre la versión
      32b y 64b (ahora mismo está todo el float).<br>
      <br>
      Saludos.<br>
      <br>
      El 01/08/13 14:08, Roberto Calvo escribió:<br>
    </div>
    <blockquote cite="mid:1375358895.28105.21.camel@vega" type="cite">
      <pre wrap="">
Alex, le he estado dando una vuelta toda esta mañana a la librería
Geometry.

Sobre el CMakeLists.txt
   - He añadido cpp's que faltaban, sino fallaban las referencias cuando
compilabas contra la librería.
   - He añadido también los target link a las librerías (tinyxml GLU),
sino quien use libgeometry.so las tiene que añadir y no tiene sentido.

   - Faltan por añadir que avise de las dependencias (tinyxml, GLU,
eigen) y los include. Yo las he puesto a pelo en el CMakeLists pero
sería bueno que lo hiciera automáticamente con cmake.

Sobre Progeo, funciona perfecto! :-) Las pruebas al menos que tenía yo
siguen funcionando bien. He modificado la clase para que tenga 2
constructores, uno para el XML y otro para pasarle la información
directamente en matrices. Ahhh también he cambiado el define de la
cabecera que era igual que progeo1 y al estar definida no entraba en
progeo2.h

También he visto alguna otra cosa como que Matriz3x3 tiene el método
"getMatriz" y Matriz4x4 tiene el método "getMatrix". Deberíamos
unificarlo todo. Además tendríamos que usar siempre el inglés para el
código fuente.

He abierto un bug en [1] para tenerlo controlado, tenemos que dejar esta
librería lista para usar :-) Si quieres/queréis cuenta para el redmine y
poder actualizar los bugs dímelo.

Un saludo!

[1] <a class="moz-txt-link-freetext" href="http://sarastro.gsyc.es/issues/26">http://sarastro.gsyc.es/issues/26</a>


El mié, 31-07-2013 a las 17:40 +0200, Roberto Calvo escribió:
</pre>
      <blockquote type="cite">
        <pre wrap="">El mié, 31-07-2013 a las 17:32 +0200, Alejandro Hernández escribió:
</pre>
        <blockquote type="cite">
          <pre wrap="">En principio debería de ser estable, utiliza las mismas formulas
matemáticas que progeo, pero en lugar de GSL, utiliza Eigen. No la he
testeado lo suficiente para para asegurarte 100% que funciona todo
correctamente. El parseador de XML es el mismo en ambas versiones.
</pre>
        </blockquote>
        <pre wrap="">
Ok! Pues le voy a dedicar un rato a todo esto, y voy a integrarlo todo
con geometry.

Te cuento si veo algún problema.

</pre>
        <blockquote type="cite">
          <pre wrap="">



Alejandro Hernández Cordero


   



Visit and play my Curriculum vitae
-&gt; <a class="moz-txt-link-freetext" href="https://googledrive.com/host/0BytBL_SySiIjX19Pd1o5dlZaRHc/Game.html">https://googledrive.com/host/0BytBL_SySiIjX19Pd1o5dlZaRHc/Game.html</a>


El 31 de julio de 2013 17:29, Roberto Calvo <a class="moz-txt-link-rfc2396E" href="mailto:rocapal@gsyc.urjc.es">&lt;rocapal@gsyc.urjc.es&gt;</a>
escribió:
        El mié, 31-07-2013 a las 15:54 +0200, Alejandro Hernández
        escribió:
        &gt; Hola,
        &gt;
        &gt;
        &gt; Siéntete libre de mejorar la biblioteca, cuanto más completa
        este
        &gt; mucho mejor.
        &gt;
        &gt;
        &gt; Ahora mismo utilizamos los vectores math::vector2 (o
        math::vector2H en
        &gt; homogeneas), igual para el caso de puntos 3D. Estas clases
        utilizan
        &gt; Eigen. Ahora mismo solo existe vector y no la clase punto.
        Puedes
        &gt; crearte una clase nueva que sea punto en esencia tiene que
        ser muy
        &gt; parecida a la del Vector.
        
        
        Genial, pues creo que modificando la clase Segmento tendré
        suficiente,
        porque veo que la nueva implementación de progeo utiliza
        Vector3H y
        Vector2H así que no es necesario crearse una nueva clase para
        punto3D
        ¿no crees?
        
        int Progeo::project(math::Vector3H in, math::Vector2H &amp;out)
        
        Por cierto, sobre la la librería de Progeo que está dentro de
        geometry
        ¿es estable? Es la siguiente versión de progeo ¿verdad? Se
        puede
        integrar sin problemas o aún está por desarrollar.
        
        Veo que para inicializar hace falta el fichero XML ¿donde está
        definido
        el formato? Aún así, casi seguro que le añado un par de
        métodos para
        pasarle directamente las matrices de posición, K y RT para
        utilizarla
        directamente desd código sin tener que generar el fichero.
        
        Ahora mismo tengo una parte del calibrador funcionando con
        progeo
        antigua, dime cuanto de estable es esta y ya lo paso todo para
        que
        utilice geometry.
        
        Un saludo!
        
        
        &gt;
        &gt; Alejandro Hernández Cordero
        &gt;
        &gt;
        &gt;
        &gt;
        &gt;
        &gt;
        &gt; Visit and play my Curriculum vitae
        &gt; -&gt;
        <a class="moz-txt-link-freetext" href="https://googledrive.com/host/0BytBL_SySiIjX19Pd1o5dlZaRHc/Game.html">https://googledrive.com/host/0BytBL_SySiIjX19Pd1o5dlZaRHc/Game.html</a>
        &gt;
        &gt;
        &gt; El 30 de julio de 2013 16:33, Roberto Calvo
        <a class="moz-txt-link-rfc2396E" href="mailto:rocapal@gsyc.urjc.es">&lt;rocapal@gsyc.urjc.es&gt;</a>
        &gt; escribió:
        &gt;
        &gt;         Hola,
        &gt;
        &gt;         He desarrollado un par de métodos para trabajar con
        segmentos
        &gt;         en 3D
        &gt;         porque no lo he encontrado en geometry. Básicamente
        es para
        &gt;         dado 2puntos
        &gt;         3D, obtener la recta, y luego sobre la recta hallar
        puntos con
        &gt;         una Z
        &gt;         concreta y saber si un punto dado la contiene en esa
        recta 3D.
        &gt;
        &gt;         Alex, ¿como es la mejor manera de integrarlo? ¿Lo
        añado dentro
        &gt;         de
        &gt;         Segmento? ¿Que tipo de datos usáis para representar
        puntos en
        &gt;         3D, el
        &gt;         HPoint3D de progeo o algún otro?
        &gt;
        &gt;         Me ha dicho Edu que andáis modificándola para
        unificar con
        &gt;         Eigen ¿ves
        &gt;         algún problema en que añada ya el código o espero?
        &gt;
        &gt;         Ya me contáis.
        &gt;         Un saludo!
        &gt;
        &gt;
        &gt;         --
        &gt;         Roberto Calvo Palomino        | Robotics Lab (GSyC)
        &gt;         R&amp;D Android Mobile Engineer   | Universidad Rey Juan
        Carlos
        &gt;
        &gt;         Twitter: @rocapal
        &gt;         Linkedin: <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/rocapal">http://www.linkedin.com/in/rocapal</a>
        &gt;
        &gt;
        &gt;
        
        --
        Roberto Calvo Palomino        | Robotics Lab (GSyC)
        R&amp;D Android Mobile Engineer   | Universidad Rey Juan Carlos
        
        Twitter: @rocapal
        Linkedin: <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/rocapal">http://www.linkedin.com/in/rocapal</a>
        
        


</pre>
        </blockquote>
        <pre wrap="">
</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>