
The following tikz code is a result of a double translation.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\definecolor{cff0000}{RGB}{255,0,0}
\definecolor{c0000ff}{RGB}{0,0,255}
\begin{tikzpicture}[y=0.80pt,x=0.80pt,yscale=-1, inner sep=0pt, outer sep=0pt]
\begin{scope}[cm={{0.996,0.0,0.0,0.996,(0.0,0.0)}}]
\begin{scope}[cm={{1.0,0.0,0.0,1.0,(57.1229,171.308)}}]
\path[draw=cff0000,line join=round,line cap=round,miter limit=10.04,line
width=0.803pt] (0.0000,0.0000) .. controls (63.5042,-23.1136) and
(123.7280,-141.1820) .. (166.7340,-66.6936) .. controls (192.1080,-22.7441)
and (250.0570,-15.1248) .. (300.1210,-33.3468);
\end{scope}
\begin{scope}[cm={{1.0,0.0,0.0,1.0,(57.1229,171.308)}}]
\path[fill=black] (111.2830,-82.0534) .. controls (111.2830,-84.0025) and
(109.7030,-85.5826) .. (107.7540,-85.5826) .. controls (105.8050,-85.5826) and
(104.2250,-84.0025) .. (104.2250,-82.0534) .. controls (104.2250,-80.1043) and
(105.8050,-78.5242) .. (107.7540,-78.5242) .. controls (109.7030,-78.5242) and
(111.2830,-80.1043) .. (111.2830,-82.0534) -- cycle;
\end{scope}
\begin{scope}[cm={{1.0,0.0,0.0,1.0,(57.1229,171.308)}}]
\path[draw=c0000ff,line join=round,line cap=round,miter limit=10.04,line
width=0.401pt] (50.9475,-47.1101) -- (164.5610,-116.9970);
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}
It was obtained by means of svg2tikz from the t.svg file,
which was built by asy -f svg t.asy command. The source text is
a direct line-by-line translation from the MetaPost version
(MP code is commented with //),
basically a minor syntactic differences, t.asy:
size(300);
//
// % Specify a path
// path p;
path p;
// p := (0,0) {dir 20} .. {dir -60} (5,2) .. {dir 20} (9,1);
p = (0,0) {dir( 20)} .. {dir( -60)} (5,2) .. {dir( 20)} (9,1);
// p := p scaled 1cm;
p = scale(1cm)*p;
// % Draw the path
// draw p withpen pencircle scaled 1bp withcolor red;
draw(p, red+1bp);
// % Specify a time along the path
// numeric ta; ta := 0.6;
real ta=0.6;
// % Pick the point at that time
// pair a; a := point ta of p;
pair a = point(p, ta);
// % Draw the point
// fill fullcircle scaled 3bp shifted a;
fill(shift(a)*scale(3bp)*unitcircle);
//
// % Draw a tangent at a particular point
// path tangent; tangent := (-2cm,0) -- (2cm,0);
path tangent=(-2cm,0) -- (2cm,0);
// tangent := tangent rotated (angle direction ta of p) shifted a;
tangent = shift(a)*rotate(degrees(dir(p,ta)))*tangent;
//
// draw tangent withcolor blue;
draw(tangent,blue);
pos=0.695, and draw a line over them and extend the line. – percusse Aug 17 '11 at 11:59