Integral de superficie
Contents
Integral de superficie#
import time
print(' Última ejecución ', time.asctime() )
Última ejecución Tue Apr 11 18:07:10 2023
Objectivos#
Revisar la parametrización de superficies.
Definir la integral de una función escalar y vectorial en una superficie.
Mostrar algunos ejemplos sencillos.
# general imports
%matplotlib inline
%reload_ext autoreload
%autoreload 2
# numpy and matplotlib
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
matplotlib.style.use('ggplot')
import graph_utils as gf
figsize = 6, 3.8
cmap = 'hot'
Integral en una superficies#
Revisión de parametrización de superficies.#
Hemos visto con anterioridad que podemos parametrizar una superficie, \({\bf \sigma}(u, v)\), de un espacio \(\mathrm{R}^3\) como una función vectorial definida en un región \(R\) de un espacio \((u, v)\) de \(\mathrm{R}^2\).
Ejemplo: parametrización de un cilindro centrado en el origen, con eje en \(z\), radio \(r\), y longitud infinita
Observa: como las siguientes figuras están dibujadas a partir de la malla de \((u, v)\). Puedes ver su cuadrícula.
Observa: fíjate también en las líneas de la superficie, cada una ellas corresponde al caso en la que \(u\) o \(v\) son constantes y la otra variable recorre los posible valores de su rango.
r, size = 1., 2.
phirange = (0., 2*np.pi, 41)
zrange = (-size, size, 20)
xfun = lambda phi, z : r * np.cos(phi)
yfun = lambda phi, z : r * np.sin(phi)
zfun = lambda phi, z : z
gf.wfsurface(xfun, yfun, zfun, phirange, zrange, alpha = 0.6);
Ejemplo: Parametrización de una esfera centrada en el origen de radio \(r\).
Observa: fíjate también en las líneas de la superficie, cada una ellas corresponde al caso en la que \(u\) o \(v\) son constantes y la otra variable recorre los posible valores de su rango.
phirange = (0., 2*np.pi, 30)
thetarange = (0., np.pi, 30)
xfun = lambda phi, theta : r * np.sin(theta) * np.cos(phi)
yfun = lambda phi, theta : r * np.sin(theta) * np.sin(phi)
zfun = lambda phi, theta : r * np.cos(theta)
gf.wfsurface(xfun, yfun, zfun, phirange, thetarange, alpha = 0.6);
La superficie se construye a partir de líneas maestras. Fijado un valor de \(u = u'\), si recorremos \(v\) en su rango, \([v_0, v_1]\) obtenenos las líneas maestras a lo largo de \(v\).
Y viceversa:
Observa: En la siguiente figura están marcadas dos de las líneas maestras del cilindro.
Explora: Cambia las líneas maestras que están dibujadas, cambiando el elemento \((i, j)\) de la malla \((u, v)\).
r, size = 1., 2.
phirange = (0., 2*np.pi, 31)
zrange = (-size, size, 31)
phii, zj = 0, 10
xfun = lambda phi, z : r * np.cos(phi)
yfun = lambda phi, z : r * np.sin(phi)
zfun = lambda phi, z : z
gf.wfsurface(xfun, yfun, zfun, phirange, zrange, alpha = 0.6);
gf.wfmasterlines(xfun, yfun, zfun, phirange, zrange, ui = phii, vj = zj);
Observa: En la siguiente figura están marcadas dos de las líneas maestras de la esfera.
Explora: Cambia las líneas maestras que están dibujadas, cambiando el elemento \((i, j)\) de la malla \((u, v)\).
r = 1.
phirange = (0., 2*np.pi, 31)
thetarange = (0., np.pi, 31)
phii, thetaj = 20, 14 # 20, 14
f0 = 0.85
xfun = lambda phi, theta : f0 * r * np.sin(theta) * np.cos(phi)
yfun = lambda phi, theta : f0 * r * np.sin(theta) * np.sin(phi)
zfun = lambda phi, theta : r * np.cos(theta)
gf.wfsurface(xfun, yfun, zfun, phirange, thetarange, alpha = 0.6);
gf.wfmasterlines(xfun, yfun, zfun, phirange, thetarange, ui = phii, vj = thetaj);
#plt.gca(projection='3d').auto_scale_xyz((-1, 1), (-1, 1), (-1, 1))
#plt.set_aspect('equal','box')
En un punto \((u, v)\) podemos obtenemos los vectores tangentes a las líneas en ese punto.
que están asociados a lo diferencial vectorial de arco de cada línea maestra:
El vector normal a los dos vendrá dado por:
Si te das cuenta \({\bf n}\) es la normal a los dos vectores y su módulo corresponde al área del paralelogramo que sustentan \({\bf t}_u, \; {\bf t}_v\).
El diferencial de área
Diremos que una superficie es regular siempre que exista \({\bf n}\) en todo el rango de \((u, v)\).
Observa: los vectores tangentes, \({\bf t}_u, \, {\bf t}_v\) a la superficie un punto y su vector normal \({\bf n}\).
Explora: cambia la posición \((i, j)\) de la malla de \((u, v)\) donde dibujamos los tres vectores.
r, size = 1., 2.
phirange = (0., 2*np.pi, 21)
zrange = (-size, size, 21)
phii, zj = 14, 8
xfun = lambda phi, z : r * np.cos(phi)
yfun = lambda phi, z : r * np.sin(phi)
zfun = lambda phi, z : z
gf.wfsurface(xfun, yfun, zfun, phirange, zrange, alpha = 0.6);
gf.wfaxis(xfun, yfun, zfun, phirange, zrange, ui = phii, vj = zj);
r = 1.
phirange = (0., 2*np.pi, 21)
thetarange = (0., np.pi, 21)
thetai, phij = 8, 18
xfun = lambda theta, phi : r * np.sin(theta) * np.cos(phi)
yfun = lambda theta, phi : r * np.sin(theta) * np.sin(phi)
zfun = lambda theta, phi : r * np.cos(theta)
gf.wfsurface(xfun, yfun, zfun, thetarange, phirange, alpha = 0.6);
gf.wfaxis(xfun, yfun, zfun, thetarange, phirange, ui = thetai, vj = phij);
Cuestión: ¿Es la siguiente superficie regular?
phirange = (0., 2*np.pi, 30)
zrange = (0., 1., 30)
xfun = lambda phi, z : z * np.cos(phi)
yfun = lambda phi, z : z * np.sin(phi)
zfun = lambda phi, z : z
gf.wfsurface(xfun, yfun, zfun, phirange, zrange, alpha = 0.6);
Si consideramos ahora en un punto \((u, v)\) los elementos diferenciales de arco en las dos líneas maestras son:
y el elemento diferencial de área que sustentan es:
Entonces, para obtener el área de una superficie parametrizada \(\sigma (u, v)\) donde \((u, v)\) están definidas en una región \(R\), calculamos:
Ejemplo: Calcula el área de una esfera de radio \(r\).
La superficie parametrizada es:
Los vectores directores:
Y el vector normal:
Esto es:
Y por lo tanto
El área de la superficie es:
Parametrización de la superficie de una gráfica.#
Podemos considerar la gráfica de una función \(f(x, y)\) definida en una reción \(R\) como la parametrización de una superficie con \((x, y)\)
En este caso los vectores directores y el vector normal tienen expresiones más simples:
y:
Y el módulo:
Observa: la siguiente figura, donde se representa la gráfica de la función, \(f(x, y) = x^2 + y^2\), y se dibuja una partición de la región \((x, y)\). Para cada uno de los rectángulitos de la gráfica, que es una pequeña sección de un plano, estamos dando su área como:
Mientras que el área de los rectángulos en \((x, y) \) que los sustentan es \( \mathrm{d}x\mathrm{d}y \)
Podemos reescribir:
Donde \(\gamma\) es ahora el ángulo que forma la normal, \({\bf n}\), con el eje \(z\).
xrange = (-1., 1., 20)
xfun = lambda x, y : x
yfun = lambda x, y : y
zfun = lambda x, y : x*x + y*y
zero = lambda x, y : 0*x + 0*y
gf.wfsurface(xfun, yfun, zfun, xrange, xrange, alpha = 0.5);
gf.wfaxis (xfun, yfun, zfun, xrange, xrange, 0, 15)
gf.wfsurface(xfun, yfun, zero, xrange, xrange, newfig = False, alpha = 0.5, color = 'b');
Ejercicio: Verifica que \(\gamma\) es dicho ángulo para gráficas de planos
xrange = (-1., 1., 5)
a, b, c = 0., 1, 1.
cgamma = np.sqrt(1/(1+a*a+b*b))
xfun = lambda x, y : x
yfun = lambda x, y : y
zfun = lambda x, y : a*x + b*y + c
zero = lambda x, y : 0*x + 0*y
gf.wfsurface(xfun, yfun, zfun, xrange, xrange, alpha = 0.5);
gf.wfsurface(xfun, yfun, zero, xrange, xrange, newfig = False, alpha = 0.5, color = 'b');
xi, yj = 0, 0
gf.wfaxis(xfun, yfun, zfun, xrange, xrange, ui = xi, vj = yj)
gf.wfaxis(xfun, yfun, zero, xrange, xrange, ui = xi, vj = yj, color = 'green')
print('gamma', np.arccos(cgamma), 'cos(gamma)', cgamma)
gamma 0.7853981633974483 cos(gamma) 0.7071067811865476
Integral de una función escalar en una superfice#
Sea \(S\) una superficie parametrizada con \(\sigma(u, v)\) en una region \(R\) de \((u, v)\), y \(f(x, y, z)\) una función escalar definida en los puntos de la superficie. Llamamos integral de la función \(f(x, y, z)\) en la superficie \(\sigma(u, v)\) a:
Cuestión: ¿Puedes dar una interpretación a la integral de una función escalar sobre una superficie?
Ejercicio: Integra la función \(f(x, y, z) = \sqrt{x^2 + y^2 +1}\) en el helicoloide dado por \(\sigma (r, \theta) = \left( r \cos \theta, r \sin \theta, \theta \right)\) con \(\theta \in [0, 2 \pi]\) y \(r \in [0, 1]\)
thetarange = (0., 2*np.pi, 60)
rrange = (0., 1., 60)
xfun = lambda r, theta : r * np.cos(theta)
yfun = lambda r, theta : r * np.sin(theta)
zfun = lambda r, theta : theta
gf.wfsurface(xfun, yfun, zfun, rrange, thetarange, alpha = 0.5);
A partir de la superficie parametrizada:
Calculamos los vectores:
y el vector normal
La función en la superficie vale:
El diferencial de área:
Y la integral de la función en la superficie:
Integral de una función vectorial a través de una superfice#
Sea \(S\) una superficie parametrizada con \(\sigma(u, v)\) en una region \(R\) de \((u, v)\), y \({\bf F}(x, y, z) = \left(F_x, F_y, F_z \right)\) una función vectorial definida en los puntos de la superficie. Llamamos integral de la función \({\bf F}(x, y, z)\) a través de la superficie \(\sigma(u, v)\) a:
Cuestión: ¿Puedes dar una interpretación de la integral de un campo \({\bf F}\) a través de una superficie? En Física seguro que has encontrado este caso con anterioridad. ¡Se trata del flujo!
Ejercicio: Integra el campo \({\bf F}(x, y, z) = (x, y, z)\) sobre la esfera de radio unidad.
r = 1
phirange = (0., 2*np.pi, 20)
thetarange = (0., np.pi, 20)
xrange = (-1., 1., 4)
Ex = lambda x, y, z : x
Ey = lambda x, y, z : y
Ez = lambda x, y, z : z
xfun = lambda phi, theta : r * np.sin(theta) * np.cos(phi)
yfun = lambda phi, theta : r * np.sin(theta) * np.sin(phi)
zfun = lambda phi, theta : r * np.cos(theta)
gf.quiver3d(Ex, Ey, Ez, xrange, xrange, xrange, color = 'b')
gf.wfsurface(xfun, yfun, zfun, phirange, thetarange, color = 'r', alpha = 0.6, newfig = False);
Vimos antes que:
El campo en la esfera es:
Por lo tanto:
Y la integral