Algoritmos de Intersección

Anuncio
Apéndice
Algoritmos de Intersección
ANEXO C: ALGORITMOS DE
INTERSECCIÓN
El corazón de cualquier modelo de trazado de rayos es el de los algoritmos de la
intersección entre los rayos y los objetos del ambiente. En un proceso general de trazado
de rayos el análisis de la intersección del objeto del rayo se hace muchas veces. En
modelos de la faceta, los rayos se intersecan con facetas, así que es necesario utilizar un
algoritmo eficiente para las intersecciones rayo-faceta. La eficacia del proceso de
trazado de rayos depende mucho del algoritmo de la intersección del trazado de rayos.
En cualquier modelo de trazado de rayos, para predecir la propagación, los
rayos tienen un origen (fuente) y llegan siempre un punto de observación (observador).
Por lo tanto, geométricamente, los rayos se pueden considerar como segmentos
orientados en 3D, es decir, segmentos con una dirección dada. Las fuentes pueden ser
antenas transmisoras, puntos de la reflexión, o puntos de difracción. Los puntos de
observación pueden ser las antenas receptoras, puntos de reflexión o puntos de
difracción.
C.1 Algoritmos de intersección del rayo con facetas
3D arbitrarias
El algoritmo para las facetas arbitrariamente formadas se puede dividir en dos
pasos [38]:
1. Cálculo de la intersección del rayo con el plano. Primero se resuelve el plano
que contiene a la faceta. Después, se calcula el punto de intersección del rayo con el
plano. Si el plano y el rayo son paralelos, no hay punto de intersección y por lo tanto no
hay intersección del rayo con la faceta. Sino, se calcula el punto de intersección del rayo
con el plano.
2. Comprobación de si un punto está dentro o fuera de un polígono en el plano.
Sabiendo el punto de intersección del rayo con plano, uno puede determinar si el punto
está dentro o fuera del polígono. Si el punto está dentro del polígono hay intersección
del rayo con la faceta (Figura C.1.a). Si no, no existe tal intersección (Figura C.1.b).
Figura C.1: Intersección rayo-plano
Modelo de Cobertura para Redes Inalámbricas de Interiores
289
Apéndice
Algoritmos de Intersección
C.2 Determinación de una faceta en un plano
La ecuación general de un plano Ax + By + Cz + D = 0, contiene cuatro
coeficientes que tienen que ser determinados. Dependiendo de la información inicial
disponible, hay dos estrategias posibles:
• Si se conoce el vector normal al plano, se conocen los coeficientes A, B, y C
que son iguales a las componentes normales del vector, y el valor de D se obtiene de
cualquier punto del plano (x1, y1, z1) de la siguiente forma:
D = -(Ax1 + By1 + Cz1)
Ecuación C.1
El punto del plano (x1,y1,z1) puede ser alguno de los vértices de la faceta.
• Cuando el vector normal al plano es desconocido, la ecuación del plano se
puede resolver a partir de tres puntos no colineales en el plano (x1, y1, z1), (x2, y2, z2),
(x3, y3, z3):
Ecuación C.2
C.3 Intersección rayo-plano
Un rayo se define por su origen y su extremo
se pueden escribir de la siguiente forma:
. Así pues, los puntos del rayo
Ecuación C.3
Un plano se define en términos de su vector normal unitario
distancia al origen del sistema de coordenadas D.
= (A, B, C) y la
• Si
, el rayo es paralelo al plano y no ocurre ninguna
intersección, excepto cuando el rayo está en el mismo plano y entonces existen infinitos
puntos de intersección. Este último caso sucede cuando
Ecuación C.4
• Si
, hay un punto de intersección entre el plano y la línea que
contiene al rayo. La coordenada paramétrica del rayo en el punto de intersección es
Modelo de Cobertura para Redes Inalámbricas de Interiores
290
Apéndice
Algoritmos de Intersección
Ecuación C.5
• Si 0 <= t <= 1, entonces la línea definida por el rayo intersecta con el plano entre
las puntos extremos del rayo y por lo tanto, ocurre la intersección del rayo con plano.
En este caso, el punto de intersección se da mediante la siguiente expresión:
Ecuación C.6
C.4 Intersección rayo-segmento en un plano
Consideremos un sistema de coordenadas de 2D en el plano. Según lo indicado
anteriormente, el rayo puede ser orientado arbitrariamente. Por lo tanto, para simplificar
(y optimizar) el algoritmo, se elige un rayo paralelo a alguno de los ejes de coordenadas.
Dado un rayo paralelo al eje X con su origen en
, y dado un segmento con
sus extremos en
y
, su ecuación paramétrica es
Ecuación C.7
La intersección del rayo con el segmento (Figura C.1) ocurre si se satisfacen las
siguientes condiciones:
Ecuación C.8
La primera condición asegura que el rayo y el segmento no sean paralelos, la
segunda asegura que el segmento esté cortado entre sus puntos extremos, y la tercera
condición asegura que el rayo no esté cortado detrás de su origen.
Modelo de Cobertura para Redes Inalámbricas de Interiores
291
Apéndice
Algoritmos de Intersección
Figura C.2: Intersección rayo-segmento en un plano
Un caso particular ocurre cuando el segmento está contenido (total o
parcialmente) por el rayo. Por lo tanto, existen infinitos puntos de intersección. Esto
sucede cuando se satisfacen las siguientes condiciones:
Ecuación C.9
La primera condición asegura que el segmento se encuentre en la línea que
contiene al rayo y la segunda condición asegura que haya una porción del segmento
delante del origen del rayo.
C.5 Algoritmos de intersección del rayo con facetas
en 3D particulares
En los entornos de interiores, muchas de las facetas se orientan verticalmente:
facetas de paredes, facetas que representan puertas, la mayoría de las facetas de
ventanas, etc. Esta característica geométrica se puede utilizar para simplificar el
algoritmo de intersección rayo-faceta para esta clase de facetas. Para hacer esto, se elige
un sistema de coordenadas con el eje Z paralelo a estas facetas. El plano XY (plano
horizontal) será perpendicular a tales facetas.
En el plano horizontal, las facetas de la pared se representan como segmentos
orientados arbitrariamente. Por lo tanto, el análisis de la intersección del rayo-faceta se
puede dividir en dos pasos:
• Primero, el rayo se proyecta sobre el plano y se obtiene la intersección rayofaceta proyectada en el plano. Así pues, este primer paso se reduce a una intersección
rayo-segmento en una escena en 2D.
• En segundo lugar, si se ha encontrado el punto de intersección, se calcula la
componente Z del punto de intersección. Finalmente, comparando el valor anterior con
las componentes Z de los vértices de la faceta, es fácil determinar si el punto de
intersección se encuentra en la faceta.
Modelo de Cobertura para Redes Inalámbricas de Interiores
292
Apéndice
Algoritmos de Intersección
C.5.1 Intersección de segmentos en un plano
Según lo indicado anteriormente, los rayos se pueden asumir que son
“segmentos orientados,” así que el problema es analizar la intersección de dos
segmentos en el plano.
Dado dos segmentos con puntos finales
,
y
,
, respectivamente.
Se toman los coeficientes siguientes:
,
,
,
,
,
Si AB’ – A’B = 0, los segmentos son paralelos y no hay intersección. Si no, las
líneas que contienen a los segmentos tienen un punto de intersección (xi, yi) dado por:
Ecuación C.10
Finalmente, tal punto pertenece a ambos segmentos si se verifican las siguientes
condiciones:
Ecuación C.11
Modelo de Cobertura para Redes Inalámbricas de Interiores
293
Algoritmos de Intersección
Modelo de Cobertura para Redes Inalámbricas de Interiores
Apéndice
294
Descargar