Skip to content

Instantly share code, notes, and snippets.

@roberto-cuellar
Created June 29, 2022 23:38
Show Gist options
  • Save roberto-cuellar/2f504ff2184fcf1372f0b15b6045c4b9 to your computer and use it in GitHub Desktop.
Save roberto-cuellar/2f504ff2184fcf1372f0b15b6045c4b9 to your computer and use it in GitHub Desktop.
Test Embed Python
theta_rs = 1*np.pi/180 #Ángulo de inclinación de la recta
s_o = 0.1 # Posición del primer sensor sobre la recta que lo contiene
x_o = s_o*np.cos(theta_rs) # Proyección de la posición del primer sensor sobre el eje x
y_o = -0.3
deltas = 5e-3 # Separación de los sensores sobre la recta que los contiene
deltax = deltas*np.cos(theta_rs) # Proyección de la separación de los sensores sobre el eje x
N = len(lon) # Número de sensores, correspondientes al número de longitudes de onda que se utilicen en el vector lon
k = np.linspace(0,N-1,N) # Identificador del K-ésimo vector
xs = k*deltax + x_o # Posición sobre el eje x de cada sensor
ys_vec = [] # Posición en el eje y sobre la recta de sensores
RS = np.tan(theta_rs)*x+y_o # Recta del arreglo de sensores
RPS_lambda = np.zeros((len(lon),len(x))) # Rectas para los rayos perpendiculares a la línea de sensores
m_rps = -1/np.tan(theta_rs)
"""Puntos de intersección sobre el eje x"""
AXS = ((xs/np.tan(theta_rs))+np.tan(theta_rs)*xs+y_o)
BXS = (-np.tan((np.pi/2)-theta_t_1)+1/np.tan(theta_rs))**-1
x_inter = AXS*BXS # Posiciones en x en donde se intersectan los rayos deseados
y_inter_vec = [] # Posiciones en el eje y donde se intersectan los rayos deseados
fig = plt.figure(figsize=(5,5),dpi=100)
plt.title(r'Posición de intersección para los rayos '+r',$\theta_i=$'+str(angulo_i)+'°')
for i in range(len(lon)):
plt.plot(x,R_lambda[i,:],zorder=1)
ys = rectas(np.tan(theta_rs),y_o,xs[i])
ys_vec.append(ys)
b = -m_rps*xs[i]+ys
y_inter = rectas(m_rps,b,x_inter[i])#Cálculo de lospuntos en y de intersección de las rectas
y_inter_vec.append(y_inter)
RPS_lambda[i,:] = rectas(m_rps,b,x) # Cálculo de rectas para los rayos perpendiculares a la línea de sensores
plt.plot(x,RPS_lambda[i,:])
plt.plot(xs[i],ys,'ro',markersize=3,zorder=1)
plt.plot(x_inter[i],y_inter,'b2',markersize=3,zorder = 3)
plt.grid(True)
plt.xlim(0,np.max(x))
plt.ylim(y_o,0)
plt.plot([-0.1,0.1],[0,0],linewidth = 3,color = [0.2,0.2,0.2])
plt.plot(x,RS,'k',zorder=3)
plt.xlabel("x[m]")
plt.ylabel("y[m]")
"""ax3 = fig.add_axes([0.65, 0.6, 0.2, 0.2])
for i in range(len(lon)):
ys = rectas(np.tan(theta_rs),y_o,xs[i])
ax3.plot(xs[i],ys,'ro',markersize=3,zorder=3)
ax3.plot(x,RS,'k',alpha=0.3,zorder=1)
b = -m_rps*xs[i]+ys
plt.xlim(np.min(xs),np.max(xs))"""
plt.grid(True)
plt.xlabel("x[m]")
plt.ylabel("y[m]")
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment