{"id":24161,"date":"2026-03-07T12:25:01","date_gmt":"2026-03-07T17:25:01","guid":{"rendered":"https:\/\/blog.espol.edu.ec\/algoritmos101\/?p=24161"},"modified":"2026-04-16T07:23:43","modified_gmt":"2026-04-16T12:23:43","slug":"curvas-parametricas-2d-derivadas","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/cv-unidades\/curvas-parametricas-2d-derivadas\/","title":{"rendered":"2.1 Curvas param\u00e9tricas en 2D - Derivadas, Tangentes con Python"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#ejemplo\">Ejemplo<\/a><\/p>\n\n\n\n<p><a href=\"#analitico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejemplo\">1. Ejemplo - Trayectoria 2D de una part\u00edcula<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Stewart 10.2 Ejemplo 1 p650<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2026\/04\/CurvasParametricasTangente_ani.gif\" alt=\"Curvas Param\u00e9tricas Tangente gr\u00e1fico animado\" class=\"wp-image-24169\" \/><\/figure>\n\n\n\n<p>Una curva C est\u00e1 definida por las ecuaciones param\u00e9tricas<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x = t^2 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y = t^3 - 3t <\/span>\n\n\n\n<p>a. Trace la curva y su tangente.<\/p>\n\n\n\n<p>b. Demuestre que C tiene dos rectas tangentes en el punto (3,0) y encuentre sus ecuaciones.<\/p>\n\n\n\n<p>c. Encuentre el punto C donde la recta tangente es horizontal o vertical.<\/p>\n\n\n\n<p>d. Determine d\u00f3nde la curva es c\u00f3ncava hacia arriba o hacia abajo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"analitico\">1.1 Desarrollo Anal\u00edtico<\/h3>\n\n\n\n<p>Se obtienen las derivadas a ser usadas en la gr\u00e1fica<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dx}{dt} = 2t <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dy}{dt} = 3t^2 - 3 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dy}{dx} =\\frac{\\frac{dy}{dt}}{\\frac{dx}{dt}} = \\frac{3t^2 - 3}{2t} <\/span>\n\n\n\n<p>Se realizar\u00e1 la observaci\u00f3n en la gr\u00e1fica para el intervalo de tiempo entre [-2,2] con 9 muestras.<\/p>\n\n\n\n<p>Se selecciona un punto de ejemplo t<sub>0<\/sub> = 2 para trazar la tangente a la trayectoria en el plano xy.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dx}{dt} = 2t = 2(2) = 4 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dy}{dt} = 3t^2 - 3 =  3(2)^2 - 3 = 9<\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f'(x_0) = \\frac{dy}{dx} =\\frac{9}{4} =2.25 <\/span>\n\n\n\n<p>La tangente se modela con la recta:<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y = f'(x_0)x + b_0 <\/span>\n\n\n\n<p>en conocimiento que para el ejercicio, la tangente pasa por el punto [x<sub>0<\/sub>,y<sub>0<\/sub>], se reemplaza y despeja b<sub>0<\/sub>,<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_0 = f'(x_0)x_0 + b_0 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b_0 = y_0 - f'(x_0)x_0 <\/span>\n\n\n\n<p>La ecuaci\u00f3n de la recta tangente se expresa como,<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tan_{xy} = f'(x_0)x +(y_0 - f'(x_0)x_0) <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tan_{xy} = f'(x_0)(x-x_0) +y_0 <\/span>\n\n\n\n<p>Se eval\u00faan los valores para observaci\u00f3n en x<sub>0<\/sub>,y<sub>0<\/sub> para t<sub>0<\/sub>, y se reemplazan en la ecuaci\u00f3n.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_0 = t^2 = (2)^2 = 4 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y _0= t^3 - 3t  =(2)^3-3(2) = 2<\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tan_{xy} = 2.25(x-4) +2 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> tan_{xy} = 2.25x-7 <\/span>\n\n\n\n<p>Expresi\u00f3n usada para trazar la gr\u00e1fica en el intervalo del eje x del ejercicio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"algoritmo\">1.2 Algoritmo en Python<\/h3>\n\n\n\n<p>Se usa la opci\u00f3n de tratar las ecuaciones con Sympy en forma simb\u00f3lica para obtener las derivadas de cada ecuaci\u00f3n con sym.diff().<\/p>\n\n\n\n<p>Para evaluaci\u00f3n num\u00e9rica, se convierten con sym.lambdify() que facilita el c\u00e1lculo num\u00e9rico vectorial para las gr\u00e1ficas.<\/p>\n\n\n\n<p>Las expresiones algebraicas se guardan en un diccionario para ser mostradas al final del bloque de salida, o recuperarse para otro algoritmo.<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>Curvas param\u00e9tricas, derivadas\nfx = t**2\nfy = t**3 - 3*t\ndx\/dt = 2*t\ndy\/dt = 3*t**2 - 3\ndy\/dx = 3*(t**2 - 1)\/(2*t)\nt0,x0,y0 = &#091;2, 4, 2]\ntan_xy = 2.25*x - 7.0\n\ni,&#091;ti, xi, yi, dx\/dt, dy\/dt, dy\/dx]\n0 &#091;-2.0, 4.0, -2.0, -4.0, 9.0, -2.25]\n1 &#091;-1.5, 2.25, 1.125, -3.0, 3.75, -1.25]\n2 &#091;-1.0, 1.0, 2.0, -2.0, 0.0, -0.0]\n3 &#091;-0.5, 0.25, 1.375, -1.0, -2.25, 2.25]\n4 &#091;0.0, 0.0, 0.0, 0.0, -3.0, -inf]\n5 &#091;0.5, 0.25, -1.375, 1.0, -2.25, -2.25]\n6 &#091;1.0, 1.0, -2.0, 2.0, 0.0, 0.0]\n7 &#091;1.5, 2.25, -1.125, 3.0, 3.75, 1.25]\n8 &#091;2.0, 4.0, 2.0, 4.0, 9.0, 2.25]<\/code><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Ejercicio Stewart 10.2 Ejemplo1 p650\n# derivadas con sympy\nimport numpy as np\nimport sympy as sym\n\n# INGRESO\nt = sym.Symbol('t')\nfx = t**2\nfy = t**3-3*t\n\na = -2 # intervalo entre &#x5B;a,b]\nb = 2\nmuestras = 9\n\nt0 = 2 # Observacion en tiempo\n\ntitulo = 'Curvas param\u00e9tricas, derivadas'\n\n# PROCEDIMIENTO\n# Derivadas, formula Sympy\ndxdt = sym.diff(fx,t,1)\ndydt = sym.diff(fy,t,1)\ndydx = sym.simplify(dydt\/dxdt)\n\necuacion = {'fx':fx,'fy':fy,\n            'dx\/dt':dxdt,\n            'dy\/dt':dydt,\n            'dy\/dx':dydx}\n# formula Numpy\nfx = sym.lambdify(t,fx)\nfy = sym.lambdify(t,fy)\ndxdt = sym.lambdify(t,dxdt)\ndydt = sym.lambdify(t,dydt)\ndydx = dydt(t)\/dxdt(t)\n\n# curva en intervalo &#x5B;a,b]\nti = np.linspace(a,b,muestras)\nxi = fx(ti)\nyi = fy(ti)\n# derivadas\ndxdti = dxdt(ti)\ndydti = dydt(ti)\ndydxi = dydti\/dxdti\n\n# Observacion en tiempo\nx0 = fx(t0)\ny0 = fy(t0)\ndx0 = dxdt(t0)\ndy0 = dydt(t0)\ndydx0 = dy0\/dx0\n\n# tangente x,y\ntan_xy = lambda x: dydx0*(x-x0)+y0\ntan_xi = np.linspace(np.min(xi),np.max(xi),muestras)\ntan_yi = tan_xy(tan_xi)\nx = sym.Symbol('x')\necuacion&#x5B;'t0,x0,y0'] = &#x5B;t0,x0,y0]\necuacion&#x5B;'tan_xy']= dydx0*(x-x0)+y0\n\n# SALIDA\nprint(titulo)\nfor una_eq in ecuacion:\n    print(una_eq,'=', ecuacion&#x5B;una_eq])\n    \nprint('i,&#x5B;ti, xi, yi, dx\/dt, dy\/dt, dy\/dx]')\nfor i in range(0,muestras,1):\n    print(i,&#x5B;ti&#x5B;i],xi&#x5B;i],yi&#x5B;i],dxdti&#x5B;i],dydti&#x5B;i],dydxi&#x5B;i]])\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"grafica\">1.3 Gr\u00e1fica con Python<\/h3>\n\n\n\n<p>La gr\u00e1fica se realiza con 3 sub-gr\u00e1ficas: trayectoria (x,y), velocidad dy\/dt, velocidad dx\/dt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2026\/04\/CurvasParametricasTangente_graf01.png\" alt=\"Curvas Param\u00e9tricas Tangente gr\u00e1fica 01\" class=\"wp-image-24250\" \/><\/figure>\n\n\n\n<p>Semejante a los ejercicios anteriores, se suaviza la curva aumentando el n\u00famero de muestras en tk.<\/p>\n\n\n\n<p>Las tangentes se trazan en el punto seleccionado en t<sub>0<\/sub>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ---------------------\nimport matplotlib.pyplot as plt\n\n# suavizar la curva\nmuestras_graf = 5*muestras\nverdecimales = 4\n\ntk = np.linspace(a,b,muestras_graf)\nxk = fx(tk)\nyk = fy(tk)\ndt = ti&#x5B;1]-ti&#x5B;0]\n\ndeltay = np.abs(np.max(yi)-np.min(yi))*0.05\n\nplt.subplot(221)\nplt.plot(ti,dxdti,label='dx\/dt')\nplt.plot(ti,dxdti,'o',color='lightgray')\nplt.plot(t0,dx0,'o')\n# entorno de grafica\nplt.axvline(0,color='lightgreen',linestyle='dashed')\nplt.axhline(0,color='gray',linestyle='dotted')\nplt.ylabel('t')\nplt.legend()\n\nplt.subplot(223)\nplt.plot(xk,yk,label='x,y')\nplt.plot(xi,yi,'o',color='lightgray')\nplt.plot(x0,y0,'o')\nplt.plot(tan_xi,tan_yi,label='tangente')\n# entorno de grafica\nplt.ylim(np.min(yk)-deltay,np.max(yk)+deltay)\nplt.axhline(0,color='gray',linestyle='dashed')\nplt.axvline(0,color='gray',linestyle='dotted')\nplt.xlabel('x')\nplt.ylabel('y')\nplt.legend()\n\nplt.subplot(224)\nplt.plot(ti,dydti,label='dy\/dt')\nplt.plot(ti,dydti,'o',color='lightgray')\nplt.plot(t0,dy0,'o')\n# entorno de grafica\nplt.axhline(0,color='lightgreen',linestyle='dashed')\nplt.axvline(0,color='gray',linestyle='dotted')\nplt.xlabel('t')\nplt.legend()\n\nplt.suptitle(titulo)\nplt.show()\n<\/pre><\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejemplo anal\u00edtico algoritmo gr\u00e1fica 1. Ejemplo - Trayectoria 2D de una part\u00edcula Referencia: Stewart 10.2 Ejemplo 1 p650 Una curva C est\u00e1 definida por las ecuaciones param\u00e9tricas a. Trace la curva y su tangente. b. Demuestre que C tiene dos rectas tangentes en el punto (3,0) y encuentre sus ecuaciones. c. Encuentre el punto C [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"wp-custom-template-entrada-fp-unidades","format":"standard","meta":{"footnotes":""},"categories":[238],"tags":[],"class_list":["post-24161","post","type-post","status-publish","format-standard","hentry","category-cv-unidades"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/24161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=24161"}],"version-history":[{"count":25,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/24161\/revisions"}],"predecessor-version":[{"id":24290,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/24161\/revisions\/24290"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=24161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=24161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=24161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}