GT_MM_1314_Trigonometria_Esferica

1447 days ago by trinidad

Trigonometría esférica

Representación de vértices y circunferencias máximas (aristas)

Esfera unidad

Dibujamos una esfera en la que colocaremos todos los elementos.

y,z=var('y','z') Esfera=implicit_plot3d(x^2+y^2+z^2==1,(x,-1.2,1.2),(y,-1.2,1.2),(z,-1,1),rgbcolor='white',opacity=0.7);Esfera 
       

Vertices

Creamos una función que recibe un punto (longitud y latitud en grados, escritos en notación decimal) y devuelve el vértice correspondiente a ese punto dibujado en la esfera.

def vertice(V,color='green'): return point3d((cos(V[0]*pi/180)*cos(V[1]*pi/180),sin(V[0]*pi/180)*cos(V[1]*pi/180),sin(V[1]*pi/180)),rgbcolor=color,size=20); 
       

Probamos la función:

V0=[0,0];V1=[-90,0];V2=[0,45];V3=[0,90];V4=[-45,30]; 
       
Esfera+vertice(V1)+vertice(V2)+vertice(V3)+vertice(V0)+vertice(V4,color="blue") 
       

Circunferencias máximas

Creamos una función que recibe o bien un punto y un ángulo o bien dos puntos y dibuja la circunferencia máxima que pasa por el punto y tal que en el punto tiene un ángulo respecto a la vertical (respecto al meridiano) igual al fijado o la circunferencia máxima que pasa por los dos puntos.

def lado(nueva_arista,color='red'): Va=nueva_arista[0] a=nueva_arista[1] if a in RR: # Si a es un valor de un ├íngulo c=circle((0,0),1,rgbcolor=color,thickness=5); ch=c.plot3d(z=0).rotate((1, 0, 0), pi/2) if Va[0]>0: cv=ch.rotate((0,0,1),(360-Va[0])*pi/180) else: cv=ch.rotate((0,0,1),-Va[0]*pi/180) p=(cos(Va[0]*pi/180)*cos(Va[1]*pi/180),sin(Va[0]*pi/180)*cos(Va[1]*pi/180),sin(Va[1]*pi/180)) if a<0: dibarista=cv.rotate(p,(360+a)*pi/180) else: dibarista=cv.rotate(p,a*pi/180) return dibarista else: # En caso contrario, consideramos que es un segundo punto latA=Va[1]*pi/180;lonA=Va[0]*pi/180;latB=a[1]*pi/180;lonB=a[0]*pi/180; Cc=lonB-lonA;ac=pi/2-latA;bc=pi/2-latB; if Cc<0: Cc=2*pi-Cc cc=arccos(cos(bc)*cos(ac)+sin(ac)*sin(bc)*cos(Cc)) Bc=arccos((cos(bc)-cos(ac)*cos(cc))/(sin(ac)*sin(cc))) c=circle((0,0),1,rgbcolor=color,thickness=5); ch=c.plot3d(z=0).rotate((1, 0, 0), pi/2) if Va[0]>0: cv=ch.rotate((0,0,1),(360-Va[0])*pi/180) else: cv=ch.rotate((0,0,1),-Va[0]*pi/180) p=(cos(Va[0]*pi/180)*cos(Va[1]*pi/180),sin(Va[0]*pi/180)*cos(Va[1]*pi/180),sin(Va[1]*pi/180)) if Bc<0: dibarista=cv.rotate(p,2*pi+Bc) else: dibarista=cv.rotate(p,Bc) return dibarista 
       

Probamos la función

lado1=[V0,V1] lado2=[V4,V1] lado3=[V1,V4] lado4=[V4,45] lado5=[V2,30] lado6=[V4,-45] 
       
Esfera+vertice(V0)+vertice(V1)+vertice(V4)+lado(lado1)+lado(lado2)+lado(lado3) 
       
Esfera+lado(lado4)+lado(lado6)+vertice(V4) 
       

Practica:

1. Dibuja los puntos correspondientes a los polos, el origen de coordenadas y los puntos $(\pm 45,\pm 45)$.

2. Dibuja el ecuador, los meridianos -45, 0, 45, la circurferencia máxima que pasa por el $(0,0)$ y tiene un ángulo de 45 respecto de la vertical y la circunferencia máxima que pasa por los puntos $(-45,45)$ y $(45,45).

 
       

Distancias

La siguiente función recibe un vértice y una distancia y devuelve los puntos a esa distancia.

def distanciaVertice(V1,distancia,color='purple'): c=circle((0,0),sin(distancia*pi/180),rgbcolor=color,thickness=5) return c.plot3d(z=cos(distancia*pi/180)).rotate((sin(V1[0]*pi/180),-cos(V1[0]*pi/180), 0), pi/2-V1[1]*pi/180) 
       

Probemos la función

Esfera+vertice(V4)+distanciaVertice(V4,45)+distanciaVertice(V1,10)+vertice(V1) 
       

Practica:

1. Dibuja los vértices en la posición (0,0) y (0,45).

2. Dibuja los puntos que distan $30^o$ de cada uno de los puntos anteriores. Idem con $45^o$ y con $60^o$.

 
       

Cambio de unidades

Las siguientes funciones pasan de grados a radianes y viceversa.

def rad_to_deg(arad): arad=arad*180/pi signo=sign(arad) arad=abs(arad) return signo*floor(arad),floor((arad-floor(arad))*60),((((arad-floor(arad))*60)-floor((arad-floor(arad))*60))*60).n() def deg_to_rad(grados,minutos,segundos): return (sign(grados)*(abs(grados)+minutos/60+segundos/60/60)*pi/180).n() 
       

Vamos a probar las funciones pasando 1 radian a grados

rad_to_deg(1) 
       

Es decir, 1 radian es 57 grados, 17 minutos y 44.8 segundos, aproximadamente.

Vamos a volver a convertir la salida en radianes

deg_to_rad(57,17,44.8062470963632) 
       

Practica:

1. Pasa $90^o$ en radianes y vuelta a grados.

2. Pasa $80^o10'11"$ a radianes.

3. Pasa $\pi/3$ a grados

4. Pasa $-40^o10'$ a radianes.

 
       

Ejercicios:

1. Consideramos el triángulo rectángulo de catetos $b=40^o$, $c=50^o$. 

   a) Tomar como vértice $A$ el origen. Dibujar $B$ sobre el ecuador y $C$ sobre el meridiano 0.

   b) Razonar si existe solución única.

   c) Calcular el ángulo $B$. Dibujar el lado que comienza en el vértice $B$ y tiene como ángulo con la vertical $90^o-B$. 

 
       

2. Consideramos el triángulo rectángulo de  hipotenusa $a=80^o$ y cateto $b=40^o$. 

   a) Tomar como vértice $A$ el origen. Dibujar $C$ sobre el meridiano 0. Dibujar los puntos que distan $80^o$ de $C$.

   b) Razonar si existe solución única.

   c) Calcular el ángulo $B$. Dibujar el lado que comienza en el vértice $C$ y tiene como ángulo con la vertical $180^o-C$. 

 
       

3. Consideramos el triángulo rectángulo ($A=90^o$) de cateto $b=40^o$, y ángulo $C=50^o$. 

   a) Tomar como vértice $A$ el origen. Dibujar $C$ sobre el meridiano 0 y la arista que comienza en $C$ con el ángulo correspondiente.

   b) Razonar si existe solución única.

   c) Calcular el lado $c$. Dibujar el vértice $B$. ¿Está en la solución gráfica? 

 
       

4. Consideramos el triángulo de lados  $a=70^o$, $b=80^o$, y $c=60^o$. 

   a) Tomar como vértice $A$ el origen. Dibujar $C$ sobre el meridiano 0. Obtener $B$ gráficamente.

   b) Razonar si existe solución única (dos soluciones son distintas sólo si algún lado o algún ángulo difiere).

   c) Calcular el ángulo $A$. Dibujar la arista que comienza en el vértice $A$ y tiene como ángulo con la vertical $A$. ¿Pasa por la solución?

 
       

5. Consideramos el triángulo de lados  $a=70^o$, $b=80^o$, y ángulo $C=60^o$. 

   a) Tomar como vértice $A$ el origen. Dibujar $C$ sobre el meridiano 0. Obtener $B$ gráficamente.

   b) Razonar si existe solución única (dos soluciones son distintas sólo si algún lado o algún ángulo difiere).

   c) Calcular el ángulo $A$. Dibujar la arista que comienza en el vértice $A$ y tiene como ángulo con la vertical $A$. ¿Pasa por la solución?

 
       

6. Consideramos el triángulo de lados  $c=70^o$, $b=50^o$, y ángulo $B=30^o$. 

   a) Tomar como vértice $A$ el origen. Dibujar $B$ sobre el meridiano 0. Obtener $C$ gráficamente.

   b) Razonar si existe solución única (dos soluciones son distintas sólo si algún lado o algún ángulo difiere).

   c) Calcular el ángulo $A$. Dibujar la arista que comienza en el vértice $A$ y tiene como ángulo con la vertical $A$. ¿Pasa por la solución?

 
       

Problemas:

1. Un avión va de Tokio a San Francisco siguiendo el camino más corto (una geodésica).

a) Calcular la distancia que recorre.

b) Calcular a qué latitud pasa el meridiano 180.

c) Calcular la máxima latitud que alcanza.