<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Ejemplo 3. Aplicación Cauchy
Ejercicio tomado de Parcial MMC
Step1:  Si el tensor de esfuerzos en un punto $P$, en el sistema de referencia $X,Y,Z$ está definidido por
Step2:  El vector unitarion $\hat{n}$ es entonces obtenido como $$ \vec{n} = \frac{\vec{AB} \times \vec{AC}}{\|\vec{AB} \times \vec{AC}\|} $$
Step3:  Por otro lado, el tensor $[\sigma]$ sería
Step4:  Con esto, el vector de tracciones $\vec{t}$ sería entonces
Step5:  2.Calcular el esfuerzo normal al que está sometida la cara del punto $P$, que es paralela al plano que contiene los puntos $A$ , $B$ y $C \\$. 
Solución
Step6:  3.Calcular la magnitud del esfuerzo tangencial al que está sometida la cara del punto $P$, que es paralela al plano que contiene los puntos $A$ , $B$ y $C \\$
Solución
Teniendo el vector $\vec{t}$ y su componente normal la componente normal $\sigma_{nn}$, la magnitud de la compenente tangencial $\tau$, se calcularía a partir de
<ASSISTANT_TASK:>
Python Code:
from IPython.display import Image,Latex
from numpy import array, cross,dot, sqrt
Explanation: Ejemplo 3. Aplicación Cauchy
Ejercicio tomado de Parcial MMC
End of explanation
AB = array([4.0,2.,0.]) - array([1., 0.,0.])
AC = array([0.,0.,3.]) - array([1., 0.,0.])
print 'AB=', AB, ',', 'AC=', AC
Explanation: Si el tensor de esfuerzos en un punto $P$, en el sistema de referencia $X,Y,Z$ está definidido por:
$$\begin{align}
\
&\sigma_{xx} = 80\dfrac{kgf}{cm^2}; \;\;\; \sigma_{yy} = 50\dfrac{kgf}{cm^2}; \;\;\; \sigma_{zz} = 60\dfrac{kgf}{cm^2} \\
&\tau_{xy} = \tau_{yx} =40\dfrac{kgf}{cm^2}, \;\;\; \tau_{xz} = \tau_{zx} =30\dfrac{kgf}{cm^2}; \;\;\;\tau_{yz} = \tau_{zy} = 10 \dfrac{kgf}{cm^2}\\
\end{align}$$
Y las coordenadas de los puntos $A$, $B$ y $C$  en el sitema de referencia $X,Y,Z$  son $(1,0,0)$ , $(0,2,0)$ y $(0,0,3)$  respectivamente. Se pide lo siguiente:
1._Calcular el vector de tracciones $\vec{t}$, que actua en una cara del punto $P$, que es paralela al plano que contiene  los puntos $A$ , $B$ y $C \\$. 
Solución: 
El vector de tracciones está dado por $$\vec{t} = [\sigma]\; \hat{n}$$
Por este motivo se requiere encontrar $\hat{n}$, el cual para nuestro problema no es más que un vector perpendicular al plano formado por los puntos $A$, $B$, $C$. 
Hagamos entonces una base con los vectores: $\vec{AB} = \vec{B} - \vec{A}$ y $\vec{AC} = \vec{C} - \vec{A}$
End of explanation
Nor = cross(AB,AC)  
MNor = sqrt(dot(Nor,Nor))
n = Nor / MNor
print 'Normal=',Nor, ',' 'Magnitud',MNor
Explanation: El vector unitarion $\hat{n}$ es entonces obtenido como $$ \vec{n} = \frac{\vec{AB} \times \vec{AC}}{\|\vec{AB} \times \vec{AC}\|} $$
End of explanation
Sigma = ([[80., 40., 30.], 
           [40.,50., 10.],
           [30., 10., 60.]])
Explanation: Por otro lado, el tensor $[\sigma]$ sería
End of explanation
t = dot(Sigma,n)
print t.round(2)
Explanation: Con esto, el vector de tracciones $\vec{t}$ sería entonces:
End of explanation
Sigmann = dot(t,n)
print Sigmann.round(2)
Explanation: 2.Calcular el esfuerzo normal al que está sometida la cara del punto $P$, que es paralela al plano que contiene los puntos $A$ , $B$ y $C \\$. 
Solución:
El esfuerzo normal no es más que la proyección escalar de $\vec{t}$ sobre el vector normal unitario $\hat{n}$. Es otras palabras $\sigma_{nn} = {\vec{t} \cdot \hat{n}}$
End of explanation
tau = sqrt(dot(t,t) - Sigmann**2) 
print tau.round(2)
from IPython.core.display import HTML
def css_styling():
    styles = open('./custom_barba.css', 'r').read()
    return HTML(styles)
css_styling()
Explanation: 3.Calcular la magnitud del esfuerzo tangencial al que está sometida la cara del punto $P$, que es paralela al plano que contiene los puntos $A$ , $B$ y $C \\$
Solución
Teniendo el vector $\vec{t}$ y su componente normal la componente normal $\sigma_{nn}$, la magnitud de la compenente tangencial $\tau$, se calcularía a partir de:
$\|\vec{t}\|^2 =  \|\sigma_{nn}\|^2 + \|\tau\|^2$
Despejando $\tau$, se obtiene:
End of explanation
<END_TASK>