La fórmula secreta de la Coca Cola por José Luis Gómez Muñoz http://www.globalcomputing.com.mx/ Graficando y modificando funciones Los siguientes comandos sirven para para definir una función f HxL = x2 , graficándola de 0 a 1 f@x_D := x2 ; Plot@f@xD, 8x, 0, 1<D 1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0 2 CocaColaPiecewiseTextureExport.nb Para que el eje horizontal y el vertical tengan la misma escala, debemos añadir la opción: AspectRatioÆAutomatic adentro del comando Plot: f@x_D := x2 ; Plot@f@xD, 8x, 0, 1<, AspectRatio → AutomaticD 1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0 CocaColaPiecewiseTextureExport.nb Aquí cambiamos un poco la función subiéndola 0.5 unidades, y además ponemos la opción AxesOriginÆ{0,0} La cual forza a Mathematica a dibujar los ejes cruzándose en el origen, que es lo que usualmente hacemos en un dibujo a mano: f@x_D := 0.5 + x2 ; Plot@f@xD, 8x, 0, 1<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1.0 3 4 CocaColaPiecewiseTextureExport.nb Cambiamos un signo en la función, haciendo que abra hacia abajo: f@x_D := 0.5 − x2 ; Plot@f@xD, 8x, 0, 1<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 0.4 0.2 0.2 -0.2 -0.4 0.4 0.6 0.8 1.0 CocaColaPiecewiseTextureExport.nb Volvemos a cambiar la función, moviéndola 0.4 unidades a la derecha: f@x_D := 0.5 − Hx − 0.4L2 ; Plot@f@xD, 8x, 0, 1<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 0.5 0.4 0.3 0.2 0.1 0.2 0.4 0.6 0.8 1.0 Ahora hacemos que la variación en alturas sea menor multiplicando por 0.3: f@x_D := 0.5 − 0.3 Hx − 0.4L2 ; Plot@f@xD, 8x, 0, 1<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 0.5 0.4 0.3 0.2 0.1 0.2 0.4 0.6 0.8 1.0 5 6 CocaColaPiecewiseTextureExport.nb Ahora graficamos de 0 a 2: f@x_D := 0.5 − 0.3 Hx − 0.4L2 ; Plot@f@xD, 8x, 0, 2<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 0.5 0.4 0.3 0.2 0.1 0.5 1.0 1.5 2.0 -0.1 -0.2 Ahora graficamos un logaritmo natural. En Mathematica el comando Log[x] da el logartimo natural, el que en las calculadoras aparece como ln(x) f@x_D := Log@x + 1D; H∗Log es logaritmo natural∗L Plot@f@xD, 8x, 0, 2<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 1.0 0.8 0.6 0.4 0.2 0.5 1.0 1.5 2.0 CocaColaPiecewiseTextureExport.nb Composición de funciones con una función exponencial ‰-Hx-1L f@x_D := ExpA−Hx − 1L2 E; Plot@f@xD, 8x, 0, 2<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 1.0 0.8 0.6 0.4 0.2 0.5 1.0 1.5 2.0 2 7 8 CocaColaPiecewiseTextureExport.nb Composición de funciones con una función trigonométrica senoIx4 ) f@x_D := SinAx4 E; Plot@f@xD, 8x, 0, 2<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 1.0 0.5 0.5 -0.5 -1.0 1.0 1.5 2.0 CocaColaPiecewiseTextureExport.nb Superficies de Revolución Los siguientes comandos sirven para para definir la función g HxL = x2 , graficandola de 0 a 0.5 g@x_D := x2 ; Plot@g@xD, 8x, 0, 0.5<, AspectRatio → Automatic, AxesOrigin → 80, 0< D 0.25 0.20 0.15 0.10 0.05 0.1 0.2 0.3 0.4 0.5 9 10 CocaColaPiecewiseTextureExport.nb A continuación usamos la función g (que fue definida arriba) para graficar la ecuación x = y 2 ParametricPlot@8g@yD, y<, 8y, 0, 0.5<D 0.5 0.4 0.3 0.2 0.1 0.05 0.10 0.15 0.20 0.25 CocaColaPiecewiseTextureExport.nb Reemplaza "ParametricPlot" con "RevolutionPlot3D" y se obtiene la superficie generada por la rotación de la curva x = y 2 alrededor del eje y: RevolutionPlot3D@8g@yD, y<, 8y, 0, 0.5<D 11 12 CocaColaPiecewiseTextureExport.nb Una pieza de ajedrez Supón que queremos fabricar un juego de ajedrez. Por ejemplo para crear un peón se puede generar al girar la siguiente función alrededor del eje. Aquí x y f(x) están dadas en centímetros: 1 - 2x 0§x§1 1 2 f(x)= 3 4 1<x§3 - Ix - 72 M 2 3<x§4 Primero definimos la función peon(x) usando el comando Piecewise, y la graficamos: peon@x_D := PiecewiseB: :1 − x 2 , 0 < x < 1>, 1 : , 1 < x < 3>, 2 3 7 2 : − x− , 3 < x < 4> 4 2 >F; Plot@peon@xD, 8x, 0, 4<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 1.0 0.8 0.6 0.4 0.2 1 2 3 4 CocaColaPiecewiseTextureExport.nb 13 Usamos la función peon(x) (que fue creada en el comando anterior) y el comando ParametricPlot para graficar la ecuación x=peon(y) ParametricPlot@8peon@yD, y<, 8y, 0, 4<, PlotRange → AllD 4 3 2 1 0.2 0.4 0.6 0.8 1.0 14 CocaColaPiecewiseTextureExport.nb Reemplaza "ParametricPlot" con "RevolutionPlot3D" y se obtiene la superficie generada por la rotación de la curva x = peon HyL alrededor del eje y RevolutionPlot3D@8peon@yD, y<, 8y, 0, 4<, PlotRange → AllD CocaColaPiecewiseTextureExport.nb Con la opción MeshØNone se puede obtener la superficie sin la malla: RevolutionPlot3D@8peon@yD, y<, 8y, 0, 4.05<, PlotRange → All, Mesh → NoneD Imagen en la superficie El comando Directoy[ ] muestra el directorio donde Mathematica buscará documentos. El resultado de este comando será diferente en tu computadora: Directory@D C:\Users\L00698076\Dropbox\SetDirectory El comando FileNames[“*.jpg”] permite mostrar las imágenes JPG que están en el directorio. El resultado de este comando será diferente en tu computadora. Si obtienes como resultado una lista vacía, obtén una imagen JPG de internet y guárdala en el 15 16 CocaColaPiecewiseTextureExport.nb directorio donde Mathematica busca archivos, es decir, en el directorio que obtuviste como resultado arriba, al ejecutar el comando Directory[ ] FileNames@"∗.jpg"D 8ambassadors.jpg, lennablue.jpg, lenna.jpg< Escoge una de las imágenes JPG que aparecieron en tu computadora, y guárdala en la variable imagen, como se muestra abajo: imagen = Import@"ambassadors.jpg"D CocaColaPiecewiseTextureExport.nb 17 A continuación la imagen alrededor del peón. La función peon[y] fue definida más arriba en este documento, y la imagen fue guardada en imagen en el comando anterior (EN MATHEMATICA PUEDES GIRAR LA IMAGEN EN 3D CON EL RATÓN). La figura tridimensional se guarda en la variable peonsolido, como se muestra abajo: peonsolido = RevolutionPlot3D@8peon@yD, y<, 8y, 0, 4.05<, Mesh → None, PlotStyle → Texture@imagenDD 18 CocaColaPiecewiseTextureExport.nb Volumen de la pieza de ajedrez La siguiente fórmula permite calcular el volumen de un sólido de revolución: yend volumen=Ÿyini p ◊ Hf @yDL2 „ y A continuación se usa el comando NIntegrate para calcular el volumen del peón: NIntegrateAπ ∗ Hpeon@yDL2 , 8y, 0, 4<E 4.81711 Este número significa que, si el peón va a ser fabricado de plata, contendrá 4.8 centímetros cúbicos de plata. Si tenemos el costo de un centímetro cúbico de plata, podemos multiplicarlo por 4.8 para conocer el costo del material necesario para fabricar este peón. Exportando la figura final A continuación se guarda el dibujo del perfil del peón en la variable peonplano: peonplano = Plot@peon@xD, 8x, 0, 4<, AspectRatio → Automatic, AxesOrigin → 80, 0<D 1.0 0.8 0.6 0.4 0.2 1 2 3 4 CocaColaPiecewiseTextureExport.nb 19 A continuación se juntan la figura tridimensional peonsolido, la figura peonplano y la función peon[x] (las tres fueron definidas más arriba) en una figura llamada final, la cual será exportada más abajo en un archivo JPG. En la etiqueta PlotLabel pon tú número de estudiante (matrícula), como se muestra abajo: final = GraphicsGrid@ 8 8peon@xD, peonsolido <, 8 peonplano, SpanFromAbove< <, Frame → All, PlotLabel → "ALUMNO: Fulano de Tal A00123456", ImageSize → LargeD Abajo exportamos la figura llamada final, que fue definida arriba, que contiene el peón y su función, y que tiene en la etiqueta tú número de matrícula en un archivo JPG: 20 CocaColaPiecewiseTextureExport.nb Export@"peon.jpg", final, ImageSize → LargeD peon.jpg El comando FileNames[“*.jpg”] nos muestra que sí exportamos la imagen como un archivo JPG. FileNames@"∗.jpg"D 8ambassadors.jpg, lennablue.jpg, lenna.jpg, peon.jpg< Primer ejercicio: La fórmula secreta de la Coca Cola a) Construye la expresión de una función seccionada (usando Piecewise) tal que cuando sea rotada alrededor del eje genere una botella de Coca Cola, como se muestra en la imagen abajo. Tu botella de Coca Cola debe tener 18 centímetros de alto. b) Calcula el volumen de tu botella con la siguiente fórmula para calcular el volumen: 18 volumen=Ÿ0 p ◊ Hf @yDL2 „ y Usa el comando NIntegrate, como se hizo con el peón, mas arriba en este documento El volumen de tu botella de Coca Cola debe ser cercano a los 237 centímetros cúbicos (237 mililitros), que es el volumen de una botella real de 18 centímetros de alto. c) Ponle una imagen (etiqueta) a tu botella de Coca Cola d) Exporta tu Coca Cola tridimensional con etiqueta, junton la función que usaste para crearla, en un archivo JPG con tu número de matrícula. Envía ese archivo JPG al instructor mediante el programa o red social que él o ella te haya indicado. CocaColaPiecewiseTextureExport.nb 21 Segundo ejercicio: El florero Construye la expresión de una función seccionada (usando Piecewise) tal que cuando sea rotada alrededor del eje genere una superficie que se vea exactamente como el siguiente florero. Usa el comando Texture para ponerle una imagen en la superficie, como se hizo con el peón. Exporta tu florero tridimensional con imagen, junton la función que usaste para crearlo, en un archivo JPG con tu número de matrícula. Envía ese archivo JPG al instructor mediante el programa o red social que él o ella te haya indicado. 22 CocaColaPiecewiseTextureExport.nb Autor: José Luis Gómez Muñoz http://www.globalcomputing.com.mx/ $Version 9.0 for Microsoft Windows H64−bitL HJanuary 25, 2013L DateString@D Tue 22 Oct 2013 15:41:16