Created
June 29, 2022 23:38
-
-
Save roberto-cuellar/2f504ff2184fcf1372f0b15b6045c4b9 to your computer and use it in GitHub Desktop.
Test Embed Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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