El plano de reflexión puede estar inclinado respecto al eje de las x. Para el caso dado, se puede considerar igualar las pendientes del rayo incidente y reflejado referenciadas con la pendiente del plano inclinado.
la pendiente del plano inclinado se obtiene como:
ms=ΔxintervaloΔsuelo=xb−xasb−sa
Respecto al plano, los ángulos de rayo incidente y reflejado son iguales por lo que secorrige con la pendiente del plano. Las pendientes del rayo izquierdo y rayo derecho con la influencia de la pendiente del suelo se igualan:
−(mz−ms)=mr−ms−mz=mr−2ms
Para obtener sc como un punto en el plano, requiere función de suelo(x) evaluada en sc , para usar todo en función de xc :
punto reflejado: [ 7.666666666666665 , 1.3333333333333335 ]
con la gráfica
Instrucciones en Python
# rayo incidente y reflejado# en plano inclinado# blog.espol.edu.ec/ccpg1001import numpy as np
import matplotlib.pyplot as plt
# INGRESO# posición de antenas
xa = 1 # Izquierda
ya = 4
xb = 11 # Derecha
yb = 2
# plano el suelo
sa = 2
sb = 1
# muestras en grafica
muestras = 21
# PROCEDIMIENTO# pendiente de suelo
ms = (sb-sa)/(xb-xa)
bs = sa-ms*xa
# punto de reflejo
numerador = bs*(xa+xb)-(xa*yb+xb*ya)+2*ms*xa*xb
denominador = 2*bs-(ya+yb)+ms*(xa+xb)
xc = numerador/denominador
sc = ms*xc+bs
# SALIDAprint('punto reflejado: [',xc,',',sc,']')
# GRAFICA#puntos en el plano
plt.scatter([xa,xc,xb],[ya,sc,yb])
plt.scatter([xc],[sc],label='punto reflejo')
# lineas de rayos
plt.plot([xa,xc],[ya,sc],label='incidende')
plt.plot([xc,xb],[sc,yb],label='reflejado')
plt.plot([xa,xb],[sa,sb],label='suelo')
# etiquetas anotadas
plt.annotate(' reflejo',[xc,sc])
# etiquetas
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('reflexión de rayos en plano inclinado')
plt.grid()
plt.show()
Tarea: Consiere que el suelo está compuesto de al menos dos segmentos con inclinaciones diferentes. Podría darse mas de una reflexión al punto de recepción o ninguna