[Jde] [Robotica] Duda progeo
JoseMaria
jmplaza en gsyc.es
Sab Oct 4 19:52:38 CEST 2008
José Manuel,
La h es la componente homogénea [1]. Es un "truco" de la geometría
proyectiva, que representa los pixeles con 3 coordenadas p=(x,y,h) y los
puntos en 3D con 4 coordenadas P=(X,Y,Z,H), donde H también es una
componente homogénea. A estas coordenadas en vez de cartesianas, se les
llama homogéneas.
Gracias a estas coordenadas homogéneas se pueden representar las
traslaciones [2] y las proyecciones en cámaras como transformaciones
lineales, es decir como productos de matrices. Por ejemplo, para
expresar la relación que hay entre un punto P del espacio y el pixel p
en el que proyecta en una cámara, se puede usar un simple producto de
matrices si p y P se expresan en coordenadas homogéneas: p=K R T P
Este es precisamente el modelo que utiliza la biblioteca progeo, donde K
es la matriz de parámetros intrínsecos de la cámara (focal, centro
óptico, etc), y R y T son las matrices de rotación y traslacion de la
cámara respecto del sistema de coordenadas del mundo. También usa
coordenadas homogéneas OpenGL, que tiene implementado por hardware estas
relaciones matriciales y permite renderizar una escena 3D de manera
eficiente.
Expresando los píxeles con coordenadas homogéneas se puede dividir todas
sus componentes por una constante y sigue representando al mismo píxel.
Por ejemplo p=(1,2,3) es equivalente a p'=(2,4,6). Para hallar la fila y
columna que corresponde a un pixel p se divide todo por h y queda
p=(x/h,y/h,1). La columna seria la x/h y la fila la y/h. Es decir, que
una representación típica del pixel p es (columna,fila,1). Lo mismo con
3D: P=(Xreal,Yreal,Zreal,1) es equivalente a
P'=(3Xreal,3Yreal,3Zreal,3).
Otra ventaja de manejar coordenadas homogéneas es que se pueden
representar cómodamente los puntos en el infinito, pero esto es otra
historia :-)
Ánimo,
JoseMaria
[1] http://es.wikipedia.org/wiki/Coordenadas_homog%C3%A9neas
[2] http://www.wikipedia.es/enciclopedia/Traslaci%C3%B3n_(geometr%C3%
ADa)
On Sat, 2008-10-04 at 13:15 +0200, Jose Manuel Dominguez Arroyo wrote:
> Hola a todos
>
> Tengo una duda con progeo
> tengo un punto que defino así
> HPoint2D punto;
> que tiene una x, y, h
> ¿Quiero saber que es la h?, por que en el manual no viene explicado.
>
> --
> Un Saludo
>
> Jose Manuel Dominguez Arroyo
>
> _______________________________________________
> Robotica mailing list
> Robotica en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/robotica
--
http://gsyc.es/jmplaza
Universidad Rey Juan Carlos
More information about the Jde-developers
mailing list