(%i2) r( t) : =[ 2 * cos( t), sin( t), t] $
wxdraw3d(
        nticks = 100,
        line_width = 3,
        parametric( r( t)[ 1], r( t)[ 2], r( t)[ 3], t, 0, 8)) $        
0 errores, 0 advertencias (%t2)  (Gráficos)

Para calcular el vector tangente unitario hacemos:

(%i3) define( T( t), diff( r( t), t) / sqrt( diff( r( t), t). diff( r( t), t))) ;
(%o3) T ( t ) := [ 2 sin ( t ) 4 sin ( t ) 2 + cos ( t ) 2 + 1 , cos ( t ) 4 sin ( t ) 2 + cos ( t ) 2 + 1 , 1 4 sin ( t ) 2 + cos ( t ) 2 + 1 ]

Ahora sustituimos y dibujamos el vector:

(%i4) T( %pi / 2) ;
(%o4) [ 2 5 , 0 , 1 5 ]
(%i6) print( "La recta tangente en ", r( %pi / 2), "es") $
define( rt( t), r( %pi / 2) + t * T( %pi / 2)) ;
La recta tangente en [ 0 , 1 , π 2 ] es (%o6) rt ( t ) := [ 2 t 5 , 1 , t 5 + π 2 ]

Dibujemos la función y la dirección del vector tangente:

(%i7) wxdraw3d(
        nticks = 100,
        line_width = 3,
        parametric( r( t)[ 1], r( t)[ 2], r( t)[ 3], t, 0, 8),
        color = red, head_length = 0 . 05,
        line_width = 3, vector( r( %pi / 2), T( %pi / 2))) $
(%t7)  (Gráficos)

Created with wxMaxima.